|
@@ 216-226 (lines=11) @@
|
| 213 |
|
|
| 214 |
|
// Look in the cache for values |
| 215 |
|
$cacheKey = "{$type}-{$memberID}"; |
| 216 |
|
if ($useCached && isset($this->cachePermissions[$cacheKey])) { |
| 217 |
|
$cachedValues = array_intersect_key($this->cachePermissions[$cacheKey], $result); |
| 218 |
|
|
| 219 |
|
// If we can't find everything in the cache, then look up the remainder separately |
| 220 |
|
$uncachedIDs = array_keys(array_diff_key($result, $this->cachePermissions[$cacheKey])); |
| 221 |
|
if ($uncachedIDs) { |
| 222 |
|
$uncachedValues = $this->batchPermissionCheck($type, $uncachedIDs, $member, $globalPermission, false); |
| 223 |
|
return $cachedValues + $uncachedValues; |
| 224 |
|
} |
| 225 |
|
return $cachedValues; |
| 226 |
|
} |
| 227 |
|
|
| 228 |
|
// If a member doesn't have a certain permission then they can't edit anything |
| 229 |
|
if ($globalPermission && !Permission::checkMember($member, $globalPermission)) { |
|
@@ 403-413 (lines=11) @@
|
| 400 |
|
|
| 401 |
|
// Look in the cache for values |
| 402 |
|
$cacheKey = "delete-{$member->ID}"; |
| 403 |
|
if ($useCached && isset($this->cachePermissions[$cacheKey])) { |
| 404 |
|
$cachedValues = array_intersect_key($this->cachePermissions[$cacheKey], $result); |
| 405 |
|
|
| 406 |
|
// If we can't find everything in the cache, then look up the remainder separately |
| 407 |
|
$uncachedIDs = array_keys(array_diff_key($result, $this->cachePermissions[$cacheKey])); |
| 408 |
|
if ($uncachedIDs) { |
| 409 |
|
$uncachedValues = $this->canDeleteMultiple($uncachedIDs, $member, false); |
| 410 |
|
return $cachedValues + $uncachedValues; |
| 411 |
|
} |
| 412 |
|
return $cachedValues; |
| 413 |
|
} |
| 414 |
|
|
| 415 |
|
// You can only delete pages that you can edit |
| 416 |
|
$editableIDs = array_keys(array_filter($this->canEditMultiple($ids, $member))); |