@@ 345-373 (lines=29) @@ | ||
342 | * @param Member $member |
|
343 | * @return boolean |
|
344 | */ |
|
345 | public function canEditPages($member = null) |
|
346 | { |
|
347 | if (!$member) { |
|
348 | $member = Security::getCurrentUser(); |
|
349 | } |
|
350 | ||
351 | if ($member && Permission::checkMember($member, "ADMIN")) { |
|
352 | return true; |
|
353 | } |
|
354 | ||
355 | $extended = $this->extendedCan('canEditPages', $member); |
|
356 | if ($extended !== null) { |
|
357 | return $extended; |
|
358 | } |
|
359 | ||
360 | // check for any logged-in users with CMS access |
|
361 | if ($this->CanEditType === 'LoggedInUsers' |
|
362 | && Permission::checkMember($member, $this->config()->get('required_permission')) |
|
363 | ) { |
|
364 | return true; |
|
365 | } |
|
366 | ||
367 | // check for specific groups |
|
368 | if ($this->CanEditType === 'OnlyTheseUsers' && $member && $member->inGroups($this->EditorGroups())) { |
|
369 | return true; |
|
370 | } |
|
371 | ||
372 | return false; |
|
373 | } |
|
374 | ||
375 | public function canEdit($member = null) |
|
376 | { |
|
@@ 410-441 (lines=32) @@ | ||
407 | * @param Member $member |
|
408 | * @return boolean |
|
409 | */ |
|
410 | public function canCreateTopLevel($member = null) |
|
411 | { |
|
412 | if (!$member) { |
|
413 | $member = Security::getCurrentUser(); |
|
414 | } |
|
415 | ||
416 | if ($member && Permission::checkMember($member, "ADMIN")) { |
|
417 | return true; |
|
418 | } |
|
419 | ||
420 | $extended = $this->extendedCan('canCreateTopLevel', $member); |
|
421 | if ($extended !== null) { |
|
422 | return $extended; |
|
423 | } |
|
424 | ||
425 | // check for any logged-in users with CMS permission |
|
426 | if ($this->CanCreateTopLevelType === 'LoggedInUsers' |
|
427 | && Permission::checkMember($member, $this->config()->get('required_permission')) |
|
428 | ) { |
|
429 | return true; |
|
430 | } |
|
431 | ||
432 | // check for specific groups |
|
433 | if ($this->CanCreateTopLevelType === 'OnlyTheseUsers' |
|
434 | && $member |
|
435 | && $member->inGroups($this->CreateTopLevelGroups()) |
|
436 | ) { |
|
437 | return true; |
|
438 | } |
|
439 | ||
440 | return false; |
|
441 | } |
|
442 | ||
443 | /** |
|
444 | * Add $SiteConfig to all SSViewers |