From 800f09dd0dda5ec744f805d333f598f9b9261d01 Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Mon, 24 Jun 2019 10:19:58 +1200 Subject: [PATCH] FIX LeftAndMainSubsites::canAccess() now accepts a Member argument and falls back to the session member --- code/extensions/LeftAndMainSubsites.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/code/extensions/LeftAndMainSubsites.php b/code/extensions/LeftAndMainSubsites.php index bd7fb73..c92aef2 100644 --- a/code/extensions/LeftAndMainSubsites.php +++ b/code/extensions/LeftAndMainSubsites.php @@ -183,11 +183,16 @@ class LeftAndMainSubsites extends Extension /** * Check if the current controller is accessible for this user on this subsite. + * + * @param Member $member */ - public function canAccess() + public function canAccess(Member $member = null) { + if (!$member) { + $member = Member::currentUser(); + } + // Admin can access everything, no point in checking. - $member = Member::currentUser(); if ($member && ( Permission::checkMember($member, 'ADMIN') || // 'Full administrative rights' in SecurityAdmin @@ -209,10 +214,12 @@ class LeftAndMainSubsites extends Extension /** * Prevent accessing disallowed resources. This happens after onBeforeInit has executed, * so all redirections should've already taken place. + * + * @param Member $member */ - public function alternateAccessCheck() + public function alternateAccessCheck(Member $member = null) { - return $this->owner->canAccess(); + return $this->owner->canAccess($member); } /**