| @@ 186-197 (lines=12) @@ | ||
| 183 | } elseif (str_is('*.*.*::*.*', $permission)) { |
|
| 184 | $end = trim(substr($permission, strpos($permission, '::') + 2), '.*'); |
|
| 185 | ||
| 186 | if (!$permissions = $this->config->get($addon . '::permissions.' . $end)) { |
|
| 187 | return true; |
|
| 188 | } else { |
|
| 189 | $check = []; |
|
| 190 | ||
| 191 | foreach ($permissions as &$permission) { |
|
| 192 | $check[] = $addon . '::' . $end . '.' . $permission; |
|
| 193 | } |
|
| 194 | ||
| 195 | return $user->hasAnyPermission($check); |
|
| 196 | } |
|
| 197 | } else { |
|
| 198 | if (!$permissions = $this->config->get($addon . '::permissions')) { |
|
| 199 | return true; |
|
| 200 | } else { |
|
| @@ 197-212 (lines=16) @@ | ||
| 194 | ||
| 195 | return $user->hasAnyPermission($check); |
|
| 196 | } |
|
| 197 | } else { |
|
| 198 | if (!$permissions = $this->config->get($addon . '::permissions')) { |
|
| 199 | return true; |
|
| 200 | } else { |
|
| 201 | $check = []; |
|
| 202 | ||
| 203 | foreach ($permissions as $group => &$permission) { |
|
| 204 | foreach ($permission as $access) { |
|
| 205 | $check[] = $addon . '::' . $group . '.' . $access; |
|
| 206 | } |
|
| 207 | } |
|
| 208 | ||
| 209 | return $user->hasAnyPermission($check); |
|
| 210 | } |
|
| 211 | } |
|
| 212 | } else { |
|
| 213 | $parts = explode('::', $permission); |
|
| 214 | ||
| 215 | $end = array_pop($parts); |
|