Query Monitor - Version 3.9.0

Version Description

Download this release

Release Info

Developer johnbillion
Plugin Icon 128x128 Query Monitor
Version 3.9.0
Comparing to
See all releases

Code changes from version 3.8.2 to 3.9.0

assets/query-monitor-dark.css DELETED
@@ -1,1248 +0,0 @@
1
- @charset "UTF-8";
2
- /**
3
- * The dark colour scheme for Query Monitor.
4
- *
5
- * @package query-monitor
6
- */
7
- #wpadminbar .quicklinks .menupop ul li.qm-true > a {
8
- color: #8c8 !important;
9
- }
10
- #wpadminbar .quicklinks .menupop ul li.qm-true > a:focus, #wpadminbar .quicklinks .menupop ul li.qm-true > a:hover {
11
- color: #47a747 !important;
12
- }
13
- #wpadminbar .qm-alert {
14
- background-color: #f60;
15
- }
16
- #wpadminbar .qm-alert:hover {
17
- background-color: #e65c00;
18
- }
19
- #wpadminbar #wp-admin-bar-query-monitor-stricts a,
20
- #wpadminbar #wp-admin-bar-query-monitor-deprecateds a,
21
- #wpadminbar #wp-admin-bar-query-monitor-notices a,
22
- #wpadminbar .qm-strict,
23
- #wpadminbar .qm-deprecated,
24
- #wpadminbar .qm-notice {
25
- background-color: #740;
26
- }
27
- #wpadminbar #wp-admin-bar-query-monitor-expensive a,
28
- #wpadminbar .qm-expensive {
29
- background-color: #b60;
30
- }
31
- #wpadminbar #wp-admin-bar-query-monitor-expensive a:hover,
32
- #wpadminbar .qm-expensive:hover {
33
- background-color: #915700;
34
- }
35
- #wpadminbar #wp-admin-bar-query-monitor-logger-warning a,
36
- #wpadminbar #wp-admin-bar-query-monitor-warnings a,
37
- #wpadminbar #wp-admin-bar-query-monitor-errors a,
38
- #wpadminbar .qm-error,
39
- #wpadminbar .qm-warning {
40
- background-color: #c00;
41
- }
42
- #wpadminbar #wp-admin-bar-query-monitor-logger-warning a:hover,
43
- #wpadminbar #wp-admin-bar-query-monitor-warnings a:hover,
44
- #wpadminbar #wp-admin-bar-query-monitor-errors a:hover,
45
- #wpadminbar .qm-error:hover,
46
- #wpadminbar .qm-warning:hover {
47
- background-color: #b30000;
48
- }
49
- #wpadminbar #wp-admin-bar-query-monitor .ab-icon {
50
- color: #aaa !important;
51
- display: none !important;
52
- font: 18px/44px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
53
- padding: 0 10px !important;
54
- width: auto !important;
55
- }
56
- @media screen and (max-width: 782px) {
57
- #wpadminbar #wp-admin-bar-query-monitor .ab-icon {
58
- display: block !important;
59
- }
60
- #wpadminbar #wp-admin-bar-query-monitor .ab-label {
61
- display: none !important;
62
- }
63
- }
64
-
65
- #wp-admin-bar-query-monitor *,
66
- #wp-admin-bar-query-monitor {
67
- direction: ltr !important;
68
- text-align: left !important;
69
- }
70
-
71
- body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover):not(.hover) .ab-label,
72
- #wp-admin-bar-query-monitor-default .qm-alert a,
73
- #wp-admin-bar-query-monitor-default .qm-error a,
74
- #wp-admin-bar-query-monitor-default .qm-warning a,
75
- #wp-admin-bar-query-monitor-deprecateds a,
76
- #wp-admin-bar-query-monitor-stricts a,
77
- #wp-admin-bar-query-monitor-notices a,
78
- #wp-admin-bar-query-monitor-expensive a,
79
- #wp-admin-bar-query-monitor-logger-warning a,
80
- #wp-admin-bar-query-monitor-warnings a,
81
- #wp-admin-bar-query-monitor-errors a {
82
- color: #eee !important;
83
- }
84
-
85
- #wp-admin-bar-query-monitor small {
86
- font-size: 11px !important;
87
- }
88
-
89
- #wp-admin-bar-query-monitor.hover a small,
90
- #wp-admin-bar-query-monitor.hover a .ab-label {
91
- text-shadow: none !important;
92
- }
93
-
94
- #wp-admin-bar-query-monitor-placeholder,
95
- #wp-admin-bar-query-monitor-default {
96
- display: none;
97
- }
98
-
99
- #query-monitor-main dl,
100
- #query-monitor-main dt,
101
- #query-monitor-main dd,
102
- #query-monitor-main button,
103
- #query-monitor-main caption,
104
- #query-monitor-main label,
105
- #query-monitor-main select,
106
- #query-monitor-main table,
107
- #query-monitor-main td,
108
- #query-monitor-main th,
109
- #query-monitor-main ul,
110
- #query-monitor-main ol,
111
- #query-monitor-main li,
112
- #query-monitor-main code,
113
- #query-monitor-main pre,
114
- #query-monitor-main a,
115
- #query-monitor-main h1,
116
- #query-monitor-main h2,
117
- #query-monitor-main h3,
118
- #query-monitor-main h4,
119
- #query-monitor-main h5,
120
- #query-monitor-main h6,
121
- #query-monitor-main section,
122
- #query-monitor-main nav,
123
- #query-monitor-main p {
124
- background: transparent !important;
125
- border: none !important;
126
- border-radius: 0 !important;
127
- box-shadow: none !important;
128
- box-sizing: border-box !important;
129
- clear: both !important;
130
- color: #eaeef2 !important;
131
- float: none !important;
132
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
133
- font-size: 12px !important;
134
- -webkit-font-smoothing: auto !important;
135
- font-style: normal !important;
136
- font-weight: normal !important;
137
- letter-spacing: -0.1px !important;
138
- line-height: 18px !important;
139
- margin: 0 !important;
140
- min-height: auto !important;
141
- outline: none !important;
142
- padding: 0 !important;
143
- text-align: left !important;
144
- text-decoration: none !important;
145
- text-indent: 0 !important;
146
- text-shadow: none !important;
147
- text-transform: none !important;
148
- transition: none !important;
149
- vertical-align: baseline !important;
150
- word-break: normal !important;
151
- word-wrap: normal !important;
152
- width: auto !important;
153
- }
154
- #query-monitor-main dl::before, #query-monitor-main dl::after,
155
- #query-monitor-main dt::before,
156
- #query-monitor-main dt::after,
157
- #query-monitor-main dd::before,
158
- #query-monitor-main dd::after,
159
- #query-monitor-main button::before,
160
- #query-monitor-main button::after,
161
- #query-monitor-main caption::before,
162
- #query-monitor-main caption::after,
163
- #query-monitor-main label::before,
164
- #query-monitor-main label::after,
165
- #query-monitor-main select::before,
166
- #query-monitor-main select::after,
167
- #query-monitor-main table::before,
168
- #query-monitor-main table::after,
169
- #query-monitor-main td::before,
170
- #query-monitor-main td::after,
171
- #query-monitor-main th::before,
172
- #query-monitor-main th::after,
173
- #query-monitor-main ul::before,
174
- #query-monitor-main ul::after,
175
- #query-monitor-main ol::before,
176
- #query-monitor-main ol::after,
177
- #query-monitor-main li::before,
178
- #query-monitor-main li::after,
179
- #query-monitor-main code::before,
180
- #query-monitor-main code::after,
181
- #query-monitor-main pre::before,
182
- #query-monitor-main pre::after,
183
- #query-monitor-main a::before,
184
- #query-monitor-main a::after,
185
- #query-monitor-main h1::before,
186
- #query-monitor-main h1::after,
187
- #query-monitor-main h2::before,
188
- #query-monitor-main h2::after,
189
- #query-monitor-main h3::before,
190
- #query-monitor-main h3::after,
191
- #query-monitor-main h4::before,
192
- #query-monitor-main h4::after,
193
- #query-monitor-main h5::before,
194
- #query-monitor-main h5::after,
195
- #query-monitor-main h6::before,
196
- #query-monitor-main h6::after,
197
- #query-monitor-main section::before,
198
- #query-monitor-main section::after,
199
- #query-monitor-main nav::before,
200
- #query-monitor-main nav::after,
201
- #query-monitor-main p::before,
202
- #query-monitor-main p::after {
203
- display: none !important;
204
- }
205
- #query-monitor-main {
206
- background: transparent !important;
207
- border: none !important;
208
- border-radius: 0 !important;
209
- box-shadow: none !important;
210
- box-sizing: border-box !important;
211
- clear: both !important;
212
- color: #eaeef2 !important;
213
- float: none !important;
214
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
215
- font-size: 12px !important;
216
- -webkit-font-smoothing: auto !important;
217
- font-style: normal !important;
218
- font-weight: normal !important;
219
- letter-spacing: -0.1px !important;
220
- line-height: 18px !important;
221
- margin: 0 !important;
222
- min-height: auto !important;
223
- outline: none !important;
224
- padding: 0 !important;
225
- text-align: left !important;
226
- text-decoration: none !important;
227
- text-indent: 0 !important;
228
- text-shadow: none !important;
229
- text-transform: none !important;
230
- transition: none !important;
231
- vertical-align: baseline !important;
232
- word-break: normal !important;
233
- word-wrap: normal !important;
234
- background: #23282d !important;
235
- border-top: 1px solid #50626f !important;
236
- bottom: 0 !important;
237
- contain: layout paint;
238
- direction: ltr !important;
239
- display: none;
240
- left: 0 !important;
241
- margin: 0 !important;
242
- position: fixed;
243
- right: 0 !important;
244
- text-align: left !important;
245
- z-index: 99998 !important;
246
- }
247
- #query-monitor-main::before, #query-monitor-main::after {
248
- display: none !important;
249
- }
250
- #query-monitor-main ::selection {
251
- background-color: #B9D6FB !important;
252
- color: #eaeef2 !important;
253
- }
254
- #query-monitor-main strong,
255
- #query-monitor-main b {
256
- font-weight: bold !important;
257
- }
258
- #query-monitor-main em,
259
- #query-monitor-main i {
260
- font-style: italic !important;
261
- }
262
- #query-monitor-main.qm-show, #query-monitor-main.qm-peek {
263
- display: flex;
264
- flex-direction: column !important;
265
- height: 27px;
266
- }
267
- #query-monitor-main.qm-show {
268
- height: 40%;
269
- width: 40%;
270
- }
271
- #query-monitor-main:not(.qm-show-right) {
272
- width: 100% !important;
273
- }
274
- #query-monitor-main.qm-show-right {
275
- height: calc( 100vh - 32px ) !important;
276
- top: 32px !important;
277
- left: unset !important;
278
- border-top: 0 !important;
279
- border-left: 1px solid #50626f !important;
280
- }
281
- #query-monitor-main.qm-show-right #qm-panel-menu,
282
- #query-monitor-main.qm-show-right #qm-title h1.qm-title-heading {
283
- display: none;
284
- }
285
- #query-monitor-main.qm-show-right #qm-title div.qm-title-heading {
286
- display: block;
287
- }
288
- #query-monitor-main.qm-show-right #qm-title {
289
- cursor: default !important;
290
- }
291
- #query-monitor-main.qm-show-right #qm-side-resizer {
292
- background: transparent !important;
293
- cursor: ew-resize !important;
294
- display: block !important;
295
- height: 100% !important;
296
- position: absolute !important;
297
- left: -2px !important;
298
- top: 0 !important;
299
- width: 4px !important;
300
- z-index: 2 !important;
301
- }
302
- #query-monitor-main.qm-show-right.qm-peek {
303
- height: 100vh !important;
304
- top: 0 !important;
305
- }
306
- #query-monitor-main #qm-wrapper {
307
- display: flex;
308
- flex-grow: 1 !important;
309
- /* Fix nested scrolling in Firefox. See https://bugzilla.mozilla.org/show_bug.cgi?id=1043520: */
310
- min-height: 0;
311
- }
312
- #query-monitor-main #qm-title {
313
- align-items: center !important;
314
- background: #32373c !important;
315
- border-bottom: 1px solid #50626f !important;
316
- cursor: ns-resize !important;
317
- display: flex !important;
318
- flex-shrink: 0 !important;
319
- height: 27px !important;
320
- padding: 0 0 0 10px !important;
321
- -moz-user-select: none !important;
322
- -ms-user-select: none !important;
323
- -webkit-user-select: none !important;
324
- user-select: none !important;
325
- }
326
- #query-monitor-main #qm-title .qm-title-heading {
327
- border-right: 1px solid #bbb !important;
328
- flex-grow: 1 !important;
329
- margin-right: 6px !important;
330
- }
331
- #query-monitor-main #qm-title div.qm-title-heading {
332
- display: none;
333
- }
334
- #query-monitor-main #qm-title .qm-title-button {
335
- flex-shrink: 0 !important;
336
- }
337
- #query-monitor-main #qm-title .dashicons {
338
- transition: none !important;
339
- height: 20px !important;
340
- width: 20px !important;
341
- }
342
- #query-monitor-main #qm-title .qm-button-container-close {
343
- margin-right: 10px !important;
344
- }
345
- #query-monitor-main #qm-title .qm-button-container-close .dashicons {
346
- font-size: 20px !important;
347
- margin: 3px 0 3px !important;
348
- }
349
- @media screen and (max-width: 960px) {
350
- #query-monitor-main #qm-title .qm-button-container-position {
351
- display: none !important;
352
- }
353
- }
354
- #query-monitor-main #qm-title button {
355
- background: transparent !important;
356
- color: #bbc8d4 !important;
357
- cursor: pointer !important;
358
- display: inline-block !important;
359
- margin: 0 0 0 0px !important;
360
- min-width: auto !important;
361
- padding: 0px 4px !important;
362
- }
363
- #query-monitor-main #qm-title button:focus *,
364
- #query-monitor-main #qm-title button:hover *,
365
- #query-monitor-main #qm-title button:focus,
366
- #query-monitor-main #qm-title button:hover {
367
- background: #bbc8d4 !important;
368
- color: #32373c !important;
369
- }
370
- #query-monitor-main #qm-title button:active *,
371
- #query-monitor-main #qm-title button:active {
372
- background: #ccc !important;
373
- }
374
- #query-monitor-main #qm-title button.qm-button-active {
375
- color: #3879d9 !important;
376
- }
377
- #query-monitor-main #qm-title .qm-button-container-settings .dashicons {
378
- font-size: 17px !important;
379
- margin: 4px 0 2px !important;
380
- }
381
- #query-monitor-main #qm-title .qm-button-container-position .dashicons {
382
- font-size: 15px !important;
383
- margin: 2px -1px 3px 4px !important;
384
- transform: scaleX(-1) rotate(90deg) !important;
385
- }
386
- #query-monitor-main.qm-show-right #qm-title .qm-button-container-position .dashicons {
387
- margin: 4px 1px 0px 1px !important;
388
- transform: none !important;
389
- }
390
- #query-monitor-main .qm {
391
- display: none !important;
392
- }
393
- #query-monitor-main #qm-panel-menu {
394
- background: #23282d !important;
395
- flex-shrink: 0 !important;
396
- overflow-y: scroll !important;
397
- overscroll-behavior: contain !important;
398
- height: auto !important;
399
- }
400
- #query-monitor-main #qm-panel-menu ul {
401
- display: block !important;
402
- list-style: none !important;
403
- margin: 0 !important;
404
- padding: 0 !important;
405
- width: auto !important;
406
- height: auto !important;
407
- }
408
- #query-monitor-main #qm-panel-menu li {
409
- display: list-item !important;
410
- margin: 0 !important;
411
- padding: 0 !important;
412
- height: auto !important;
413
- }
414
- #query-monitor-main #qm-panel-menu li ul {
415
- display: none !important;
416
- }
417
- #query-monitor-main #qm-panel-menu li button {
418
- background: #23282d !important;
419
- border-bottom: 1px solid #32373c !important;
420
- border-right: 1px solid #50626f !important;
421
- color: #eaeef2 !important;
422
- cursor: pointer !important;
423
- display: block !important;
424
- padding: 6px 32px 6px 10px !important;
425
- position: relative !important;
426
- text-decoration: none !important;
427
- width: 100% !important;
428
- }
429
- #query-monitor-main #qm-panel-menu li button:focus,
430
- #query-monitor-main #qm-panel-menu li button:hover {
431
- background: #3e444a !important;
432
- color: #bbc8d4 !important;
433
- }
434
- #query-monitor-main #qm-panel-menu li button:focus {
435
- text-decoration: underline !important;
436
- }
437
- #query-monitor-main #qm-panel-menu li button:active {
438
- text-decoration: none !important;
439
- background: #0073aa !important;
440
- color: #fff !important;
441
- text-shadow: 0 -1px 1px #006291, 1px 0 1px #006291, 0 1px 1px #006291, -1px 0 1px #006291 !important;
442
- }
443
- #query-monitor-main #qm-panel-menu li.qm-current-menu ul {
444
- display: block !important;
445
- }
446
- #query-monitor-main #qm-panel-menu li.qm-current-menu button {
447
- background: #32373c !important;
448
- color: #eaeef2 !important;
449
- }
450
- #query-monitor-main #qm-panel-menu li.qm-current-menu button:focus {
451
- background: #3e444a !important;
452
- color: #eaeef2 !important;
453
- }
454
- #query-monitor-main #qm-panel-menu li.qm-current-menu button:hover {
455
- background: #3e444a !important;
456
- color: #bbc8d4 !important;
457
- }
458
- #query-monitor-main #qm-panel-menu li li button::before {
459
- content: "└" !important;
460
- display: inline-block !important;
461
- margin-right: 5px !important;
462
- }
463
- #query-monitor-main #qm-panel-menu li button[aria-selected=true] {
464
- background: #0073aa !important;
465
- color: #fff !important;
466
- text-shadow: 0 -1px 1px #006291, 1px 0 1px #006291, 0 1px 1px #006291, -1px 0 1px #006291 !important;
467
- }
468
- #query-monitor-main #qm-panel-menu li button[aria-selected=true]:focus {
469
- background: #0084c4 !important;
470
- color: #fff !important;
471
- }
472
- #query-monitor-main #qm-panel-menu li button[aria-selected=true]:hover {
473
- background: #0073aa !important;
474
- color: #fff !important;
475
- }
476
- #query-monitor-main #qm-panel-menu li button[aria-selected=true]:after {
477
- border: solid 8px transparent;
478
- border-right-color: #23282d;
479
- content: " ";
480
- display: inline-block !important;
481
- height: 0;
482
- margin-top: -8px;
483
- pointer-events: none;
484
- position: absolute;
485
- right: -1px;
486
- top: 50%;
487
- width: 0;
488
- }
489
- #query-monitor-main #qm-panels {
490
- flex-grow: 1 !important;
491
- overflow-y: scroll !important;
492
- overscroll-behavior: contain !important;
493
- }
494
- #query-monitor-main .qm.qm-panel-show {
495
- display: block !important;
496
- }
497
- #query-monitor-main .qm:focus {
498
- outline: 0 !important;
499
- /* @TODO might not need this any more */
500
- }
501
- #query-monitor-main .qm-boxed {
502
- display: flex !important;
503
- flex-wrap: wrap !important;
504
- }
505
- #query-monitor-main .qm-boxed:not(#qm-broken) + .qm-boxed {
506
- border-top: 1px solid #50626f !important;
507
- padding-top: 10px !important;
508
- }
509
- #query-monitor-main .qm-boxed-wrap {
510
- flex-wrap: wrap !important;
511
- }
512
- #query-monitor-main .qm .qm-none {
513
- margin: 2em !important;
514
- }
515
- #query-monitor-main .qm .qm-none p {
516
- font-style: italic !important;
517
- text-align: center !important;
518
- }
519
- #query-monitor-main .qm table {
520
- border: none !important;
521
- border-collapse: collapse !important;
522
- box-shadow: 0px 1px 0px 0px #50626f !important;
523
- color: #eaeef2 !important;
524
- margin: 0 !important;
525
- table-layout: auto !important;
526
- width: 100% !important;
527
- }
528
- #query-monitor-main .qm table + table {
529
- border-top: 1px solid #23282d !important;
530
- margin-top: 5px !important;
531
- }
532
- #query-monitor-main .qm tr {
533
- border: none !important;
534
- }
535
- #query-monitor-main .qm tbody th,
536
- #query-monitor-main .qm tbody td,
537
- #query-monitor-main .qm tfoot th,
538
- #query-monitor-main .qm tfoot td {
539
- border: 1px solid #23282d !important;
540
- padding: 5px 5px 4px 5px !important;
541
- vertical-align: top !important;
542
- }
543
- #query-monitor-main .qm tbody th,
544
- #query-monitor-main .qm tbody td {
545
- border-bottom: none !important;
546
- border-top: none !important;
547
- }
548
- #query-monitor-main .qm thead th {
549
- background: #32373c !important;
550
- border: 1px solid #23282d !important;
551
- border-top: none !important;
552
- box-shadow: 0px 1px 0px #23282d !important;
553
- padding: 5px !important;
554
- position: -webkit-sticky !important;
555
- position: sticky !important;
556
- top: 0 !important;
557
- z-index: 1 !important;
558
- }
559
- #query-monitor-main .qm thead th,
560
- #query-monitor-main .qm thead td {
561
- vertical-align: top !important;
562
- }
563
- #query-monitor-main .qm thead .qm-th {
564
- display: flex !important;
565
- }
566
- #query-monitor-main .qm tfoot tr td,
567
- #query-monitor-main .qm tfoot tr th {
568
- background: #32373c !important;
569
- border: none !important;
570
- bottom: 0 !important;
571
- box-shadow: inset 0px 1px 0px #23282d !important;
572
- position: -webkit-sticky !important;
573
- position: sticky !important;
574
- }
575
- #query-monitor-main .qm th:first-child,
576
- #query-monitor-main .qm td:first-child {
577
- border-left: none !important;
578
- }
579
- #query-monitor-main .qm th:last-child,
580
- #query-monitor-main .qm td:last-child {
581
- border-right: none !important;
582
- }
583
- #query-monitor-main .qm tfoot td.qm-num,
584
- #query-monitor-main .qm tfoot th.qm-num,
585
- #query-monitor-main .qm thead td.qm-num,
586
- #query-monitor-main .qm thead th.qm-num {
587
- width: 5.5em !important;
588
- }
589
- #query-monitor-main .qm th.qm-num,
590
- #query-monitor-main .qm td.qm-num {
591
- text-align: right !important;
592
- }
593
- #query-monitor-main .qm td.qm-num {
594
- font-family: Menlo, Monaco, Consolas, monospace !important;
595
- font-size: 11px !important;
596
- line-height: 19px !important;
597
- }
598
- #query-monitor-main .qm td.qm-row-sql {
599
- min-width: 25em !important;
600
- }
601
- #query-monitor-main .qm td.qm-row-block-attrs,
602
- #query-monitor-main .qm td.qm-row-block-context,
603
- #query-monitor-main .qm td.qm-row-block-html {
604
- max-width: 40em !important;
605
- }
606
- #query-monitor-main .qm td.qm-row-block-attrs,
607
- #query-monitor-main .qm td.qm-row-block-context,
608
- #query-monitor-main .qm td.qm-row-block-html,
609
- #query-monitor-main .qm tr.qm-warn td.qm-col-status,
610
- #query-monitor-main .qm td.qm-url,
611
- #query-monitor-main .qm th.qm-col-message,
612
- #query-monitor-main .qm td.qm-row-component {
613
- min-width: 15em !important;
614
- }
615
- #query-monitor-main .qm td.qm-has-toggle {
616
- padding-right: 24px !important;
617
- position: relative !important;
618
- }
619
- #query-monitor-main .qm td.qm-has-toggle:not(.qm-toggled-on) .qm-supplemental {
620
- display: none;
621
- }
622
- #query-monitor-main .qm .qm-inner-toggle {
623
- padding: 4px 6px !important;
624
- }
625
- #query-monitor-main .qm .qm-has-inner .qm-toggled > table {
626
- border-bottom: none !important;
627
- border-top: 1px solid #23282d !important;
628
- }
629
- #query-monitor-main .qm td.qm-has-inner .qm-toggler,
630
- #query-monitor-main .qm td.qm-has-inner {
631
- padding: 0 !important;
632
- }
633
- #query-monitor-main .qm caption h2 {
634
- font-size: 14px !important;
635
- margin: 20px !important;
636
- }
637
- #query-monitor-main .qm-concerns table {
638
- border-top: 1px solid #23282d !important;
639
- margin-bottom: 20px !important;
640
- }
641
- #query-monitor-main .qm-non-tabular {
642
- padding: 10px 20px !important;
643
- }
644
- #query-monitor-main .qm-non-tabular h3 {
645
- font-size: 14px !important;
646
- margin: 0 0 15px 0 !important;
647
- }
648
- #query-monitor-main .qm-non-tabular h4 {
649
- font-size: 12px !important;
650
- margin: 20px 0 10px !important;
651
- }
652
- #query-monitor-main .qm-non-tabular p {
653
- margin-bottom: 10px !important;
654
- }
655
- #query-monitor-main .qm-non-tabular dl {
656
- display: flex !important;
657
- flex-wrap: wrap !important;
658
- max-width: 60em !important;
659
- }
660
- #query-monitor-main .qm-non-tabular dt {
661
- border-top: 1px solid #50626f !important;
662
- flex-grow: 0;
663
- flex: 1 0 16em;
664
- padding: 10px 10px 10px 0 !important;
665
- }
666
- #query-monitor-main .qm-non-tabular dd {
667
- border-top: 1px solid #50626f !important;
668
- flex: 1 0 calc(100% - 10px - 16em);
669
- padding: 10px 0 !important;
670
- }
671
- #query-monitor-main .qm-non-tabular section,
672
- #query-monitor-main .qm-non-tabular .qm-section {
673
- margin: 0 0 30px 0 !important;
674
- }
675
- #query-monitor-main .qm-non-tabular .qm-boxed section,
676
- #query-monitor-main .qm-non-tabular .qm-boxed .qm-section {
677
- border-right: 1px solid #50626f !important;
678
- margin: 0 20px 10px 0 !important;
679
- padding: 10px 20px 10px 0 !important;
680
- }
681
- #query-monitor-main .qm-non-tabular .qm-boxed section:last-child,
682
- #query-monitor-main .qm-non-tabular .qm-boxed .qm-section:last-child {
683
- border-right: none !important;
684
- margin-right: 0 !important;
685
- padding-right: 20px !important;
686
- }
687
- #query-monitor-main .qm-non-tabular table {
688
- border-bottom-color: #23282d !important;
689
- }
690
- #query-monitor-main #qm-conditionals li {
691
- display: inline-block !important;
692
- margin: 0 20px 5px 0 !important;
693
- }
694
- #query-monitor-main .qm ol,
695
- #query-monitor-main .qm ul {
696
- list-style: none !important;
697
- }
698
- #query-monitor-main .qm li {
699
- display: list-item !important;
700
- list-style: none !important;
701
- }
702
- #query-monitor-main .qm li::before {
703
- content: "" !important;
704
- }
705
- #query-monitor-main .qm code,
706
- #query-monitor-main .qm pre {
707
- font-family: Menlo, Monaco, Consolas, monospace !important;
708
- font-size: 11px !important;
709
- line-height: 19px !important;
710
- }
711
- #query-monitor-main .qm pre {
712
- background: transparent !important;
713
- height: auto !important;
714
- margin: 0 !important;
715
- padding: 0 !important;
716
- width: auto !important;
717
- }
718
- #query-monitor-main .qm .qm-true code,
719
- #query-monitor-main .qm p.qm-true,
720
- #query-monitor-main .qm span.qm-true,
721
- #query-monitor-main .qm td.qm-true {
722
- color: #282 !important;
723
- }
724
- #query-monitor-main .qm .qm-false code,
725
- #query-monitor-main .qm span.qm-false,
726
- #query-monitor-main .qm td.qm-false {
727
- color: #999 !important;
728
- }
729
- #query-monitor-main .qm .qm-num,
730
- #query-monitor-main .qm code,
731
- #query-monitor-main .qm .qm-nowrap {
732
- white-space: nowrap !important;
733
- }
734
- #query-monitor-main .qm .qm-wrap code,
735
- #query-monitor-main .qm .qm-wrap {
736
- white-space: normal !important;
737
- word-break: break-all !important;
738
- word-wrap: break-word !important;
739
- }
740
- #query-monitor-main .qm .qm-pre-wrap code {
741
- white-space: pre-wrap !important;
742
- word-break: break-all !important;
743
- word-wrap: break-word !important;
744
- }
745
- #query-monitor-main .qm .qm-sticky {
746
- position: sticky !important;
747
- top: 36px !important;
748
- }
749
- #query-monitor-main .qm .qm-current,
750
- #query-monitor-main .qm td.qm-has-toggle p,
751
- #query-monitor-main .qm .qm-nonselectsql code,
752
- #query-monitor-main .qm .qm-nonselectsql {
753
- color: #a6a !important;
754
- }
755
- #query-monitor-main .qm .qm-info {
756
- color: #aaa !important;
757
- }
758
- #query-monitor-main .qm .qm-supplemental {
759
- margin-left: 0.75em !important;
760
- margin-right: 0.75em !important;
761
- }
762
- #query-monitor-main .qm td.qm-toggled-on .qm-inverse-toggled,
763
- #query-monitor-main .qm td .qm-toggled {
764
- display: none;
765
- }
766
- #query-monitor-main .qm button.qm-button,
767
- #query-monitor-main .qm .qm-toggle {
768
- background: #0085ba !important;
769
- border: 1px solid #0085ba !important;
770
- border-radius: 3px !important;
771
- color: #fff !important;
772
- cursor: pointer !important;
773
- font-weight: normal !important;
774
- text-shadow: none !important;
775
- }
776
- #query-monitor-main .qm .qm-toggle {
777
- bottom: auto !important;
778
- font-family: Menlo, Monaco, Consolas, monospace !important;
779
- height: 18px !important;
780
- left: auto !important;
781
- line-height: 16px !important;
782
- padding: 0 !important;
783
- position: absolute !important;
784
- right: 5px !important;
785
- text-align: center !important;
786
- top: 5px !important;
787
- user-select: none;
788
- width: 18px !important;
789
- }
790
- #query-monitor-main .qm button {
791
- cursor: pointer !important;
792
- }
793
- #query-monitor-main .qm button.qm-button {
794
- padding: 4px 10px !important;
795
- }
796
- #query-monitor-main .qm .qm-has-inner .qm-toggle {
797
- right: 5px !important;
798
- top: 5px !important;
799
- }
800
- #query-monitor-main .qm button.qm-button:hover,
801
- #query-monitor-main .qm .qm-toggle:hover {
802
- background: #007aab !important;
803
- border-color: #007aab !important;
804
- color: #fff !important;
805
- text-decoration: none !important;
806
- }
807
- #query-monitor-main .qm button.qm-button:focus,
808
- #query-monitor-main .qm .qm-toggle:focus {
809
- background: #007aab !important;
810
- border-color: #007aab !important;
811
- color: #fff !important;
812
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px #007aab !important;
813
- }
814
- #query-monitor-main .qm button.qm-button:active,
815
- #query-monitor-main .qm .qm-toggle:active {
816
- background: #006f9b !important;
817
- border-color: #006f9b !important;
818
- color: #fff !important;
819
- box-shadow: none !important;
820
- }
821
- #query-monitor-main .qm tbody tr.qm-odd td,
822
- #query-monitor-main .qm tbody tr.qm-odd th {
823
- background: #32373c !important;
824
- }
825
- #query-monitor-main .qm-non-tabular .qm-warn,
826
- #query-monitor-main .qm thead tr .qm-warn,
827
- #query-monitor-main .qm tbody tr .qm-warn {
828
- background-color: #522 !important;
829
- color: #fff0f0 !important;
830
- }
831
- #query-monitor-main .qm tbody tr th.qm-warn,
832
- #query-monitor-main .qm tbody tr td.qm-warn,
833
- #query-monitor-main .qm tbody tr.qm-warn td,
834
- #query-monitor-main .qm tbody tr.qm-warn th {
835
- background-color: #522 !important;
836
- color: #fff0f0 !important;
837
- }
838
- #query-monitor-main .qm tbody tr.qm-odd th.qm-warn,
839
- #query-monitor-main .qm tbody tr.qm-odd td.qm-warn,
840
- #query-monitor-main .qm tbody tr.qm-odd.qm-warn td,
841
- #query-monitor-main .qm tbody tr.qm-odd.qm-warn th {
842
- background-color: #502020 !important;
843
- }
844
- #query-monitor-main .qm-non-tabular .qm-warn code,
845
- #query-monitor-main .qm tbody .qm-warn li,
846
- #query-monitor-main .qm tbody .qm-warn .qm-info,
847
- #query-monitor-main .qm tbody .qm-warn code {
848
- background-color: transparent !important;
849
- color: #fff0f0 !important;
850
- }
851
- #query-monitor-main .qm .qm-notice {
852
- background: #32373c !important;
853
- border: 1px solid #1b1e20 !important;
854
- margin: 0 0 10px 0 !important;
855
- padding: 10px 20px 0 !important;
856
- }
857
- #query-monitor-main .qm .dashicons {
858
- font-size: 16px !important;
859
- height: 16px !important;
860
- margin-right: 0.3em !important;
861
- transition: none !important;
862
- width: 16px !important;
863
- }
864
- #query-monitor-main .qm .qm-dashicons-yes {
865
- background-color: #0a0 !important;
866
- border-radius: 50% !important;
867
- color: #fff !important;
868
- }
869
- #query-monitor-main .qm tbody tr td.qm-highlight,
870
- #query-monitor-main .qm tbody tr.qm-highlight th,
871
- #query-monitor-main .qm tbody tr.qm-highlight td {
872
- background-color: #57572a !important;
873
- color: #eaeef2 !important;
874
- }
875
- #query-monitor-main .qm tbody tr.qm-odd td.qm-highlight,
876
- #query-monitor-main .qm tbody tr.qm-odd.qm-highlight th,
877
- #query-monitor-main .qm tbody tr.qm-odd.qm-highlight td {
878
- background-color: #494923 !important;
879
- color: #eaeef2 !important;
880
- }
881
- #query-monitor-main .qm tbody tr.qm-odd.qm-hovered th,
882
- #query-monitor-main .qm tbody tr.qm-odd.qm-hovered td,
883
- #query-monitor-main .qm tbody tr.qm-odd:hover th,
884
- #query-monitor-main .qm tbody tr.qm-odd:hover td,
885
- #query-monitor-main .qm tbody tr.qm-hovered th,
886
- #query-monitor-main .qm tbody tr.qm-hovered td,
887
- #query-monitor-main .qm tbody tr:hover th,
888
- #query-monitor-main .qm tbody tr:hover td {
889
- background: #373c42 !important;
890
- }
891
- #query-monitor-main .qm thead th.qm-filtered select.qm-filter {
892
- background-color: #57572a !important;
893
- color: #eaeef2 !important;
894
- }
895
- #query-monitor-main .qm button.qm-filter-trigger,
896
- #query-monitor-main .qm button.qm-filter-trigger code,
897
- #query-monitor-main .qm tbody .qm-warn a code,
898
- #query-monitor-main .qm a code,
899
- #query-monitor-main .qm a {
900
- color: #30ceff !important;
901
- cursor: pointer !important;
902
- text-decoration: none !important;
903
- }
904
- #query-monitor-main .qm button.qm-filter-trigger:after, #query-monitor-main .qm button.qm-filter-trigger:focus, #query-monitor-main .qm button.qm-filter-trigger:hover,
905
- #query-monitor-main .qm button.qm-filter-trigger code:after,
906
- #query-monitor-main .qm button.qm-filter-trigger code:focus,
907
- #query-monitor-main .qm button.qm-filter-trigger code:hover,
908
- #query-monitor-main .qm tbody .qm-warn a code:after,
909
- #query-monitor-main .qm tbody .qm-warn a code:focus,
910
- #query-monitor-main .qm tbody .qm-warn a code:hover,
911
- #query-monitor-main .qm a code:after,
912
- #query-monitor-main .qm a code:focus,
913
- #query-monitor-main .qm a code:hover,
914
- #query-monitor-main .qm a:after,
915
- #query-monitor-main .qm a:focus,
916
- #query-monitor-main .qm a:hover {
917
- color: #4092d2 !important;
918
- text-decoration: underline !important;
919
- }
920
- #query-monitor-main .qm button.qm-filter-trigger:active,
921
- #query-monitor-main .qm button.qm-filter-trigger code:active,
922
- #query-monitor-main .qm tbody .qm-warn a code:active,
923
- #query-monitor-main .qm a code:active,
924
- #query-monitor-main .qm a:active {
925
- color: #69aadc !important;
926
- text-decoration: underline !important;
927
- }
928
- #query-monitor-main .qm a.qm-external-link:after,
929
- #query-monitor-main .qm a.qm-link:after,
930
- #query-monitor-main .qm a.qm-edit-link:after,
931
- #query-monitor-main .qm button.qm-filter-info:before,
932
- #query-monitor-main .qm button.qm-filter-trigger:after {
933
- display: inline-block !important;
934
- font-family: dashicons !important;
935
- font-size: 14px !important;
936
- left: 2px !important;
937
- line-height: 13px !important;
938
- position: relative !important;
939
- text-decoration: none !important;
940
- top: 2px !important;
941
- visibility: hidden !important;
942
- }
943
- #query-monitor-main .qm button.qm-filter-info:before {
944
- left: unset !important;
945
- right: 2px !important;
946
- content: "\f534" !important;
947
- visibility: visible !important;
948
- }
949
- #query-monitor-main .qm a.qm-external-link:after,
950
- #query-monitor-main .qm a.qm-link:hover:after,
951
- #query-monitor-main .qm a.qm-link:focus:after,
952
- #query-monitor-main .qm a.qm-edit-link:hover:after,
953
- #query-monitor-main .qm a.qm-edit-link:focus:after,
954
- #query-monitor-main .qm button.qm-filter-trigger:hover:after,
955
- #query-monitor-main .qm button.qm-filter-trigger:focus:after {
956
- visibility: visible !important;
957
- }
958
- #query-monitor-main .qm button.qm-filter-trigger:after {
959
- content: "\f536" !important;
960
- }
961
- #query-monitor-main .qm a.qm-edit-link:after {
962
- content: "\f464" !important;
963
- }
964
- #query-monitor-main .qm a.qm-external-link:after,
965
- #query-monitor-main .qm a.qm-link:after {
966
- content: "\f504" !important;
967
- }
968
- #query-monitor-main #qm-ajax-errors {
969
- display: none;
970
- }
971
- #query-monitor-main button,
972
- #query-monitor-main select {
973
- background: none !important;
974
- cursor: pointer !important;
975
- height: auto !important;
976
- margin: 0 !important;
977
- width: auto !important;
978
- }
979
- #query-monitor-main .qm label {
980
- color: #eaeef2 !important;
981
- cursor: pointer !important;
982
- font-size: 12px !important;
983
- font-style: normal !important;
984
- font-weight: normal !important;
985
- margin: 0 !important;
986
- }
987
- #query-monitor-main .qm thead label {
988
- flex-grow: 1 !important;
989
- }
990
- #query-monitor-main .qm .qm-filter-container {
991
- display: flex !important;
992
- }
993
- #query-monitor-main .qm .qm-filter-container label {
994
- cursor: default !important;
995
- white-space: nowrap !important;
996
- }
997
- #query-monitor-main .qm .qm-filter-container div {
998
- /* Some themes use Select2 etc on all selects. This hides that. */
999
- display: none !important;
1000
- }
1001
- #query-monitor-main .qm-title-heading select,
1002
- #query-monitor-main .qm select.qm-filter {
1003
- -webkit-appearance: menulist !important;
1004
- -moz-appearance: menulist !important;
1005
- appearance: menulist !important;
1006
- background: #32373c !important;
1007
- border: none !important;
1008
- color: #eaeef2 !important;
1009
- cursor: pointer !important;
1010
- display: block !important;
1011
- float: none !important;
1012
- height: auto !important;
1013
- letter-spacing: -0.1px !important;
1014
- margin: 0 0 0 5px !important;
1015
- max-width: 12em !important;
1016
- outline: 1px solid #50626f !important;
1017
- padding: 0 !important;
1018
- width: auto !important;
1019
- }
1020
- #query-monitor-main .qm-title-heading select {
1021
- max-width: unset !important;
1022
- }
1023
- #query-monitor-main .qm select.qm-filter:hover {
1024
- background: #373c42 !important;
1025
- }
1026
- #query-monitor-main .qm-hide,
1027
- #query-monitor-main .qm-hide-scripts-dependencies,
1028
- #query-monitor-main .qm-hide-styles-dependencies,
1029
- #query-monitor-main .qm-hide-scripts-dependents,
1030
- #query-monitor-main .qm-hide-styles-dependents,
1031
- #query-monitor-main .qm-hide-scripts-host,
1032
- #query-monitor-main .qm-hide-styles-host,
1033
- #query-monitor-main .qm-hide-user,
1034
- #query-monitor-main .qm-hide-result,
1035
- #query-monitor-main .qm-hide-name,
1036
- #query-monitor-main .qm-hide-type,
1037
- #query-monitor-main .qm-hide-caller,
1038
- #query-monitor-main .qm-hide-component {
1039
- display: none !important;
1040
- }
1041
- #query-monitor-main .qm thead th.qm-sortable-column {
1042
- cursor: pointer !important;
1043
- }
1044
- #query-monitor-main .qm thead th.qm-sortable-column:hover {
1045
- background: #32373c !important;
1046
- }
1047
- #query-monitor-main .qm .qm-sort-heading {
1048
- flex-grow: 1 !important;
1049
- }
1050
- #query-monitor-main .qm .qm-sort-controls {
1051
- flex-shrink: 0 !important;
1052
- text-align: right !important;
1053
- }
1054
- #query-monitor-main .qm .qm-sortable-column .qm-sort-arrow {
1055
- color: #ccc !important;
1056
- display: block !important;
1057
- font-family: dashicons !important;
1058
- font-size: 23px !important;
1059
- height: 10px !important;
1060
- margin: 0 !important;
1061
- width: 16px !important;
1062
- }
1063
- #query-monitor-main .qm .qm-sortable-column .qm-sort-arrow::before {
1064
- content: "\f140" !important;
1065
- position: absolute !important;
1066
- right: 0 !important;
1067
- top: 4px !important;
1068
- }
1069
- #query-monitor-main .qm .qm-sorted-desc .qm-sort-arrow,
1070
- #query-monitor-main .qm .qm-sorted-asc .qm-sort-arrow {
1071
- color: #eaeef2 !important;
1072
- }
1073
- #query-monitor-main .qm thead th.qm-sortable-column:hover .qm-sort-arrow {
1074
- color: #0073aa !important;
1075
- }
1076
- #query-monitor-main .qm .qm-sortable-column.qm-sorted-asc .qm-sort-arrow::before {
1077
- content: "\f142" !important;
1078
- }
1079
- #query-monitor-main .qm button:focus,
1080
- #query-monitor-main .qm a:focus,
1081
- #query-monitor-main .qm select:focus {
1082
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px #007aab !important;
1083
- }
1084
- #query-monitor-main .qm button:active,
1085
- #query-monitor-main .qm a:active,
1086
- #query-monitor-main .qm select:active {
1087
- box-shadow: none !important;
1088
- }
1089
- #query-monitor-main .qm-screen-reader-text,
1090
- #query-monitor-main .screen-reader-text {
1091
- border: 0 !important;
1092
- clip: rect(0 0 0 0) !important;
1093
- height: 1px !important;
1094
- margin: -1px !important;
1095
- overflow: hidden !important;
1096
- padding: 0 !important;
1097
- position: absolute !important;
1098
- width: 1px !important;
1099
- }
1100
- @media screen and (max-width: 782px) {
1101
- #query-monitor-main #qm-panel-menu,
1102
- #query-monitor-main #qm-title h1.qm-title-heading {
1103
- display: none;
1104
- }
1105
- #query-monitor-main #qm-title div.qm-title-heading {
1106
- display: block;
1107
- }
1108
- }
1109
- #query-monitor-main [data-qm-state=off] [data-qm-state-visibility=on],
1110
- #query-monitor-main [data-qm-state=on] [data-qm-state-visibility=off] {
1111
- display: none;
1112
- }
1113
- #query-monitor-main.qm-no-js .qm-sort-controls, #query-monitor-main.qm-no-js .qm-toggle, #query-monitor-main.qm-no-js select.qm-filter {
1114
- display: none !important;
1115
- }
1116
- #query-monitor-main .qm.qm-debug-bar textarea,
1117
- #query-monitor-main .qm.qm-debug-bar pre {
1118
- border: 1px solid #50626f !important;
1119
- margin: 4px 0 !important;
1120
- padding: 10px !important;
1121
- }
1122
- #query-monitor-main .qm.qm-debug-bar textarea {
1123
- resize: vertical !important;
1124
- }
1125
- #query-monitor-main .qm.qm-debug-bar .left {
1126
- float: left !important;
1127
- }
1128
- #query-monitor-main .qm.qm-debug-bar .right {
1129
- float: right !important;
1130
- }
1131
- #query-monitor-main .qm.qm-debug-bar h2 {
1132
- font-size: 14px !important;
1133
- margin: 4px 6px 15px !important;
1134
- }
1135
- #query-monitor-main .qm.qm-debug-bar h3 {
1136
- clear: none !important;
1137
- float: left !important;
1138
- /* why */
1139
- font-size: 14px !important;
1140
- margin: 3px 8px 15px 0 !important;
1141
- min-width: 150px !important;
1142
- padding: 5px 10px 15px !important;
1143
- text-align: center !important;
1144
- }
1145
- #query-monitor-main .qm.qm-debug-bar h3 small {
1146
- font-size: 14px !important;
1147
- }
1148
- #query-monitor-main .qm.qm-debug-bar h3 span {
1149
- display: block !important;
1150
- margin-bottom: 8px !important;
1151
- white-space: nowrap !important;
1152
- }
1153
- #query-monitor-main .qm.qm-debug-bar h4 {
1154
- font-size: 13px !important;
1155
- margin: 15px 6px 5px !important;
1156
- }
1157
- #query-monitor-main .qm.qm-debug-bar .qm-debug-bar-output {
1158
- position: relative !important;
1159
- }
1160
- #query-monitor-main .qm.qm-debug-bar .qm-debug-bar-output table {
1161
- margin-bottom: 4px !important;
1162
- margin-top: 4px !important;
1163
- }
1164
- #query-monitor-main #debug-menu-target-Debug_Bar_Console {
1165
- min-height: 400px !important;
1166
- }
1167
- #query-monitor-main #debug-menu-target-Debug_Bar_Cache_Lookup,
1168
- #query-monitor-main #debug-menu-target-Debug_Bar_Rewrite_Rules,
1169
- #query-monitor-main #debug-menu-target-Debug_Bar_Widgets {
1170
- margin: 4px 6px !important;
1171
- }
1172
- #query-monitor-main #debug-menu-target-Debug_Bar_Rewrite_Rules_Panel .filterui,
1173
- #query-monitor-main #debug-menu-target-Debug_Bar_Rewrite_Rules_Panel .dbrr {
1174
- margin: 0 !important;
1175
- }
1176
- #query-monitor-main #qm-broken {
1177
- display: none !important;
1178
- }
1179
- #query-monitor-main.qm-broken #qm-title {
1180
- cursor: default !important;
1181
- }
1182
- #query-monitor-main.qm-broken #qm-title .qm-title-heading {
1183
- border-right: none !important;
1184
- }
1185
- #query-monitor-main.qm-broken .qm td .qm-toggled, #query-monitor-main.qm-broken #qm-broken, #query-monitor-main.qm-broken .qm {
1186
- display: block !important;
1187
- }
1188
- #query-monitor-main.qm-broken #qm-panel-menu, #query-monitor-main.qm-broken #qm-settings, #query-monitor-main.qm-broken #qm-title .qm-title-button {
1189
- display: none !important;
1190
- }
1191
- #query-monitor-main.qm-broken .qm {
1192
- margin-bottom: 50px !important;
1193
- }
1194
- #query-monitor-main.qm-broken .qm button.qm-filter-trigger {
1195
- color: #eaeef2 !important;
1196
- cursor: text !important;
1197
- }
1198
- #query-monitor-main.qm-broken .qm button.qm-filter-trigger:after {
1199
- display: none !important;
1200
- }
1201
- #query-monitor-main.qm-broken .qm button.qm-filter-trigger:focus, #query-monitor-main.qm-broken .qm button.qm-filter-trigger:hover, #query-monitor-main.qm-broken .qm button.qm-filter-trigger:active {
1202
- text-decoration: none !important;
1203
- }
1204
- #query-monitor-main.qm-broken #qm-broken h2 {
1205
- padding: 20px !important;
1206
- }
1207
-
1208
- #qm-fatal {
1209
- margin: 1em !important;
1210
- border: 2px solid #c00 !important;
1211
- box-shadow: 0 0 0 2px #fff;
1212
- background: #fff !important;
1213
- max-width: 700px !important;
1214
- clear: both !important;
1215
- position: absolute !important;
1216
- z-index: 99999 !important;
1217
- }
1218
- #qm-fatal h2 {
1219
- font-size: 12px !important;
1220
- font-weight: normal !important;
1221
- padding: 5px !important;
1222
- background: #f3f3f3 !important;
1223
- margin: 0 !important;
1224
- }
1225
- #qm-fatal .dashicons {
1226
- color: #c00 !important;
1227
- }
1228
- #qm-fatal ol,
1229
- #qm-fatal p {
1230
- font-size: 12px !important;
1231
- padding: 0 !important;
1232
- margin: 1em !important;
1233
- }
1234
- #qm-fatal ol {
1235
- padding: 0 0 1em 1em !important;
1236
- }
1237
- #qm-fatal li {
1238
- margin: 0 0 0.7em !important;
1239
- list-style: none !important;
1240
- }
1241
- #qm-fatal .qm-info {
1242
- color: #666 !important;
1243
- }
1244
-
1245
- body#error-page #qm-fatal {
1246
- margin: 0 !important;
1247
- border: none !important;
1248
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/query-monitor.css CHANGED
@@ -1,9 +1,166 @@
1
  @charset "UTF-8";
2
  /**
3
- * The standard colour scheme for Query Monitor.
4
  *
5
  * @package query-monitor
6
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  #wpadminbar .quicklinks .menupop ul li.qm-true > a {
8
  color: #8c8 !important;
9
  }
@@ -13,9 +170,6 @@
13
  #wpadminbar .qm-alert {
14
  background-color: #f60;
15
  }
16
- #wpadminbar .qm-alert:hover {
17
- background-color: #e65c00;
18
- }
19
  #wpadminbar #wp-admin-bar-query-monitor-stricts a,
20
  #wpadminbar #wp-admin-bar-query-monitor-deprecateds a,
21
  #wpadminbar #wp-admin-bar-query-monitor-notices a,
@@ -24,13 +178,27 @@
24
  #wpadminbar .qm-notice {
25
  background-color: #740;
26
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  #wpadminbar #wp-admin-bar-query-monitor-expensive a,
28
  #wpadminbar .qm-expensive {
29
  background-color: #b60;
30
  }
31
- #wpadminbar #wp-admin-bar-query-monitor-expensive a:hover,
 
32
  #wpadminbar .qm-expensive:hover {
33
- background-color: #915700;
34
  }
35
  #wpadminbar #wp-admin-bar-query-monitor-logger-warning a,
36
  #wpadminbar #wp-admin-bar-query-monitor-warnings a,
@@ -39,10 +207,14 @@
39
  #wpadminbar .qm-warning {
40
  background-color: #c00;
41
  }
42
- #wpadminbar #wp-admin-bar-query-monitor-logger-warning a:hover,
 
43
  #wpadminbar #wp-admin-bar-query-monitor-warnings a:hover,
 
44
  #wpadminbar #wp-admin-bar-query-monitor-errors a:hover,
 
45
  #wpadminbar .qm-error:hover,
 
46
  #wpadminbar .qm-warning:hover {
47
  background-color: #b30000;
48
  }
@@ -127,7 +299,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
127
  box-shadow: none !important;
128
  box-sizing: border-box !important;
129
  clear: both !important;
130
- color: #444 !important;
131
  float: none !important;
132
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
133
  font-size: 12px !important;
@@ -209,7 +381,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
209
  box-shadow: none !important;
210
  box-sizing: border-box !important;
211
  clear: both !important;
212
- color: #444 !important;
213
  float: none !important;
214
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
215
  font-size: 12px !important;
@@ -231,8 +403,8 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
231
  vertical-align: baseline !important;
232
  word-break: normal !important;
233
  word-wrap: normal !important;
234
- background: #fff !important;
235
- border-top: 1px solid #aaa !important;
236
  bottom: 0 !important;
237
  contain: layout paint;
238
  direction: ltr !important;
@@ -248,8 +420,8 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
248
  display: none !important;
249
  }
250
  #query-monitor-main ::selection {
251
- background-color: #B9D6FB !important;
252
- color: #444 !important;
253
  }
254
  #query-monitor-main strong,
255
  #query-monitor-main b {
@@ -276,7 +448,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
276
  top: 32px !important;
277
  left: unset !important;
278
  border-top: 0 !important;
279
- border-left: 1px solid #aaa !important;
280
  }
281
  #query-monitor-main.qm-show-right #qm-panel-menu,
282
  #query-monitor-main.qm-show-right #qm-title h1.qm-title-heading {
@@ -311,8 +483,8 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
311
  }
312
  #query-monitor-main #qm-title {
313
  align-items: center !important;
314
- background: #f3f3f3 !important;
315
- border-bottom: 1px solid #aaa !important;
316
  cursor: ns-resize !important;
317
  display: flex !important;
318
  flex-shrink: 0 !important;
@@ -352,8 +524,8 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
352
  }
353
  }
354
  #query-monitor-main #qm-title button {
355
- background: transparent !important;
356
- color: #666 !important;
357
  cursor: pointer !important;
358
  display: inline-block !important;
359
  margin: 0 0 0 0px !important;
@@ -364,14 +536,16 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
364
  #query-monitor-main #qm-title button:hover *,
365
  #query-monitor-main #qm-title button:focus,
366
  #query-monitor-main #qm-title button:hover {
367
- background: #e6e6e6 !important;
368
- color: #000 !important;
369
  }
370
  #query-monitor-main #qm-title button:active *,
371
  #query-monitor-main #qm-title button:active {
 
372
  background: #ccc !important;
373
  }
374
  #query-monitor-main #qm-title button.qm-button-active {
 
375
  color: #3879d9 !important;
376
  }
377
  #query-monitor-main #qm-title .qm-button-container-settings .dashicons {
@@ -391,7 +565,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
391
  display: none !important;
392
  }
393
  #query-monitor-main #qm-panel-menu {
394
- background: #ececec !important;
395
  flex-shrink: 0 !important;
396
  overflow-y: scroll !important;
397
  overscroll-behavior: contain !important;
@@ -415,10 +589,10 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
415
  display: none !important;
416
  }
417
  #query-monitor-main #qm-panel-menu li button {
418
- background: #f3f3f3 !important;
419
- border-bottom: 1px solid #ddd !important;
420
- border-right: 1px solid #aaa !important;
421
- color: #444 !important;
422
  cursor: pointer !important;
423
  display: block !important;
424
  padding: 6px 32px 6px 10px !important;
@@ -428,32 +602,32 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
428
  }
429
  #query-monitor-main #qm-panel-menu li button:focus,
430
  #query-monitor-main #qm-panel-menu li button:hover {
431
- background: #cde !important;
432
- color: #444 !important;
433
  }
434
  #query-monitor-main #qm-panel-menu li button:focus {
435
  text-decoration: underline !important;
436
  }
437
  #query-monitor-main #qm-panel-menu li button:active {
438
  text-decoration: none !important;
439
- background: #0073aa !important;
440
- color: #fff !important;
441
- text-shadow: 0 -1px 1px #006291, 1px 0 1px #006291, 0 1px 1px #006291, -1px 0 1px #006291 !important;
442
  }
443
  #query-monitor-main #qm-panel-menu li.qm-current-menu ul {
444
  display: block !important;
445
  }
446
  #query-monitor-main #qm-panel-menu li.qm-current-menu button {
447
- background: #def !important;
448
- color: #444 !important;
449
  }
450
  #query-monitor-main #qm-panel-menu li.qm-current-menu button:focus {
451
- background: #f7fbff !important;
452
- color: #444 !important;
453
  }
454
  #query-monitor-main #qm-panel-menu li.qm-current-menu button:hover {
455
- background: #cde !important;
456
- color: #444 !important;
457
  }
458
  #query-monitor-main #qm-panel-menu li li button::before {
459
  content: "└" !important;
@@ -461,21 +635,21 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
461
  margin-right: 5px !important;
462
  }
463
  #query-monitor-main #qm-panel-menu li button[aria-selected=true] {
464
- background: #0073aa !important;
465
- color: #fff !important;
466
- text-shadow: 0 -1px 1px #006291, 1px 0 1px #006291, 0 1px 1px #006291, -1px 0 1px #006291 !important;
467
  }
468
  #query-monitor-main #qm-panel-menu li button[aria-selected=true]:focus {
469
- background: #0084c4 !important;
470
- color: #fff !important;
471
  }
472
  #query-monitor-main #qm-panel-menu li button[aria-selected=true]:hover {
473
- background: #0073aa !important;
474
- color: #fff !important;
475
  }
476
  #query-monitor-main #qm-panel-menu li button[aria-selected=true]:after {
477
  border: solid 8px transparent;
478
- border-right-color: #fff;
479
  content: " ";
480
  display: inline-block !important;
481
  height: 0;
@@ -502,13 +676,17 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
502
  display: flex !important;
503
  flex-wrap: wrap !important;
504
  }
505
- #query-monitor-main .qm-boxed:not(#qm-broken) + .qm-boxed {
506
- border-top: 1px solid #ddd !important;
507
  padding-top: 10px !important;
508
  }
509
- #query-monitor-main .qm-boxed-wrap {
 
510
  flex-wrap: wrap !important;
511
  }
 
 
 
512
  #query-monitor-main .qm .qm-none {
513
  margin: 2em !important;
514
  }
@@ -519,14 +697,14 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
519
  #query-monitor-main .qm table {
520
  border: none !important;
521
  border-collapse: collapse !important;
522
- box-shadow: 0px 1px 0px 0px #aaa !important;
523
- color: #444 !important;
524
  margin: 0 !important;
525
  table-layout: auto !important;
526
  width: 100% !important;
527
  }
528
  #query-monitor-main .qm table + table {
529
- border-top: 1px solid #e0e0e0 !important;
530
  margin-top: 5px !important;
531
  }
532
  #query-monitor-main .qm tr {
@@ -536,7 +714,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
536
  #query-monitor-main .qm tbody td,
537
  #query-monitor-main .qm tfoot th,
538
  #query-monitor-main .qm tfoot td {
539
- border: 1px solid #e0e0e0 !important;
540
  padding: 5px 5px 4px 5px !important;
541
  vertical-align: top !important;
542
  }
@@ -546,10 +724,10 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
546
  border-top: none !important;
547
  }
548
  #query-monitor-main .qm thead th {
549
- background: #fff !important;
550
- border: 1px solid #e0e0e0 !important;
551
  border-top: none !important;
552
- box-shadow: 0px 1px 0px #e0e0e0 !important;
553
  padding: 5px !important;
554
  position: -webkit-sticky !important;
555
  position: sticky !important;
@@ -565,10 +743,10 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
565
  }
566
  #query-monitor-main .qm tfoot tr td,
567
  #query-monitor-main .qm tfoot tr th {
568
- background: #f3f3f3 !important;
569
  border: none !important;
570
  bottom: 0 !important;
571
- box-shadow: inset 0px 1px 0px #e0e0e0 !important;
572
  position: -webkit-sticky !important;
573
  position: sticky !important;
574
  }
@@ -624,7 +802,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
624
  }
625
  #query-monitor-main .qm .qm-has-inner .qm-toggled > table {
626
  border-bottom: none !important;
627
- border-top: 1px solid #e0e0e0 !important;
628
  }
629
  #query-monitor-main .qm td.qm-has-inner .qm-toggler,
630
  #query-monitor-main .qm td.qm-has-inner {
@@ -635,7 +813,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
635
  margin: 20px !important;
636
  }
637
  #query-monitor-main .qm-concerns table {
638
- border-top: 1px solid #e0e0e0 !important;
639
  margin-bottom: 20px !important;
640
  }
641
  #query-monitor-main .qm-non-tabular {
@@ -658,13 +836,13 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
658
  max-width: 60em !important;
659
  }
660
  #query-monitor-main .qm-non-tabular dt {
661
- border-top: 1px solid #ddd !important;
662
  flex-grow: 0;
663
  flex: 1 0 16em;
664
  padding: 10px 10px 10px 0 !important;
665
  }
666
  #query-monitor-main .qm-non-tabular dd {
667
- border-top: 1px solid #ddd !important;
668
  flex: 1 0 calc(100% - 10px - 16em);
669
  padding: 10px 0 !important;
670
  }
@@ -672,20 +850,21 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
672
  #query-monitor-main .qm-non-tabular .qm-section {
673
  margin: 0 0 30px 0 !important;
674
  }
 
675
  #query-monitor-main .qm-non-tabular .qm-boxed section,
676
  #query-monitor-main .qm-non-tabular .qm-boxed .qm-section {
677
- border-right: 1px solid #ddd !important;
678
  margin: 0 20px 10px 0 !important;
679
  padding: 10px 20px 10px 0 !important;
680
  }
 
681
  #query-monitor-main .qm-non-tabular .qm-boxed section:last-child,
682
  #query-monitor-main .qm-non-tabular .qm-boxed .qm-section:last-child {
683
  border-right: none !important;
684
  margin-right: 0 !important;
685
- padding-right: 20px !important;
686
  }
687
  #query-monitor-main .qm-non-tabular table {
688
- border-bottom-color: #e0e0e0 !important;
689
  }
690
  #query-monitor-main #qm-conditionals li {
691
  display: inline-block !important;
@@ -719,11 +898,13 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
719
  #query-monitor-main .qm p.qm-true,
720
  #query-monitor-main .qm span.qm-true,
721
  #query-monitor-main .qm td.qm-true {
 
722
  color: #282 !important;
723
  }
724
  #query-monitor-main .qm .qm-false code,
725
  #query-monitor-main .qm span.qm-false,
726
  #query-monitor-main .qm td.qm-false {
 
727
  color: #999 !important;
728
  }
729
  #query-monitor-main .qm .qm-num,
@@ -750,10 +931,10 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
750
  #query-monitor-main .qm td.qm-has-toggle p,
751
  #query-monitor-main .qm .qm-nonselectsql code,
752
  #query-monitor-main .qm .qm-nonselectsql {
753
- color: #a0a !important;
754
  }
755
  #query-monitor-main .qm .qm-info {
756
- color: #666 !important;
757
  }
758
  #query-monitor-main .qm .qm-supplemental {
759
  margin-left: 0.75em !important;
@@ -765,10 +946,10 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
765
  }
766
  #query-monitor-main .qm button.qm-button,
767
  #query-monitor-main .qm .qm-toggle {
768
- background: #007cba !important;
769
- border: 1px solid #007cba !important;
770
  border-radius: 3px !important;
771
- color: #fff !important;
772
  cursor: pointer !important;
773
  font-weight: normal !important;
774
  text-shadow: none !important;
@@ -799,59 +980,82 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
799
  }
800
  #query-monitor-main .qm button.qm-button:hover,
801
  #query-monitor-main .qm .qm-toggle:hover {
802
- background: #0072ab !important;
803
- border-color: #0072ab !important;
804
- color: #fff !important;
805
  text-decoration: none !important;
806
  }
807
  #query-monitor-main .qm button.qm-button:focus,
808
  #query-monitor-main .qm .qm-toggle:focus {
809
- background: #0072ab !important;
810
- border-color: #0072ab !important;
811
- color: #fff !important;
812
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0072ab !important;
813
  }
814
  #query-monitor-main .qm button.qm-button:active,
815
  #query-monitor-main .qm .qm-toggle:active {
816
- background: #00689b !important;
817
- border-color: #00689b !important;
818
- color: #fff !important;
819
  box-shadow: none !important;
820
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
821
  #query-monitor-main .qm tbody tr.qm-odd td,
822
  #query-monitor-main .qm tbody tr.qm-odd th {
823
- background: #f9f9f9 !important;
824
  }
825
  #query-monitor-main .qm-non-tabular .qm-warn,
826
  #query-monitor-main .qm thead tr .qm-warn,
827
  #query-monitor-main .qm tbody tr .qm-warn {
828
- background-color: #fff0f0 !important;
829
- color: #900 !important;
830
  }
831
  #query-monitor-main .qm tbody tr th.qm-warn,
832
  #query-monitor-main .qm tbody tr td.qm-warn,
833
  #query-monitor-main .qm tbody tr.qm-warn td,
834
  #query-monitor-main .qm tbody tr.qm-warn th {
835
- background-color: #fff0f0 !important;
836
- color: #900 !important;
837
  }
838
  #query-monitor-main .qm tbody tr.qm-odd th.qm-warn,
839
  #query-monitor-main .qm tbody tr.qm-odd td.qm-warn,
840
  #query-monitor-main .qm tbody tr.qm-odd.qm-warn td,
841
  #query-monitor-main .qm tbody tr.qm-odd.qm-warn th {
842
- background-color: #ffe8e8 !important;
843
  }
844
  #query-monitor-main .qm-non-tabular .qm-warn code,
845
  #query-monitor-main .qm tbody .qm-warn li,
846
  #query-monitor-main .qm tbody .qm-warn .qm-info,
847
  #query-monitor-main .qm tbody .qm-warn code {
848
  background-color: transparent !important;
849
- color: #900 !important;
850
  }
851
  #query-monitor-main .qm .qm-notice {
852
- background: #def !important;
853
- border: 1px solid #aad5ff !important;
854
  margin: 0 0 10px 0 !important;
 
855
  padding: 10px 20px 0 !important;
856
  }
857
  #query-monitor-main .qm .dashicons {
@@ -862,21 +1066,23 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
862
  width: 16px !important;
863
  }
864
  #query-monitor-main .qm .qm-dashicons-yes {
 
865
  background-color: #0a0 !important;
866
  border-radius: 50% !important;
 
867
  color: #fff !important;
868
  }
869
  #query-monitor-main .qm tbody tr td.qm-highlight,
870
  #query-monitor-main .qm tbody tr.qm-highlight th,
871
  #query-monitor-main .qm tbody tr.qm-highlight td {
872
- background-color: #ffd !important;
873
- color: #444 !important;
874
  }
875
  #query-monitor-main .qm tbody tr.qm-odd td.qm-highlight,
876
  #query-monitor-main .qm tbody tr.qm-odd.qm-highlight th,
877
  #query-monitor-main .qm tbody tr.qm-odd.qm-highlight td {
878
- background-color: #ffffc9 !important;
879
- color: #444 !important;
880
  }
881
  #query-monitor-main .qm tbody tr.qm-odd.qm-hovered th,
882
  #query-monitor-main .qm tbody tr.qm-odd.qm-hovered td,
@@ -886,18 +1092,18 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
886
  #query-monitor-main .qm tbody tr.qm-hovered td,
887
  #query-monitor-main .qm tbody tr:hover th,
888
  #query-monitor-main .qm tbody tr:hover td {
889
- background: #eef3fa !important;
890
  }
891
  #query-monitor-main .qm thead th.qm-filtered select.qm-filter {
892
- background-color: #ffd !important;
893
- color: #444 !important;
894
  }
895
  #query-monitor-main .qm button.qm-filter-trigger,
896
  #query-monitor-main .qm button.qm-filter-trigger code,
897
  #query-monitor-main .qm tbody .qm-warn a code,
898
  #query-monitor-main .qm a code,
899
  #query-monitor-main .qm a {
900
- color: #0073aa !important;
901
  cursor: pointer !important;
902
  text-decoration: none !important;
903
  }
@@ -914,7 +1120,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
914
  #query-monitor-main .qm a:after,
915
  #query-monitor-main .qm a:focus,
916
  #query-monitor-main .qm a:hover {
917
- color: #0096dd !important;
918
  text-decoration: underline !important;
919
  }
920
  #query-monitor-main .qm button.qm-filter-trigger:active,
@@ -922,7 +1128,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
922
  #query-monitor-main .qm tbody .qm-warn a code:active,
923
  #query-monitor-main .qm a code:active,
924
  #query-monitor-main .qm a:active {
925
- color: #11b2ff !important;
926
  text-decoration: underline !important;
927
  }
928
  #query-monitor-main .qm a.qm-external-link:after,
@@ -977,7 +1183,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
977
  width: auto !important;
978
  }
979
  #query-monitor-main .qm label {
980
- color: #444 !important;
981
  cursor: pointer !important;
982
  font-size: 12px !important;
983
  font-style: normal !important;
@@ -1003,9 +1209,9 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1003
  -webkit-appearance: menulist !important;
1004
  -moz-appearance: menulist !important;
1005
  appearance: menulist !important;
1006
- background: #fff !important;
1007
  border: none !important;
1008
- color: #444 !important;
1009
  cursor: pointer !important;
1010
  display: block !important;
1011
  float: none !important;
@@ -1013,7 +1219,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1013
  letter-spacing: -0.1px !important;
1014
  margin: 0 0 0 5px !important;
1015
  max-width: 12em !important;
1016
- outline: 1px solid #aaa !important;
1017
  padding: 0 !important;
1018
  width: auto !important;
1019
  }
@@ -1021,7 +1227,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1021
  max-width: unset !important;
1022
  }
1023
  #query-monitor-main .qm select.qm-filter:hover {
1024
- background: #eef3fa !important;
1025
  }
1026
  #query-monitor-main .qm-hide,
1027
  #query-monitor-main .qm-hide-scripts-dependencies,
@@ -1042,7 +1248,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1042
  cursor: pointer !important;
1043
  }
1044
  #query-monitor-main .qm thead th.qm-sortable-column:hover {
1045
- background: #f3f3f3 !important;
1046
  }
1047
  #query-monitor-main .qm .qm-sort-heading {
1048
  flex-grow: 1 !important;
@@ -1052,6 +1258,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1052
  text-align: right !important;
1053
  }
1054
  #query-monitor-main .qm .qm-sortable-column .qm-sort-arrow {
 
1055
  color: #ccc !important;
1056
  display: block !important;
1057
  font-family: dashicons !important;
@@ -1068,10 +1275,10 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1068
  }
1069
  #query-monitor-main .qm .qm-sorted-desc .qm-sort-arrow,
1070
  #query-monitor-main .qm .qm-sorted-asc .qm-sort-arrow {
1071
- color: #444 !important;
1072
  }
1073
  #query-monitor-main .qm thead th.qm-sortable-column:hover .qm-sort-arrow {
1074
- color: #0073aa !important;
1075
  }
1076
  #query-monitor-main .qm .qm-sortable-column.qm-sorted-asc .qm-sort-arrow::before {
1077
  content: "\f142" !important;
@@ -1079,7 +1286,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1079
  #query-monitor-main .qm button:focus,
1080
  #query-monitor-main .qm a:focus,
1081
  #query-monitor-main .qm select:focus {
1082
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0072ab !important;
1083
  }
1084
  #query-monitor-main .qm button:active,
1085
  #query-monitor-main .qm a:active,
@@ -1115,7 +1322,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1115
  }
1116
  #query-monitor-main .qm.qm-debug-bar textarea,
1117
  #query-monitor-main .qm.qm-debug-bar pre {
1118
- border: 1px solid #ddd !important;
1119
  margin: 4px 0 !important;
1120
  padding: 10px !important;
1121
  }
@@ -1192,7 +1399,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1192
  margin-bottom: 50px !important;
1193
  }
1194
  #query-monitor-main.qm-broken .qm button.qm-filter-trigger {
1195
- color: #444 !important;
1196
  cursor: text !important;
1197
  }
1198
  #query-monitor-main.qm-broken .qm button.qm-filter-trigger:after {
@@ -1207,8 +1414,11 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1207
 
1208
  #qm-fatal {
1209
  margin: 1em !important;
 
1210
  border: 2px solid #c00 !important;
 
1211
  box-shadow: 0 0 0 2px #fff;
 
1212
  background: #fff !important;
1213
  max-width: 700px !important;
1214
  clear: both !important;
@@ -1219,10 +1429,12 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1219
  font-size: 12px !important;
1220
  font-weight: normal !important;
1221
  padding: 5px !important;
 
1222
  background: #f3f3f3 !important;
1223
  margin: 0 !important;
1224
  }
1225
  #qm-fatal .dashicons {
 
1226
  color: #c00 !important;
1227
  }
1228
  #qm-fatal ol,
@@ -1239,6 +1451,7 @@ body.admin-color-light #wp-admin-bar-query-monitor:not(.qm-all-clear):not(:hover
1239
  list-style: none !important;
1240
  }
1241
  #qm-fatal .qm-info {
 
1242
  color: #666 !important;
1243
  }
1244
 
1
  @charset "UTF-8";
2
  /**
3
+ * All the styles for Query Monitor.
4
  *
5
  * @package query-monitor
6
  */
7
+ /* Functions */
8
+ /* Fonts */
9
+ /* Admin Menu */
10
+ #query-monitor-main {
11
+ --qm-container-fg: #444;
12
+ --qm-container-bg: #f3f3f3;
13
+ --qm-container-overflow: #ececec;
14
+ --qm-panel-border: #aaa;
15
+ --qm-panel-fg: #444;
16
+ --qm-panel-bg: #fff;
17
+ --qm-panel-separator: #ddd;
18
+ --qm-panel-menu-border: #ddd;
19
+ --qm-panel-menu-fg: #444;
20
+ --qm-panel-menu-bg: #f3f3f3;
21
+ --qm-panel-menu-fg-hover: #444;
22
+ --qm-panel-menu-bg-hover: #cde;
23
+ --qm-panel-menu-fg-current: #444;
24
+ --qm-panel-menu-bg-current: #def;
25
+ --qm-panel-menu-bg-current-focus: #f7fbff;
26
+ --qm-panel-menu-fg-selected: #fff;
27
+ --qm-panel-menu-bg-selected: #0073aa;
28
+ --qm-panel-menu-bg-selected-focus: #0084c4;
29
+ --qm-panel-menu-shadow: #006291;
30
+ --qm-cell-border: #e0e0e0;
31
+ --qm-cell-bg-hover: #eef3fa;
32
+ --qm-cell-fg-highlight: #444;
33
+ --qm-cell-bg-highlight: #ffd;
34
+ --qm-cell-bg-highlight-dark: #ffffaa;
35
+ --qm-cell-bg-stripe: #f9f9f9;
36
+ --qm-table-header-bg: #fff;
37
+ --qm-table-footer-bg: #f3f3f3;
38
+ --qm-link-fg: #0073aa;
39
+ --qm-link-fg-hover: #0096dd;
40
+ --qm-link-fg-active: #11b2ff;
41
+ --qm-button-fg: #fff;
42
+ --qm-button-bg: #007cba;
43
+ --qm-button-fg-hover: #fff;
44
+ --qm-button-bg-hover: #0072ab;
45
+ --qm-button-fg-active: #fff;
46
+ --qm-button-bg-active: #00689b;
47
+ --qm-title-button-fg: #666;
48
+ --qm-title-button-bg: transparent;
49
+ --qm-title-button-fg-hover: #000;
50
+ --qm-title-button-bg-hover: #e6e6e6;
51
+ --qm-info-fg: #666;
52
+ --qm-warn-fg: #900;
53
+ --qm-warn-bg: #fff0f0;
54
+ --qm-warn-bg-dark: #ffe8e8;
55
+ --qm-warn-border: #ffd6d6;
56
+ --qm-nonselect-fg: #a0a;
57
+ --qm-selection-fg: #444;
58
+ --qm-selection-bg: #B9D6FB;
59
+ }
60
+
61
+ @media (prefers-color-scheme: dark) {
62
+ #query-monitor-main[data-theme=auto] {
63
+ --qm-container-fg: #eaeef2;
64
+ --qm-container-bg: #32373c;
65
+ --qm-container-overflow: #23282d;
66
+ --qm-panel-border: #50626f;
67
+ --qm-panel-fg: #eaeef2;
68
+ --qm-panel-bg: #23282d;
69
+ --qm-panel-separator: #50626f;
70
+ --qm-panel-menu-border: #32373c;
71
+ --qm-panel-menu-fg: #eaeef2;
72
+ --qm-panel-menu-bg: #23282d;
73
+ --qm-panel-menu-fg-hover: #bbc8d4;
74
+ --qm-panel-menu-bg-hover: #3e444a;
75
+ --qm-panel-menu-fg-current: #eaeef2;
76
+ --qm-panel-menu-bg-current: #32373c;
77
+ --qm-panel-menu-bg-current-focus: #3e444a;
78
+ --qm-panel-menu-fg-selected: #fff;
79
+ --qm-panel-menu-bg-selected: #0073aa;
80
+ --qm-panel-menu-bg-selected-focus: #0084c4;
81
+ --qm-panel-menu-shadow: #006291;
82
+ --qm-cell-border: #23282d;
83
+ --qm-cell-bg-hover: #373c42;
84
+ --qm-cell-fg-highlight: #eaeef2;
85
+ --qm-cell-bg-highlight: #57572a;
86
+ --qm-cell-bg-highlight-dark: #353519;
87
+ --qm-cell-bg-stripe: #32373c;
88
+ --qm-table-header-bg: #32373c;
89
+ --qm-table-footer-bg: #32373c;
90
+ --qm-link-fg: #30ceff;
91
+ --qm-link-fg-hover: #4092d2;
92
+ --qm-link-fg-active: #69aadc;
93
+ --qm-button-fg: #fff;
94
+ --qm-button-bg: #0085ba;
95
+ --qm-button-fg-hover: #fff;
96
+ --qm-button-bg-hover: #007aab;
97
+ --qm-button-fg-active: #fff;
98
+ --qm-button-bg-active: #006f9b;
99
+ --qm-title-button-fg: #bbc8d4;
100
+ --qm-title-button-bg: transparent;
101
+ --qm-title-button-fg-hover: #32373c;
102
+ --qm-title-button-bg-hover: #bbc8d4;
103
+ --qm-info-fg: #aaa;
104
+ --qm-warn-fg: #fff0f0;
105
+ --qm-warn-bg: #622;
106
+ --qm-warn-bg-dark: #6c2424;
107
+ --qm-warn-border: #ffd6d6;
108
+ --qm-nonselect-fg: #a6a;
109
+ --qm-selection-fg: #32373c;
110
+ --qm-selection-bg: #B9D6FB;
111
+ }
112
+ }
113
+ #query-monitor-main[data-theme=dark] {
114
+ --qm-container-fg: #eaeef2;
115
+ --qm-container-bg: #32373c;
116
+ --qm-container-overflow: #23282d;
117
+ --qm-panel-border: #50626f;
118
+ --qm-panel-fg: #eaeef2;
119
+ --qm-panel-bg: #23282d;
120
+ --qm-panel-separator: #50626f;
121
+ --qm-panel-menu-border: #32373c;
122
+ --qm-panel-menu-fg: #eaeef2;
123
+ --qm-panel-menu-bg: #23282d;
124
+ --qm-panel-menu-fg-hover: #bbc8d4;
125
+ --qm-panel-menu-bg-hover: #3e444a;
126
+ --qm-panel-menu-fg-current: #eaeef2;
127
+ --qm-panel-menu-bg-current: #32373c;
128
+ --qm-panel-menu-bg-current-focus: #3e444a;
129
+ --qm-panel-menu-fg-selected: #fff;
130
+ --qm-panel-menu-bg-selected: #0073aa;
131
+ --qm-panel-menu-bg-selected-focus: #0084c4;
132
+ --qm-panel-menu-shadow: #006291;
133
+ --qm-cell-border: #23282d;
134
+ --qm-cell-bg-hover: #373c42;
135
+ --qm-cell-fg-highlight: #eaeef2;
136
+ --qm-cell-bg-highlight: #57572a;
137
+ --qm-cell-bg-highlight-dark: #353519;
138
+ --qm-cell-bg-stripe: #32373c;
139
+ --qm-table-header-bg: #32373c;
140
+ --qm-table-footer-bg: #32373c;
141
+ --qm-link-fg: #30ceff;
142
+ --qm-link-fg-hover: #4092d2;
143
+ --qm-link-fg-active: #69aadc;
144
+ --qm-button-fg: #fff;
145
+ --qm-button-bg: #0085ba;
146
+ --qm-button-fg-hover: #fff;
147
+ --qm-button-bg-hover: #007aab;
148
+ --qm-button-fg-active: #fff;
149
+ --qm-button-bg-active: #006f9b;
150
+ --qm-title-button-fg: #bbc8d4;
151
+ --qm-title-button-bg: transparent;
152
+ --qm-title-button-fg-hover: #32373c;
153
+ --qm-title-button-bg-hover: #bbc8d4;
154
+ --qm-info-fg: #aaa;
155
+ --qm-warn-fg: #fff0f0;
156
+ --qm-warn-bg: #622;
157
+ --qm-warn-bg-dark: #6c2424;
158
+ --qm-warn-border: #ffd6d6;
159
+ --qm-nonselect-fg: #a6a;
160
+ --qm-selection-fg: #32373c;
161
+ --qm-selection-bg: #B9D6FB;
162
+ }
163
+
164
  #wpadminbar .quicklinks .menupop ul li.qm-true > a {
165
  color: #8c8 !important;
166
  }
170
  #wpadminbar .qm-alert {
171
  background-color: #f60;
172
  }
 
 
 
173
  #wpadminbar #wp-admin-bar-query-monitor-stricts a,
174
  #wpadminbar #wp-admin-bar-query-monitor-deprecateds a,
175
  #wpadminbar #wp-admin-bar-query-monitor-notices a,
178
  #wpadminbar .qm-notice {
179
  background-color: #740;
180
  }
181
+ #wpadminbar #wp-admin-bar-query-monitor-stricts a:focus, #wpadminbar #wp-admin-bar-query-monitor-stricts a:hover,
182
+ #wpadminbar #wp-admin-bar-query-monitor-deprecateds a:focus,
183
+ #wpadminbar #wp-admin-bar-query-monitor-deprecateds a:hover,
184
+ #wpadminbar #wp-admin-bar-query-monitor-notices a:focus,
185
+ #wpadminbar #wp-admin-bar-query-monitor-notices a:hover,
186
+ #wpadminbar .qm-strict:focus,
187
+ #wpadminbar .qm-strict:hover,
188
+ #wpadminbar .qm-deprecated:focus,
189
+ #wpadminbar .qm-deprecated:hover,
190
+ #wpadminbar .qm-notice:focus,
191
+ #wpadminbar .qm-notice:hover {
192
+ background-color: #5e3500;
193
+ }
194
  #wpadminbar #wp-admin-bar-query-monitor-expensive a,
195
  #wpadminbar .qm-expensive {
196
  background-color: #b60;
197
  }
198
+ #wpadminbar #wp-admin-bar-query-monitor-expensive a:focus, #wpadminbar #wp-admin-bar-query-monitor-expensive a:hover,
199
+ #wpadminbar .qm-expensive:focus,
200
  #wpadminbar .qm-expensive:hover {
201
+ background-color: #a25800;
202
  }
203
  #wpadminbar #wp-admin-bar-query-monitor-logger-warning a,
204
  #wpadminbar #wp-admin-bar-query-monitor-warnings a,
207
  #wpadminbar .qm-warning {
208
  background-color: #c00;
209
  }
210
+ #wpadminbar #wp-admin-bar-query-monitor-logger-warning a:focus, #wpadminbar #wp-admin-bar-query-monitor-logger-warning a:hover,
211
+ #wpadminbar #wp-admin-bar-query-monitor-warnings a:focus,
212
  #wpadminbar #wp-admin-bar-query-monitor-warnings a:hover,
213
+ #wpadminbar #wp-admin-bar-query-monitor-errors a:focus,
214
  #wpadminbar #wp-admin-bar-query-monitor-errors a:hover,
215
+ #wpadminbar .qm-error:focus,
216
  #wpadminbar .qm-error:hover,
217
+ #wpadminbar .qm-warning:focus,
218
  #wpadminbar .qm-warning:hover {
219
  background-color: #b30000;
220
  }
299
  box-shadow: none !important;
300
  box-sizing: border-box !important;
301
  clear: both !important;
302
+ color: var(--qm-container-fg) !important;
303
  float: none !important;
304
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
305
  font-size: 12px !important;
381
  box-shadow: none !important;
382
  box-sizing: border-box !important;
383
  clear: both !important;
384
+ color: var(--qm-container-fg) !important;
385
  float: none !important;
386
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
387
  font-size: 12px !important;
403
  vertical-align: baseline !important;
404
  word-break: normal !important;
405
  word-wrap: normal !important;
406
+ background: var(--qm-panel-bg) !important;
407
+ border-top: 1px solid var(--qm-panel-border) !important;
408
  bottom: 0 !important;
409
  contain: layout paint;
410
  direction: ltr !important;
420
  display: none !important;
421
  }
422
  #query-monitor-main ::selection {
423
+ background-color: var(--qm-selection-bg) !important;
424
+ color: var(--qm-selection-fg) !important;
425
  }
426
  #query-monitor-main strong,
427
  #query-monitor-main b {
448
  top: 32px !important;
449
  left: unset !important;
450
  border-top: 0 !important;
451
+ border-left: 1px solid var(--qm-panel-border) !important;
452
  }
453
  #query-monitor-main.qm-show-right #qm-panel-menu,
454
  #query-monitor-main.qm-show-right #qm-title h1.qm-title-heading {
483
  }
484
  #query-monitor-main #qm-title {
485
  align-items: center !important;
486
+ background: var(--qm-container-bg) !important;
487
+ border-bottom: 1px solid var(--qm-panel-border) !important;
488
  cursor: ns-resize !important;
489
  display: flex !important;
490
  flex-shrink: 0 !important;
524
  }
525
  }
526
  #query-monitor-main #qm-title button {
527
+ background: var(--qm-title-button-bg) !important;
528
+ color: var(--qm-title-button-fg) !important;
529
  cursor: pointer !important;
530
  display: inline-block !important;
531
  margin: 0 0 0 0px !important;
536
  #query-monitor-main #qm-title button:hover *,
537
  #query-monitor-main #qm-title button:focus,
538
  #query-monitor-main #qm-title button:hover {
539
+ background: var(--qm-title-button-bg-hover) !important;
540
+ color: var(--qm-title-button-fg-hover) !important;
541
  }
542
  #query-monitor-main #qm-title button:active *,
543
  #query-monitor-main #qm-title button:active {
544
+ /* @TODO */
545
  background: #ccc !important;
546
  }
547
  #query-monitor-main #qm-title button.qm-button-active {
548
+ /* @TODO */
549
  color: #3879d9 !important;
550
  }
551
  #query-monitor-main #qm-title .qm-button-container-settings .dashicons {
565
  display: none !important;
566
  }
567
  #query-monitor-main #qm-panel-menu {
568
+ background: var(--qm-container-overflow) !important;
569
  flex-shrink: 0 !important;
570
  overflow-y: scroll !important;
571
  overscroll-behavior: contain !important;
589
  display: none !important;
590
  }
591
  #query-monitor-main #qm-panel-menu li button {
592
+ background: var(--qm-panel-menu-bg) !important;
593
+ border-bottom: 1px solid var(--qm-panel-menu-border) !important;
594
+ border-right: 1px solid var(--qm-panel-border) !important;
595
+ color: var(--qm-panel-menu-fg) !important;
596
  cursor: pointer !important;
597
  display: block !important;
598
  padding: 6px 32px 6px 10px !important;
602
  }
603
  #query-monitor-main #qm-panel-menu li button:focus,
604
  #query-monitor-main #qm-panel-menu li button:hover {
605
+ background: var(--qm-panel-menu-bg-hover) !important;
606
+ color: var(--qm-panel-menu-fg-hover) !important;
607
  }
608
  #query-monitor-main #qm-panel-menu li button:focus {
609
  text-decoration: underline !important;
610
  }
611
  #query-monitor-main #qm-panel-menu li button:active {
612
  text-decoration: none !important;
613
+ background: var(--qm-panel-menu-bg-selected) !important;
614
+ color: var(--qm-panel-menu-fg-selected) !important;
615
+ text-shadow: 0 -1px 1px var(--qm-panel-menu-shadow), 1px 0 1px var(--qm-panel-menu-shadow), 0 1px 1px var(--qm-panel-menu-shadow), -1px 0 1px var(--qm-panel-menu-shadow) !important;
616
  }
617
  #query-monitor-main #qm-panel-menu li.qm-current-menu ul {
618
  display: block !important;
619
  }
620
  #query-monitor-main #qm-panel-menu li.qm-current-menu button {
621
+ background: var(--qm-panel-menu-bg-current) !important;
622
+ color: var(--qm-panel-menu-fg-current) !important;
623
  }
624
  #query-monitor-main #qm-panel-menu li.qm-current-menu button:focus {
625
+ background: var(--qm-panel-menu-bg-current-focus) !important;
626
+ color: var(--qm-panel-menu-fg-current) !important;
627
  }
628
  #query-monitor-main #qm-panel-menu li.qm-current-menu button:hover {
629
+ background: var(--qm-panel-menu-bg-hover) !important;
630
+ color: var(--qm-panel-menu-fg-hover) !important;
631
  }
632
  #query-monitor-main #qm-panel-menu li li button::before {
633
  content: "└" !important;
635
  margin-right: 5px !important;
636
  }
637
  #query-monitor-main #qm-panel-menu li button[aria-selected=true] {
638
+ background: var(--qm-panel-menu-bg-selected) !important;
639
+ color: var(--qm-panel-menu-fg-selected) !important;
640
+ text-shadow: 0 -1px 1px var(--qm-panel-menu-shadow), 1px 0 1px var(--qm-panel-menu-shadow), 0 1px 1px var(--qm-panel-menu-shadow), -1px 0 1px var(--qm-panel-menu-shadow) !important;
641
  }
642
  #query-monitor-main #qm-panel-menu li button[aria-selected=true]:focus {
643
+ background: var(--qm-panel-menu-bg-selected-focus) !important;
644
+ color: var(--qm-panel-menu-fg-selected) !important;
645
  }
646
  #query-monitor-main #qm-panel-menu li button[aria-selected=true]:hover {
647
+ background: var(--qm-panel-menu-bg-selected) !important;
648
+ color: var(--qm-panel-menu-fg-selected) !important;
649
  }
650
  #query-monitor-main #qm-panel-menu li button[aria-selected=true]:after {
651
  border: solid 8px transparent;
652
+ border-right-color: var(--qm-panel-bg);
653
  content: " ";
654
  display: inline-block !important;
655
  height: 0;
676
  display: flex !important;
677
  flex-wrap: wrap !important;
678
  }
679
+ #query-monitor-main .qm-boxed:not(#qm-broken) + .qm-grid, #query-monitor-main .qm-boxed:not(#qm-broken) + .qm-boxed {
680
+ border-top: 1px solid var(--qm-panel-separator) !important;
681
  padding-top: 10px !important;
682
  }
683
+ #query-monitor-main .qm-grid {
684
+ display: flex !important;
685
  flex-wrap: wrap !important;
686
  }
687
+ #query-monitor-main .qm-grid section {
688
+ width: 22em !important;
689
+ }
690
  #query-monitor-main .qm .qm-none {
691
  margin: 2em !important;
692
  }
697
  #query-monitor-main .qm table {
698
  border: none !important;
699
  border-collapse: collapse !important;
700
+ box-shadow: 0px 1px 0px 0px var(--qm-panel-border) !important;
701
+ color: var(--qm-panel-fg) !important;
702
  margin: 0 !important;
703
  table-layout: auto !important;
704
  width: 100% !important;
705
  }
706
  #query-monitor-main .qm table + table {
707
+ border-top: 1px solid var(--qm-cell-border) !important;
708
  margin-top: 5px !important;
709
  }
710
  #query-monitor-main .qm tr {
714
  #query-monitor-main .qm tbody td,
715
  #query-monitor-main .qm tfoot th,
716
  #query-monitor-main .qm tfoot td {
717
+ border: 1px solid var(--qm-cell-border) !important;
718
  padding: 5px 5px 4px 5px !important;
719
  vertical-align: top !important;
720
  }
724
  border-top: none !important;
725
  }
726
  #query-monitor-main .qm thead th {
727
+ background: var(--qm-table-header-bg) !important;
728
+ border: 1px solid var(--qm-cell-border) !important;
729
  border-top: none !important;
730
+ box-shadow: 0px 1px 0px var(--qm-cell-border) !important;
731
  padding: 5px !important;
732
  position: -webkit-sticky !important;
733
  position: sticky !important;
743
  }
744
  #query-monitor-main .qm tfoot tr td,
745
  #query-monitor-main .qm tfoot tr th {
746
+ background: var(--qm-table-footer-bg) !important;
747
  border: none !important;
748
  bottom: 0 !important;
749
+ box-shadow: inset 0px 1px 0px var(--qm-cell-border) !important;
750
  position: -webkit-sticky !important;
751
  position: sticky !important;
752
  }
802
  }
803
  #query-monitor-main .qm .qm-has-inner .qm-toggled > table {
804
  border-bottom: none !important;
805
+ border-top: 1px solid var(--qm-cell-border) !important;
806
  }
807
  #query-monitor-main .qm td.qm-has-inner .qm-toggler,
808
  #query-monitor-main .qm td.qm-has-inner {
813
  margin: 20px !important;
814
  }
815
  #query-monitor-main .qm-concerns table {
816
+ border-top: 1px solid var(--qm-cell-border) !important;
817
  margin-bottom: 20px !important;
818
  }
819
  #query-monitor-main .qm-non-tabular {
836
  max-width: 60em !important;
837
  }
838
  #query-monitor-main .qm-non-tabular dt {
839
+ border-top: 1px solid var(--qm-panel-separator) !important;
840
  flex-grow: 0;
841
  flex: 1 0 16em;
842
  padding: 10px 10px 10px 0 !important;
843
  }
844
  #query-monitor-main .qm-non-tabular dd {
845
+ border-top: 1px solid var(--qm-panel-separator) !important;
846
  flex: 1 0 calc(100% - 10px - 16em);
847
  padding: 10px 0 !important;
848
  }
850
  #query-monitor-main .qm-non-tabular .qm-section {
851
  margin: 0 0 30px 0 !important;
852
  }
853
+ #query-monitor-main .qm-non-tabular .qm-grid section,
854
  #query-monitor-main .qm-non-tabular .qm-boxed section,
855
  #query-monitor-main .qm-non-tabular .qm-boxed .qm-section {
856
+ border-right: 1px solid var(--qm-panel-separator) !important;
857
  margin: 0 20px 10px 0 !important;
858
  padding: 10px 20px 10px 0 !important;
859
  }
860
+ #query-monitor-main .qm-non-tabular .qm-grid section:last-child,
861
  #query-monitor-main .qm-non-tabular .qm-boxed section:last-child,
862
  #query-monitor-main .qm-non-tabular .qm-boxed .qm-section:last-child {
863
  border-right: none !important;
864
  margin-right: 0 !important;
 
865
  }
866
  #query-monitor-main .qm-non-tabular table {
867
+ border-bottom-color: var(--qm-cell-border) !important;
868
  }
869
  #query-monitor-main #qm-conditionals li {
870
  display: inline-block !important;
898
  #query-monitor-main .qm p.qm-true,
899
  #query-monitor-main .qm span.qm-true,
900
  #query-monitor-main .qm td.qm-true {
901
+ /* @TODO */
902
  color: #282 !important;
903
  }
904
  #query-monitor-main .qm .qm-false code,
905
  #query-monitor-main .qm span.qm-false,
906
  #query-monitor-main .qm td.qm-false {
907
+ /* @TODO */
908
  color: #999 !important;
909
  }
910
  #query-monitor-main .qm .qm-num,
931
  #query-monitor-main .qm td.qm-has-toggle p,
932
  #query-monitor-main .qm .qm-nonselectsql code,
933
  #query-monitor-main .qm .qm-nonselectsql {
934
+ color: var(--qm-nonselect-fg) !important;
935
  }
936
  #query-monitor-main .qm .qm-info {
937
+ color: var(--qm-info-fg) !important;
938
  }
939
  #query-monitor-main .qm .qm-supplemental {
940
  margin-left: 0.75em !important;
946
  }
947
  #query-monitor-main .qm button.qm-button,
948
  #query-monitor-main .qm .qm-toggle {
949
+ background: var(--qm-button-bg) !important;
950
+ border: 1px solid var(--qm-button-bg) !important;
951
  border-radius: 3px !important;
952
+ color: var(--qm-button-fg) !important;
953
  cursor: pointer !important;
954
  font-weight: normal !important;
955
  text-shadow: none !important;
980
  }
981
  #query-monitor-main .qm button.qm-button:hover,
982
  #query-monitor-main .qm .qm-toggle:hover {
983
+ background: var(--qm-button-bg-hover) !important;
984
+ border-color: var(--qm-button-bg-hover) !important;
985
+ color: var(--qm-button-fg-hover) !important;
986
  text-decoration: none !important;
987
  }
988
  #query-monitor-main .qm button.qm-button:focus,
989
  #query-monitor-main .qm .qm-toggle:focus {
990
+ background: var(--qm-button-bg-hover) !important;
991
+ border-color: var(--qm-button-bg-hover) !important;
992
+ color: var(--qm-button-fg-hover) !important;
993
+ box-shadow: 0 0 0 1px #fff, 0 0 0 3px var(--qm-button-bg-hover) !important;
994
  }
995
  #query-monitor-main .qm button.qm-button:active,
996
  #query-monitor-main .qm .qm-toggle:active {
997
+ background: var(--qm-button-bg-active) !important;
998
+ border-color: var(--qm-button-bg-active) !important;
999
+ color: var(--qm-button-fg-active) !important;
1000
  box-shadow: none !important;
1001
  }
1002
+ #query-monitor-main .qm input[type=radio].qm-radio,
1003
+ #query-monitor-main .qm input[type=radio].qm-radio:checked,
1004
+ #query-monitor-main .qm input[type=radio].qm-radio:focus,
1005
+ #query-monitor-main .qm input[type=radio].qm-radio:checked:focus,
1006
+ #query-monitor-main .qm input[type=radio].qm-radio:hover,
1007
+ #query-monitor-main .qm input[type=radio].qm-radio:checked:hover {
1008
+ all: revert !important;
1009
+ accent-color: var(--qm-button-bg) !important;
1010
+ }
1011
+ #query-monitor-main .qm input[type=radio].qm-radio::before, #query-monitor-main .qm input[type=radio].qm-radio::after,
1012
+ #query-monitor-main .qm input[type=radio].qm-radio:checked::before,
1013
+ #query-monitor-main .qm input[type=radio].qm-radio:checked::after,
1014
+ #query-monitor-main .qm input[type=radio].qm-radio:focus::before,
1015
+ #query-monitor-main .qm input[type=radio].qm-radio:focus::after,
1016
+ #query-monitor-main .qm input[type=radio].qm-radio:checked:focus::before,
1017
+ #query-monitor-main .qm input[type=radio].qm-radio:checked:focus::after,
1018
+ #query-monitor-main .qm input[type=radio].qm-radio:hover::before,
1019
+ #query-monitor-main .qm input[type=radio].qm-radio:hover::after,
1020
+ #query-monitor-main .qm input[type=radio].qm-radio:checked:hover::before,
1021
+ #query-monitor-main .qm input[type=radio].qm-radio:checked:hover::after {
1022
+ display: none !important;
1023
+ }
1024
  #query-monitor-main .qm tbody tr.qm-odd td,
1025
  #query-monitor-main .qm tbody tr.qm-odd th {
1026
+ background: var(--qm-cell-bg-stripe) !important;
1027
  }
1028
  #query-monitor-main .qm-non-tabular .qm-warn,
1029
  #query-monitor-main .qm thead tr .qm-warn,
1030
  #query-monitor-main .qm tbody tr .qm-warn {
1031
+ background-color: var(--qm-warn-bg) !important;
1032
+ color: var(--qm-warn-fg) !important;
1033
  }
1034
  #query-monitor-main .qm tbody tr th.qm-warn,
1035
  #query-monitor-main .qm tbody tr td.qm-warn,
1036
  #query-monitor-main .qm tbody tr.qm-warn td,
1037
  #query-monitor-main .qm tbody tr.qm-warn th {
1038
+ background-color: var(--qm-warn-bg) !important;
1039
+ color: var(--qm-warn-fg) !important;
1040
  }
1041
  #query-monitor-main .qm tbody tr.qm-odd th.qm-warn,
1042
  #query-monitor-main .qm tbody tr.qm-odd td.qm-warn,
1043
  #query-monitor-main .qm tbody tr.qm-odd.qm-warn td,
1044
  #query-monitor-main .qm tbody tr.qm-odd.qm-warn th {
1045
+ background-color: var(--qm-warn-bg-dark) !important;
1046
  }
1047
  #query-monitor-main .qm-non-tabular .qm-warn code,
1048
  #query-monitor-main .qm tbody .qm-warn li,
1049
  #query-monitor-main .qm tbody .qm-warn .qm-info,
1050
  #query-monitor-main .qm tbody .qm-warn code {
1051
  background-color: transparent !important;
1052
+ color: var(--qm-warn-fg) !important;
1053
  }
1054
  #query-monitor-main .qm .qm-notice {
1055
+ background: var(--qm-panel-menu-bg-current) !important;
1056
+ border: 1px solid var(--qm-panel-menu-bg-hover) !important;
1057
  margin: 0 0 10px 0 !important;
1058
+ max-width: 40em !important;
1059
  padding: 10px 20px 0 !important;
1060
  }
1061
  #query-monitor-main .qm .dashicons {
1066
  width: 16px !important;
1067
  }
1068
  #query-monitor-main .qm .qm-dashicons-yes {
1069
+ /* @TODO */
1070
  background-color: #0a0 !important;
1071
  border-radius: 50% !important;
1072
+ /* @TODO */
1073
  color: #fff !important;
1074
  }
1075
  #query-monitor-main .qm tbody tr td.qm-highlight,
1076
  #query-monitor-main .qm tbody tr.qm-highlight th,
1077
  #query-monitor-main .qm tbody tr.qm-highlight td {
1078
+ background-color: var(--qm-cell-bg-highlight) !important;
1079
+ color: var(--qm-cell-fg-highlight) !important;
1080
  }
1081
  #query-monitor-main .qm tbody tr.qm-odd td.qm-highlight,
1082
  #query-monitor-main .qm tbody tr.qm-odd.qm-highlight th,
1083
  #query-monitor-main .qm tbody tr.qm-odd.qm-highlight td {
1084
+ background-color: var(--qm-cell-bg-highlight-dark) !important;
1085
+ color: var(--qm-cell-fg-highlight) !important;
1086
  }
1087
  #query-monitor-main .qm tbody tr.qm-odd.qm-hovered th,
1088
  #query-monitor-main .qm tbody tr.qm-odd.qm-hovered td,
1092
  #query-monitor-main .qm tbody tr.qm-hovered td,
1093
  #query-monitor-main .qm tbody tr:hover th,
1094
  #query-monitor-main .qm tbody tr:hover td {
1095
+ background: var(--qm-cell-bg-hover) !important;
1096
  }
1097
  #query-monitor-main .qm thead th.qm-filtered select.qm-filter {
1098
+ background-color: var(--qm-cell-bg-highlight) !important;
1099
+ color: var(--qm-cell-fg-highlight) !important;
1100
  }
1101
  #query-monitor-main .qm button.qm-filter-trigger,
1102
  #query-monitor-main .qm button.qm-filter-trigger code,
1103
  #query-monitor-main .qm tbody .qm-warn a code,
1104
  #query-monitor-main .qm a code,
1105
  #query-monitor-main .qm a {
1106
+ color: var(--qm-link-fg) !important;
1107
  cursor: pointer !important;
1108
  text-decoration: none !important;
1109
  }
1120
  #query-monitor-main .qm a:after,
1121
  #query-monitor-main .qm a:focus,
1122
  #query-monitor-main .qm a:hover {
1123
+ color: var(--qm-link-fg-hover) !important;
1124
  text-decoration: underline !important;
1125
  }
1126
  #query-monitor-main .qm button.qm-filter-trigger:active,
1128
  #query-monitor-main .qm tbody .qm-warn a code:active,
1129
  #query-monitor-main .qm a code:active,
1130
  #query-monitor-main .qm a:active {
1131
+ color: var(--qm-link-fg-active) !important;
1132
  text-decoration: underline !important;
1133
  }
1134
  #query-monitor-main .qm a.qm-external-link:after,
1183
  width: auto !important;
1184
  }
1185
  #query-monitor-main .qm label {
1186
+ color: var(--qm-panel-fg) !important;
1187
  cursor: pointer !important;
1188
  font-size: 12px !important;
1189
  font-style: normal !important;
1209
  -webkit-appearance: menulist !important;
1210
  -moz-appearance: menulist !important;
1211
  appearance: menulist !important;
1212
+ background: var(--qm-table-header-bg) !important;
1213
  border: none !important;
1214
+ color: var(--qm-panel-fg) !important;
1215
  cursor: pointer !important;
1216
  display: block !important;
1217
  float: none !important;
1219
  letter-spacing: -0.1px !important;
1220
  margin: 0 0 0 5px !important;
1221
  max-width: 12em !important;
1222
+ outline: 1px solid var(--qm-panel-border) !important;
1223
  padding: 0 !important;
1224
  width: auto !important;
1225
  }
1227
  max-width: unset !important;
1228
  }
1229
  #query-monitor-main .qm select.qm-filter:hover {
1230
+ background: var(--qm-cell-bg-hover) !important;
1231
  }
1232
  #query-monitor-main .qm-hide,
1233
  #query-monitor-main .qm-hide-scripts-dependencies,
1248
  cursor: pointer !important;
1249
  }
1250
  #query-monitor-main .qm thead th.qm-sortable-column:hover {
1251
+ background: var(--qm-container-bg) !important;
1252
  }
1253
  #query-monitor-main .qm .qm-sort-heading {
1254
  flex-grow: 1 !important;
1258
  text-align: right !important;
1259
  }
1260
  #query-monitor-main .qm .qm-sortable-column .qm-sort-arrow {
1261
+ /* @TODO */
1262
  color: #ccc !important;
1263
  display: block !important;
1264
  font-family: dashicons !important;
1275
  }
1276
  #query-monitor-main .qm .qm-sorted-desc .qm-sort-arrow,
1277
  #query-monitor-main .qm .qm-sorted-asc .qm-sort-arrow {
1278
+ color: var(--qm-container-fg) !important;
1279
  }
1280
  #query-monitor-main .qm thead th.qm-sortable-column:hover .qm-sort-arrow {
1281
+ color: var(--qm-panel-menu-bg-selected) !important;
1282
  }
1283
  #query-monitor-main .qm .qm-sortable-column.qm-sorted-asc .qm-sort-arrow::before {
1284
  content: "\f142" !important;
1286
  #query-monitor-main .qm button:focus,
1287
  #query-monitor-main .qm a:focus,
1288
  #query-monitor-main .qm select:focus {
1289
+ box-shadow: 0 0 0 1px #fff, 0 0 0 3px var(--qm-button-bg-hover) !important;
1290
  }
1291
  #query-monitor-main .qm button:active,
1292
  #query-monitor-main .qm a:active,
1322
  }
1323
  #query-monitor-main .qm.qm-debug-bar textarea,
1324
  #query-monitor-main .qm.qm-debug-bar pre {
1325
+ border: 1px solid var(--qm-panel-separator) !important;
1326
  margin: 4px 0 !important;
1327
  padding: 10px !important;
1328
  }
1399
  margin-bottom: 50px !important;
1400
  }
1401
  #query-monitor-main.qm-broken .qm button.qm-filter-trigger {
1402
+ color: var(--qm-container-fg) !important;
1403
  cursor: text !important;
1404
  }
1405
  #query-monitor-main.qm-broken .qm button.qm-filter-trigger:after {
1414
 
1415
  #qm-fatal {
1416
  margin: 1em !important;
1417
+ /* @TODO */
1418
  border: 2px solid #c00 !important;
1419
+ /* @TODO */
1420
  box-shadow: 0 0 0 2px #fff;
1421
+ /* @TODO */
1422
  background: #fff !important;
1423
  max-width: 700px !important;
1424
  clear: both !important;
1429
  font-size: 12px !important;
1430
  font-weight: normal !important;
1431
  padding: 5px !important;
1432
+ /* @TODO */
1433
  background: #f3f3f3 !important;
1434
  margin: 0 !important;
1435
  }
1436
  #qm-fatal .dashicons {
1437
+ /* @TODO */
1438
  color: #c00 !important;
1439
  }
1440
  #qm-fatal ol,
1451
  list-style: none !important;
1452
  }
1453
  #qm-fatal .qm-info {
1454
+ /* @TODO */
1455
  color: #666 !important;
1456
  }
1457
 
assets/query-monitor.js CHANGED
@@ -67,6 +67,12 @@ if ( window.jQuery ) {
67
 
68
  container.removeClass('qm-no-js').addClass('qm-js');
69
 
 
 
 
 
 
 
70
  if ( $('#qm-fatal').length ) {
71
  console.error(qm_l10n.fatal_error + ': ' + $('#qm-fatal').attr('data-qm-message') );
72
 
@@ -460,6 +466,11 @@ if ( window.jQuery ) {
460
  e.preventDefault();
461
  });
462
 
 
 
 
 
 
463
  $.qm.tableSort({target: $('.qm-sortable')});
464
 
465
  var startY, startX, resizerHeight;
67
 
68
  container.removeClass('qm-no-js').addClass('qm-js');
69
 
70
+ var theme = localStorage.getItem( 'qm-theme' );
71
+ if ( theme ) {
72
+ container.attr('data-theme', theme);
73
+ $('.qm-theme-toggle[value="' + theme + '"]').prop('checked', true);
74
+ }
75
+
76
  if ( $('#qm-fatal').length ) {
77
  console.error(qm_l10n.fatal_error + ': ' + $('#qm-fatal').attr('data-qm-message') );
78
 
466
  e.preventDefault();
467
  });
468
 
469
+ $('.qm-theme-toggle').on('click',function(e){
470
+ container.attr('data-theme',$(this).val());
471
+ localStorage.setItem('qm-theme',$(this).val());
472
+ });
473
+
474
  $.qm.tableSort({target: $('.qm-sortable')});
475
 
476
  var startY, startX, resizerHeight;
classes/Backtrace.php CHANGED
@@ -122,7 +122,7 @@ class QM_Backtrace {
122
  * @param mixed[] $trace
123
  */
124
  public function __construct( array $args = array(), array $trace = null ) {
125
- $this->trace = ( null === $trace ) ? debug_backtrace( false ) : $trace;
126
 
127
  $this->args = array_merge( array(
128
  'ignore_class' => array(),
@@ -430,6 +430,10 @@ class QM_Backtrace {
430
  'do_action_deprecated' => true,
431
  );
432
 
 
 
 
 
433
  if ( isset( $frame['class'] ) ) {
434
  if ( isset( $ignore_class[ $frame['class'] ] ) ) {
435
  $return = null;
122
  * @param mixed[] $trace
123
  */
124
  public function __construct( array $args = array(), array $trace = null ) {
125
+ $this->trace = ( null === $trace ) ? debug_backtrace( 0 ) : $trace;
126
 
127
  $this->args = array_merge( array(
128
  'ignore_class' => array(),
430
  'do_action_deprecated' => true,
431
  );
432
 
433
+ if ( ! isset( $frame['function'] ) ) {
434
+ $frame['function'] = '(unknown)';
435
+ }
436
+
437
  if ( isset( $frame['class'] ) ) {
438
  if ( isset( $ignore_class[ $frame['class'] ] ) ) {
439
  $return = null;
classes/PHP.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package query-monitor
6
  */
7
 
8
- abstract class QM_PHP {
9
 
10
  /**
11
  * @var string
5
  * @package query-monitor
6
  */
7
 
8
+ class QM_PHP {
9
 
10
  /**
11
  * @var string
classes/Plugin.php CHANGED
@@ -54,7 +54,13 @@ abstract class QM_Plugin {
54
  * @return string Version
55
  */
56
  final public function plugin_ver( $file ) {
57
- return (string) filemtime( $this->plugin_path( $file ) );
 
 
 
 
 
 
58
  }
59
 
60
  /**
54
  * @return string Version
55
  */
56
  final public function plugin_ver( $file ) {
57
+ $path = $this->plugin_path( $file );
58
+
59
+ if ( file_exists( $path ) ) {
60
+ return (string) filemtime( $path );
61
+ }
62
+
63
+ return QM_VERSION;
64
  }
65
 
66
  /**
classes/Util.php CHANGED
@@ -144,6 +144,10 @@ class QM_Util {
144
  self::$file_dirs['unknown'] = null;
145
 
146
  foreach ( self::$file_dirs as $type => $dir ) {
 
 
 
 
147
  self::$file_dirs[ $type ] = self::standard_dir( $dir );
148
  }
149
  }
144
  self::$file_dirs['unknown'] = null;
145
 
146
  foreach ( self::$file_dirs as $type => $dir ) {
147
+ if ( null === $dir ) {
148
+ continue;
149
+ }
150
+
151
  self::$file_dirs[ $type ] = self::standard_dir( $dir );
152
  }
153
  }
collectors/db_queries.php CHANGED
@@ -249,7 +249,7 @@ class QM_Collector_DB_Queries extends QM_Collector {
249
  $row = array(
250
  'caller' => null,
251
  'caller_name' => null,
252
- 'stack' => '',
253
  'sql' => $error['query'],
254
  'ltime' => 0,
255
  'result' => new WP_Error( 'qmdb', $error['error_str'] ),
249
  $row = array(
250
  'caller' => null,
251
  'caller_name' => null,
252
+ 'stack' => array(),
253
  'sql' => $error['query'],
254
  'ltime' => 0,
255
  'result' => new WP_Error( 'qmdb', $error['error_str'] ),
composer.json CHANGED
@@ -15,20 +15,19 @@
15
  "composer/installers": "~1.0"
16
  },
17
  "require-dev": {
 
 
 
 
18
  "dealerdirect/phpcodesniffer-composer-installer": "0.7.0",
19
- "johnbillion/falsey-assertequals-detector": "^1 || ^3",
20
  "phpcompatibility/phpcompatibility-wp": "2.1.0",
21
  "phpstan/phpstan": "^1.0",
22
  "phpstan/phpstan-phpunit": "^1.0",
23
- "phpunit/phpunit": "^5 || ^7",
24
  "roots/wordpress": "*",
25
  "squizlabs/php_codesniffer": "3.5.8",
26
  "szepeviktor/phpstan-wordpress": "^1.0",
27
- "vlucas/phpdotenv": "^3",
28
- "wp-cli/db-command": "^2",
29
- "wp-coding-standards/wpcs": "2.3.0",
30
- "wp-phpunit/wp-phpunit": "*",
31
- "yoast/phpunit-polyfills": "^1.0"
32
  },
33
  "config": {
34
  "preferred-install": "dist",
@@ -43,26 +42,38 @@
43
  "wordpress-install-dir": "tests/wordpress"
44
  },
45
  "scripts": {
46
- "post-update-cmd": [
47
- "@php -r \"! file_exists( 'tests/.env' ) && copy( 'tests/.env.dist', 'tests/.env' );\""
48
- ],
49
  "test": [
50
- "@test:cs",
51
  "@test:phpstan",
52
- "@test:ut"
 
 
53
  ],
54
  "test:cs": [
55
  "phpcs -nps --colors --report-code --report-width=80 --cache=tests/cache/phpcs --basepath='./' ."
56
  ],
57
  "test:phpstan": [
 
58
  "phpstan analyze"
59
  ],
60
- "test:ut": [
61
- "wp db reset --yes --path=tests/wordpress #",
62
- "export WP_MULTISITE=0 && phpunit --verbose --colors=always --exclude-group=ms-required",
63
- "export WP_MULTISITE=1 && phpunit --verbose --colors=always --exclude-group=ms-excluded"
 
 
 
 
 
 
 
 
64
  ]
65
  },
 
 
 
 
 
66
  "support": {
67
  "issues": "https://github.com/johnbillion/query-monitor/issues",
68
  "forum": "https://wordpress.org/support/plugin/query-monitor",
15
  "composer/installers": "~1.0"
16
  },
17
  "require-dev": {
18
+ "codeception/module-asserts": "^1.0",
19
+ "codeception/module-webdriver": "^1.0",
20
+ "codeception/module-db": "^1.0",
21
+ "codeception/util-universalframework": "^1.0",
22
  "dealerdirect/phpcodesniffer-composer-installer": "0.7.0",
23
+ "lucatume/wp-browser": "^3.0.21",
24
  "phpcompatibility/phpcompatibility-wp": "2.1.0",
25
  "phpstan/phpstan": "^1.0",
26
  "phpstan/phpstan-phpunit": "^1.0",
 
27
  "roots/wordpress": "*",
28
  "squizlabs/php_codesniffer": "3.5.8",
29
  "szepeviktor/phpstan-wordpress": "^1.0",
30
+ "wp-coding-standards/wpcs": "2.3.0"
 
 
 
 
31
  },
32
  "config": {
33
  "preferred-install": "dist",
42
  "wordpress-install-dir": "tests/wordpress"
43
  },
44
  "scripts": {
 
 
 
45
  "test": [
 
46
  "@test:phpstan",
47
+ "@test:cs",
48
+ "@test:integration",
49
+ "@test:acceptance"
50
  ],
51
  "test:cs": [
52
  "phpcs -nps --colors --report-code --report-width=80 --cache=tests/cache/phpcs --basepath='./' ."
53
  ],
54
  "test:phpstan": [
55
+ "codecept build",
56
  "phpstan analyze"
57
  ],
58
+ "test:integration": [
59
+ "bin/integration-tests.sh"
60
+ ],
61
+ "test:start": [
62
+ "[[ `uname -m` = \"arm64\" ]] && export CHROME_IMAGE=\"seleniarm/standalone-chromium\"; docker-compose up -d"
63
+ ],
64
+ "test:acceptance": [
65
+ "npm run build",
66
+ "bin/acceptance-tests.sh"
67
+ ],
68
+ "test:stop": [
69
+ "[[ `uname -m` = \"arm64\" ]] && export CHROME_IMAGE=\"seleniarm/standalone-chromium\"; docker-compose down"
70
  ]
71
  },
72
+ "autoload": {
73
+ "psr-4": {
74
+ "QM\\Tests\\": "tests/integration"
75
+ }
76
+ },
77
  "support": {
78
  "issues": "https://github.com/johnbillion/query-monitor/issues",
79
  "forum": "https://wordpress.org/support/plugin/query-monitor",
dispatchers/Html.php CHANGED
@@ -226,17 +226,11 @@ class QM_Dispatcher_Html extends QM_Dispatcher {
226
  $deps = array();
227
  }
228
 
229
- $css = 'query-monitor';
230
-
231
- if ( defined( 'QM_DARK_MODE' ) && QM_DARK_MODE ) {
232
- $css .= '-dark';
233
- }
234
-
235
  wp_enqueue_style(
236
  'query-monitor',
237
- $this->qm->plugin_url( "assets/{$css}.css" ),
238
  array( 'dashicons' ),
239
- $this->qm->plugin_ver( "assets/{$css}.css" )
240
  );
241
  wp_enqueue_script(
242
  'query-monitor',
@@ -270,7 +264,7 @@ class QM_Dispatcher_Html extends QM_Dispatcher {
270
  *
271
  * @since 3.6.0
272
  *
273
- * @param \QM_Dispatcher_Html $this The HTML dispatcher.
274
  */
275
  do_action( 'qm/output/enqueued-assets', $this );
276
  }
@@ -412,7 +406,7 @@ class QM_Dispatcher_Html extends QM_Dispatcher {
412
  echo 'var qm = ' . json_encode( $json ) . ';' . "\n\n";
413
  echo '</script>' . "\n\n";
414
 
415
- echo '<div id="query-monitor-main" class="' . implode( ' ', array_map( 'esc_attr', $class ) ) . '" dir="ltr">';
416
  echo '<div id="qm-side-resizer" class="qm-resizer"></div>';
417
  echo '<div id="qm-title" class="qm-resizer">';
418
  echo '<h1 class="qm-title-heading">' . esc_html__( 'Query Monitor', 'query-monitor' ) . '</h1>';
@@ -516,7 +510,7 @@ class QM_Dispatcher_Html extends QM_Dispatcher {
516
  echo '<div class="qm qm-non-tabular" id="qm-settings" data-qm-state="' . esc_attr( $state ) . '">';
517
  echo '<h2 class="qm-screen-reader-text">' . esc_html__( 'Settings', 'query-monitor' ) . '</h2>';
518
 
519
- echo '<div class="qm-boxed">';
520
  echo '<section>';
521
  echo '<h3>' . esc_html__( 'Authentication', 'query-monitor' ) . '</h3>';
522
 
@@ -527,10 +521,8 @@ class QM_Dispatcher_Html extends QM_Dispatcher {
527
  echo '<p data-qm-state-visibility="on"><span class="dashicons dashicons-yes qm-dashicons-yes"></span> ' . esc_html__( 'Authentication cookie is set', 'query-monitor' ) . '</p>';
528
 
529
  echo '</section>';
530
- echo '</div>';
531
 
532
- echo '<div class="qm-boxed">';
533
- echo '<section class="qm-editor">';
534
 
535
  echo '<h3>' . esc_html__( 'Editor', 'query-monitor' ) . '</h3>';
536
 
@@ -558,15 +550,24 @@ class QM_Dispatcher_Html extends QM_Dispatcher {
558
  echo '<button class="qm-editor-button qm-button">' . esc_html__( 'Set editor cookie', 'query-monitor' ) . '</button>';
559
  echo '</p>';
560
  echo '<p id="qm-editor-save-status"><span class="dashicons dashicons-yes qm-dashicons-yes"></span> ' . esc_html__( 'Saved! Reload to apply changes.', 'query-monitor' ) . '</p>';
 
 
 
 
 
 
 
 
 
 
 
 
 
561
  echo '</section>';
562
  echo '</div>';
563
 
564
  echo '<div class="qm-boxed">';
565
  $constants = array(
566
- 'QM_DARK_MODE' => array(
567
- 'label' => __( 'Enable dark mode for Query Monitor\'s interface.', 'query-monitor' ),
568
- 'default' => false,
569
- ),
570
  'QM_DB_EXPENSIVE' => array(
571
  'label' => __( 'If an individual database query takes longer than this time to execute, it\'s considered "slow" and triggers a warning.', 'query-monitor' ),
572
  'default' => 0.05,
@@ -664,8 +665,8 @@ class QM_Dispatcher_Html extends QM_Dispatcher {
664
  *
665
  * @since 3.1.0
666
  *
667
- * @param QM_Dispatcher_Html $this The HTML dispatcher instance.
668
- * @param QM_Output_Html[] $this->outputters Array of outputters.
669
  */
670
  do_action( 'qm/output/after', $this, $this->outputters );
671
 
226
  $deps = array();
227
  }
228
 
 
 
 
 
 
 
229
  wp_enqueue_style(
230
  'query-monitor',
231
+ $this->qm->plugin_url( 'assets/query-monitor.css' ),
232
  array( 'dashicons' ),
233
+ $this->qm->plugin_ver( 'assets/query-monitor.css' )
234
  );
235
  wp_enqueue_script(
236
  'query-monitor',
264
  *
265
  * @since 3.6.0
266
  *
267
+ * @param \QM_Dispatcher_Html $dispatcher The HTML dispatcher.
268
  */
269
  do_action( 'qm/output/enqueued-assets', $this );
270
  }
406
  echo 'var qm = ' . json_encode( $json ) . ';' . "\n\n";
407
  echo '</script>' . "\n\n";
408
 
409
+ echo '<div id="query-monitor-main" data-theme="auto" class="' . implode( ' ', array_map( 'esc_attr', $class ) ) . '" dir="ltr">';
410
  echo '<div id="qm-side-resizer" class="qm-resizer"></div>';
411
  echo '<div id="qm-title" class="qm-resizer">';
412
  echo '<h1 class="qm-title-heading">' . esc_html__( 'Query Monitor', 'query-monitor' ) . '</h1>';
510
  echo '<div class="qm qm-non-tabular" id="qm-settings" data-qm-state="' . esc_attr( $state ) . '">';
511
  echo '<h2 class="qm-screen-reader-text">' . esc_html__( 'Settings', 'query-monitor' ) . '</h2>';
512
 
513
+ echo '<div class="qm-grid">';
514
  echo '<section>';
515
  echo '<h3>' . esc_html__( 'Authentication', 'query-monitor' ) . '</h3>';
516
 
521
  echo '<p data-qm-state-visibility="on"><span class="dashicons dashicons-yes qm-dashicons-yes"></span> ' . esc_html__( 'Authentication cookie is set', 'query-monitor' ) . '</p>';
522
 
523
  echo '</section>';
 
524
 
525
+ echo '<section>';
 
526
 
527
  echo '<h3>' . esc_html__( 'Editor', 'query-monitor' ) . '</h3>';
528
 
550
  echo '<button class="qm-editor-button qm-button">' . esc_html__( 'Set editor cookie', 'query-monitor' ) . '</button>';
551
  echo '</p>';
552
  echo '<p id="qm-editor-save-status"><span class="dashicons dashicons-yes qm-dashicons-yes"></span> ' . esc_html__( 'Saved! Reload to apply changes.', 'query-monitor' ) . '</p>';
553
+ echo '</section>';
554
+
555
+ echo '<section>';
556
+ echo '<h3>' . esc_html__( 'Appearance', 'query-monitor' ) . '</h3>';
557
+
558
+ echo '<p>' . esc_html__( 'Your browser color scheme is respected by default. You can override it here.', 'query-monitor' ) . '</p>';
559
+
560
+ echo '<ul>';
561
+ echo '<li><label><input type="radio" class="qm-theme-toggle qm-radio" name="qm-theme" value="auto" checked/>' . esc_html_x( 'Auto', 'colour scheme', 'query-monitor' ) . '</label></li>';
562
+ echo '<li><label><input type="radio" class="qm-theme-toggle qm-radio" name="qm-theme" value="light"/>' . esc_html_x( 'Light', 'colour scheme', 'query-monitor' ) . '</label></li>';
563
+ echo '<li><label><input type="radio" class="qm-theme-toggle qm-radio" name="qm-theme" value="dark"/>' . esc_html_x( 'Dark', 'colour scheme', 'query-monitor' ) . '</label></li>';
564
+ echo '</ul>';
565
+
566
  echo '</section>';
567
  echo '</div>';
568
 
569
  echo '<div class="qm-boxed">';
570
  $constants = array(
 
 
 
 
571
  'QM_DB_EXPENSIVE' => array(
572
  'label' => __( 'If an individual database query takes longer than this time to execute, it\'s considered "slow" and triggers a warning.', 'query-monitor' ),
573
  'default' => 0.05,
665
  *
666
  * @since 3.1.0
667
  *
668
+ * @param QM_Dispatcher_Html $dispatcher The HTML dispatcher instance.
669
+ * @param QM_Output_Html[] $outputters Array of outputters.
670
  */
671
  do_action( 'qm/output/after', $this, $this->outputters );
672
 
output/Headers.php CHANGED
@@ -15,11 +15,14 @@ abstract class QM_Output_Headers extends QM_Output {
15
  $id = $this->collector->id;
16
 
17
  foreach ( $this->get_output() as $key => $value ) {
18
- if ( is_scalar( $value ) ) {
19
- header( sprintf( 'X-QM-%s-%s: %s', $id, $key, $value ) );
20
- } else {
21
- header( sprintf( 'X-QM-%s-%s: %s', $id, $key, json_encode( $value ) ) );
22
  }
 
 
 
 
 
23
  }
24
 
25
  }
15
  $id = $this->collector->id;
16
 
17
  foreach ( $this->get_output() as $key => $value ) {
18
+ if ( ! is_scalar( $value ) ) {
19
+ $value = json_encode( $value );
 
 
20
  }
21
+
22
+ # Remove illegal characters (Header may not contain NUL bytes)
23
+ $value = str_replace( chr( 0 ), '', $value );
24
+
25
+ header( sprintf( 'X-QM-%s-%s: %s', $id, $key, $value ) );
26
  }
27
 
28
  }
output/Html.php CHANGED
@@ -422,7 +422,7 @@ abstract class QM_Output_Html extends QM_Output {
422
  $regex = 'ADD|AFTER|ALTER|AND|BEGIN|COMMIT|CREATE|DELETE|DESCRIBE|DO|DROP|ELSE|END|EXCEPT|EXPLAIN|FROM|GROUP|HAVING|INNER|INSERT|INTERSECT|LEFT|LIMIT|ON|OR|ORDER|OUTER|RENAME|REPLACE|RIGHT|ROLLBACK|SELECT|SET|SHOW|START|THEN|TRUNCATE|UNION|UPDATE|USE|USING|VALUES|WHEN|WHERE|XOR';
423
  $sql = preg_replace( '# (' . $regex . ') #', '<br> $1 ', $sql );
424
 
425
- $keywords = '\b(?:ACTION|ADD|AFTER|ALTER|AND|ASC|AS|AUTO_INCREMENT|BEGIN|BETWEEN|BIGINT|BINARY|BIT|BLOB|BOOLEAN|BOOL|BREAK|BY|CASE|COLLATE|COLUMNS?|COMMIT|CONTINUE|CREATE|DATA(?:BASES?)?|DATE(?:TIME)?|DECIMAL|DECLARE|DEC|DEFAULT|DELAYED|DELETE|DESCRIBE|DESC|DISTINCT|DOUBLE|DO|DROP|DUPLICATE|ELSE|END|ENUM|EXCEPT|EXISTS|EXPLAIN|FIELDS|FLOAT|FORCE|FOREIGN|FORCE|FOR|FROM|FULL|FUNCTION|GROUP|HAVING|IF|IGNORE|INDEX|INNER|INSERT|INTEGER|INTERSECT|INTERVAL|INTO|INT|IN|IS|JOIN|KEYS?|LEFT|LIKE|LIMIT|LONG(?:BLOB|TEXT)|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|NOT|NO|NULLIF|ON|ORDER|OR|OUTER|PRIMARY|PROC(?:EDURE)?|REGEXP|RENAME|REPLACE|RIGHT|RLIKE|ROLLBACK|SCHEMA|SELECT|SET|SHOW|SMALLINT|START|TABLES?|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TRUNCATE|UNION|UNIQUE|UNSIGNED|UPDATE|USE|USING|VALUES?|VAR(?:BINARY|CHAR)|WHEN|WHERE|WHILE|XOR)\b';
426
  $sql = preg_replace( '#' . $keywords . '#', '<b>$0</b>', $sql );
427
 
428
  return '<code>' . $sql . '</code>';
422
  $regex = 'ADD|AFTER|ALTER|AND|BEGIN|COMMIT|CREATE|DELETE|DESCRIBE|DO|DROP|ELSE|END|EXCEPT|EXPLAIN|FROM|GROUP|HAVING|INNER|INSERT|INTERSECT|LEFT|LIMIT|ON|OR|ORDER|OUTER|RENAME|REPLACE|RIGHT|ROLLBACK|SELECT|SET|SHOW|START|THEN|TRUNCATE|UNION|UPDATE|USE|USING|VALUES|WHEN|WHERE|XOR';
423
  $sql = preg_replace( '# (' . $regex . ') #', '<br> $1 ', $sql );
424
 
425
+ $keywords = '\b(?:ACTION|ADD|AFTER|ALTER|AND|ASC|AS|AUTO_INCREMENT|BEGIN|BETWEEN|BIGINT|BINARY|BIT|BLOB|BOOLEAN|BOOL|BREAK|BY|CASE|COLLATE|COLUMNS?|COMMIT|CONTINUE|CREATE|DATA(?:BASES?)?|DATE(?:TIME)?|DECIMAL|DECLARE|DEC|DEFAULT|DELAYED|DELETE|DESCRIBE|DESC|DISTINCT|DOUBLE|DO|DROP|DUPLICATE|ELSE|END|ENUM|EXCEPT|EXISTS|EXPLAIN|FIELDS|FLOAT|FORCE|FOREIGN|FOR|FROM|FULL|FUNCTION|GROUP|HAVING|IF|IGNORE|INDEX|INNER|INSERT|INTEGER|INTERSECT|INTERVAL|INTO|INT|IN|IS|JOIN|KEYS?|LEFT|LIKE|LIMIT|LONG(?:BLOB|TEXT)|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|NOT|NO|NULLIF|ON|ORDER|OR|OUTER|PRIMARY|PROC(?:EDURE)?|REGEXP|RENAME|REPLACE|RIGHT|RLIKE|ROLLBACK|SCHEMA|SELECT|SET|SHOW|SMALLINT|START|TABLES?|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TRUNCATE|UNION|UNIQUE|UNSIGNED|UPDATE|USE|USING|VALUES?|VAR(?:BINARY|CHAR)|WHEN|WHERE|WHILE|XOR)\b';
426
  $sql = preg_replace( '#' . $keywords . '#', '<b>$0</b>', $sql );
427
 
428
  return '<code>' . $sql . '</code>';
output/headers/php_errors.php CHANGED
@@ -38,12 +38,15 @@ class QM_Output_Headers_PHP_Errors extends QM_Output_Headers {
38
 
39
  $count++;
40
 
 
 
41
  if ( $error['component'] ) {
42
  $component = $error['component']->name;
43
- $stack = wp_list_pluck( $error['filtered_trace'], 'display' );
 
 
44
  } else {
45
  $component = __( 'Unknown', 'query-monitor' );
46
- $stack = array();
47
  }
48
 
49
  $output_error = array(
38
 
39
  $count++;
40
 
41
+ $stack = array();
42
+
43
  if ( $error['component'] ) {
44
  $component = $error['component']->name;
45
+ if ( ! empty( $error['filtered_trace'] ) ) {
46
+ $stack = wp_list_pluck( $error['filtered_trace'], 'display' );
47
+ }
48
  } else {
49
  $component = __( 'Unknown', 'query-monitor' );
 
50
  }
51
 
52
  $output_error = array(
output/html/db_dupes.php CHANGED
@@ -136,7 +136,12 @@ class QM_Output_Html_DB_Dupes extends QM_Output_Html {
136
  if ( $dbq ) {
137
  $dbq_data = $dbq->get_data();
138
  if ( isset( $dbq_data['dupes'] ) && count( $dbq_data['dupes'] ) ) {
139
- $count = count( $dbq_data['dupes'] );
 
 
 
 
 
140
  $menu[ $this->collector->id() ] = $this->menu( array(
141
  'title' => esc_html( sprintf(
142
  /* translators: %s: Number of duplicate database queries */
@@ -157,8 +162,6 @@ class QM_Output_Html_DB_Dupes extends QM_Output_Html {
157
  public function panel_menu( array $menu ) {
158
  $id = $this->collector->id();
159
  if ( isset( $menu[ $id ] ) ) {
160
- $menu[ $id ]['title'] = $menu[ $id ]['title'];
161
-
162
  $menu['qm-db_queries-$wpdb']['children'][] = $menu[ $id ];
163
  unset( $menu[ $id ] );
164
  }
136
  if ( $dbq ) {
137
  $dbq_data = $dbq->get_data();
138
  if ( isset( $dbq_data['dupes'] ) && count( $dbq_data['dupes'] ) ) {
139
+ $count = 0;
140
+
141
+ foreach ( $dbq_data['dupes'] as $dupe ) {
142
+ $count += count( $dupe );
143
+ }
144
+
145
  $menu[ $this->collector->id() ] = $this->menu( array(
146
  'title' => esc_html( sprintf(
147
  /* translators: %s: Number of duplicate database queries */
162
  public function panel_menu( array $menu ) {
163
  $id = $this->collector->id();
164
  if ( isset( $menu[ $id ] ) ) {
 
 
165
  $menu['qm-db_queries-$wpdb']['children'][] = $menu[ $id ];
166
  unset( $menu[ $id ] );
167
  }
output/html/db_queries.php CHANGED
@@ -651,8 +651,6 @@ class QM_Output_Html_DB_Queries extends QM_Output_Html {
651
  foreach ( array( 'errors', 'expensive' ) as $sub ) {
652
  $id = $this->collector->id() . '-' . $sub;
653
  if ( isset( $menu[ $id ] ) ) {
654
- $menu[ $id ]['title'] = $menu[ $id ]['title'];
655
-
656
  $menu['qm-db_queries-$wpdb']['children'][] = $menu[ $id ];
657
  unset( $menu[ $id ] );
658
  }
651
  foreach ( array( 'errors', 'expensive' ) as $sub ) {
652
  $id = $this->collector->id() . '-' . $sub;
653
  if ( isset( $menu[ $id ] ) ) {
 
 
654
  $menu['qm-db_queries-$wpdb']['children'][] = $menu[ $id ];
655
  unset( $menu[ $id ] );
656
  }
output/html/overview.php CHANGED
@@ -84,7 +84,7 @@ class QM_Output_Html_Overview extends QM_Output_Html {
84
  }
85
 
86
  echo '</div>';
87
- echo '<div class="qm-boxed">';
88
 
89
  echo '<section>';
90
  echo '<h3>' . esc_html__( 'Page Generation Time', 'query-monitor' ) . '</h3>';
@@ -137,6 +137,21 @@ class QM_Output_Html_Overview extends QM_Output_Html {
137
  number_format_i18n( ( $data['memory'] / 1024 / 1024 ), 1 )
138
  ) );
139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  if ( $data['memory_limit'] > 0 ) {
141
  if ( $data['display_memory_usage_warning'] ) {
142
  echo '<br><span class="qm-warn"><span class="dashicons dashicons-warning" aria-hidden="true"></span>';
@@ -160,21 +175,6 @@ class QM_Output_Html_Overview extends QM_Output_Html {
160
  );
161
  echo '</span>';
162
  }
163
-
164
- if ( $data['wp_memory_limit'] > 0 ) {
165
- if ( $data['display_memory_usage_warning'] ) {
166
- echo '<br><span class="qm-warn"><span class="dashicons dashicons-warning" aria-hidden="true"></span>';
167
- } else {
168
- echo '<br><span class="qm-info">';
169
- }
170
- echo esc_html( sprintf(
171
- /* translators: 1: Percentage of memory limit used, 2: Memory limit in megabytes */
172
- __( '%1$s%% of %2$s MB WordPress limit', 'query-monitor' ),
173
- number_format_i18n( $data['wp_memory_usage'], 1 ),
174
- number_format_i18n( $data['wp_memory_limit'] / 1024 / 1024 )
175
- ) );
176
- echo '</span>';
177
- }
178
  }
179
 
180
  echo '</p>';
84
  }
85
 
86
  echo '</div>';
87
+ echo '<div class="qm-grid">';
88
 
89
  echo '<section>';
90
  echo '<h3>' . esc_html__( 'Page Generation Time', 'query-monitor' ) . '</h3>';
137
  number_format_i18n( ( $data['memory'] / 1024 / 1024 ), 1 )
138
  ) );
139
 
140
+ if ( $data['wp_memory_limit'] > 0 ) {
141
+ if ( $data['display_memory_usage_warning'] ) {
142
+ echo '<br><span class="qm-warn"><span class="dashicons dashicons-warning" aria-hidden="true"></span>';
143
+ } else {
144
+ echo '<br><span class="qm-info">';
145
+ }
146
+ echo esc_html( sprintf(
147
+ /* translators: 1: Percentage of memory limit used, 2: Memory limit in megabytes */
148
+ __( '%1$s%% of %2$s MB WordPress limit', 'query-monitor' ),
149
+ number_format_i18n( $data['wp_memory_usage'], 1 ),
150
+ number_format_i18n( $data['wp_memory_limit'] / 1024 / 1024 )
151
+ ) );
152
+ echo '</span>';
153
+ }
154
+
155
  if ( $data['memory_limit'] > 0 ) {
156
  if ( $data['display_memory_usage_warning'] ) {
157
  echo '<br><span class="qm-warn"><span class="dashicons dashicons-warning" aria-hidden="true"></span>';
175
  );
176
  echo '</span>';
177
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  }
179
 
180
  echo '</p>';
output/html/request.php CHANGED
@@ -70,7 +70,7 @@ class QM_Output_Html_Request extends QM_Output_Html {
70
 
71
  echo '</div>';
72
 
73
- echo '<div class="qm-boxed qm-boxed-wrap">';
74
 
75
  if ( ! empty( $data['matching_rewrites'] ) ) {
76
  echo '<section>';
70
 
71
  echo '</div>';
72
 
73
+ echo '<div class="qm-boxed">';
74
 
75
  if ( ! empty( $data['matching_rewrites'] ) ) {
76
  echo '<section>';
query-monitor.php CHANGED
@@ -9,8 +9,8 @@
9
  * @license GPL v2 or later
10
  *
11
  * Plugin Name: Query Monitor
12
- * Description: The Developer Tools Panel for WordPress.
13
- * Version: 3.8.2
14
  * Plugin URI: https://querymonitor.com/
15
  * Author: John Blackbourn
16
  * Author URI: https://querymonitor.com/
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
33
  exit;
34
  }
35
 
36
- define( 'QM_VERSION', '3.8.2' );
37
 
38
  $qm_dir = dirname( __FILE__ );
39
 
9
  * @license GPL v2 or later
10
  *
11
  * Plugin Name: Query Monitor
12
+ * Description: The developer tools panel for WordPress.
13
+ * Version: 3.9.0
14
  * Plugin URI: https://querymonitor.com/
15
  * Author: John Blackbourn
16
  * Author URI: https://querymonitor.com/
33
  exit;
34
  }
35
 
36
+ define( 'QM_VERSION', '3.9.0' );
37
 
38
  $qm_dir = dirname( __FILE__ );
39
 
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: johnbillion
3
  Tags: debug, debug-bar, debugging, development, developer, performance, profiler, queries, query monitor, rest-api
4
  Requires at least: 3.7
5
- Tested up to: 5.9
6
- Stable tag: 3.8.2
7
  License: GPLv2 or later
8
  Requires PHP: 5.3
9
  Donate link: https://johnblackbourn.com/donations/
@@ -141,10 +141,17 @@ In addition, if you like the plugin then I'd love for you to [leave a review](ht
141
 
142
  ## Changelog ##
143
 
 
 
 
 
 
 
 
144
  ### 3.8.2 ###
145
 
146
- * Fix some deprecated notices with PHP 8.1
147
- * Improve the handling of SQL queries that consist only of MySQL comments
148
 
149
  ### 3.8.1 ###
150
 
@@ -419,11 +426,3 @@ New features! Read about them here: https://querymonitor.com/blog/2019/02/new-fe
419
  * Min width CSS for buttons.
420
  * First pass at documenting filters and hooks.
421
  * More coding standards updates.
422
-
423
- ### 3.1.1 ###
424
-
425
- * Add a dark mode for the UI which is used via the Dark Mode plugin.
426
- * Display Query Monitor's output in the user's selected language, instead of the site language.
427
- * Add extended support for the Members and User Role Editor plugins.
428
- * Fix link hover and focus styles.
429
- * Reset some more CSS styles.
2
  Contributors: johnbillion
3
  Tags: debug, debug-bar, debugging, development, developer, performance, profiler, queries, query monitor, rest-api
4
  Requires at least: 3.7
5
+ Tested up to: 6.0
6
+ Stable tag: 3.9.0
7
  License: GPLv2 or later
8
  Requires PHP: 5.3
9
  Donate link: https://johnblackbourn.com/donations/
141
 
142
  ## Changelog ##
143
 
144
+ ### 3.9.0 ###
145
+
146
+ * Introduces a dark mode toggle on the Settings panel, which replaces the `QM_DARK_MODE` constant
147
+ * Prevents errors with undefined constants being reported in `db.php`
148
+ * Adds more comprehensive handling of unexpected values in stack traces
149
+ * Fixes PHP Warning 'Header may not contain NUL bytes' when outputting headers
150
+
151
  ### 3.8.2 ###
152
 
153
+ * Fixes some deprecated notices with PHP 8.1
154
+ * Improves the handling of SQL queries that consist only of MySQL comments
155
 
156
  ### 3.8.1 ###
157
 
426
  * Min width CSS for buttons.
427
  * First pass at documenting filters and hooks.
428
  * More coding standards updates.
 
 
 
 
 
 
 
 
wp-content/db.php CHANGED
@@ -1,12 +1,19 @@
1
  <?php
2
  /**
3
- * Plugin Name: Query Monitor Database Class
 
 
 
 
 
4
  *
5
  * *********************************************************************
6
  *
7
  * Ensure this file is symlinked to your wp-content directory to provide
8
  * additional database query information in Query Monitor's output.
9
  *
 
 
10
  * *********************************************************************
11
  *
12
  * @package query-monitor
@@ -16,6 +23,10 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  exit;
17
  }
18
 
 
 
 
 
19
  if ( defined( 'QM_DISABLED' ) && QM_DISABLED ) {
20
  return;
21
  }
1
  <?php
2
  /**
3
+ * Plugin Name: Query Monitor Database Class (Drop-in)
4
+ * Description: Database class for Query Monitor, the developer tools panel for WordPress.
5
+ * Version: 3.9.0
6
+ * Plugin URI: https://querymonitor.com/
7
+ * Author: John Blackbourn
8
+ * Author URI: https://querymonitor.com/
9
  *
10
  * *********************************************************************
11
  *
12
  * Ensure this file is symlinked to your wp-content directory to provide
13
  * additional database query information in Query Monitor's output.
14
  *
15
+ * @see https://github.com/johnbillion/query-monitor/wiki/db.php-Symlink
16
+ *
17
  * *********************************************************************
18
  *
19
  * @package query-monitor
23
  exit;
24
  }
25
 
26
+ if ( ! defined( 'DB_USER' ) ) {
27
+ return;
28
+ }
29
+
30
  if ( defined( 'QM_DISABLED' ) && QM_DISABLED ) {
31
  return;
32
  }