Commit 439f966
Fix view_stats capability check for multi-role users
The view_stats meta-cap mapping only checked the first role in the
user's roles array via array_shift(). Users with multiple roles (e.g.
customer + administrator) could be denied stats access if their first
role wasn't in the stats roles allowlist.
Use array_intersect() to check all user roles against the allowed
stats roles instead of only the first.
Fixes #472581 parent 39a0718 commit 439f966
File tree
3 files changed
+26
-4
lines changed- projects/packages/stats
- changelog
- src
- tests/php
3 files changed
+26
-4
lines changedLines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
131 | | - | |
| 130 | + | |
132 | 131 | | |
133 | 132 | | |
134 | | - | |
135 | | - | |
| 133 | + | |
| 134 | + | |
136 | 135 | | |
137 | 136 | | |
138 | 137 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
181 | 200 | | |
182 | 201 | | |
183 | 202 | | |
| |||
0 commit comments