From d6dbdc78c9c3ff28399c4c0a827dfea740698804 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Fri, 10 Feb 2023 12:45:28 +1300 Subject: [PATCH] Fix e-notice & php8.2 issue on user dashboard --- CRM/Contact/Page/View/UserDashBoard.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/CRM/Contact/Page/View/UserDashBoard.php b/CRM/Contact/Page/View/UserDashBoard.php index 9cb559bf47..394a956a69 100644 --- a/CRM/Contact/Page/View/UserDashBoard.php +++ b/CRM/Contact/Page/View/UserDashBoard.php @@ -50,17 +50,12 @@ class CRM_Contact_Page_View_UserDashBoard extends CRM_Core_Page { $userID = CRM_Core_Session::getLoggedInContactID(); $userChecksum = $this->getUserChecksum(); - $validUser = FALSE; - if ($userChecksum) { - $this->assign('userChecksum', $userChecksum); - $validUser = CRM_Contact_BAO_Contact_Utils::validChecksum($this->_contactId, $userChecksum); - $this->_isChecksumUser = $validUser; - } + $this->assign('userChecksum', $userChecksum); if (!$this->_contactId) { $this->_contactId = $userID; } - elseif ($this->_contactId != $userID && !$validUser) { + elseif ($this->_contactId != $userID && !$userChecksum) { if (!CRM_Contact_BAO_Contact_Permission::allow($this->_contactId, CRM_Core_Permission::VIEW)) { CRM_Core_Error::statusBounce(ts('You do not have permission to access this contact.')); } @@ -92,6 +87,8 @@ class CRM_Contact_Page_View_UserDashBoard extends CRM_Core_Page { /** * Build user dashboard. + * + * @throws \CRM_Core_Exception */ public function buildUserDashBoard() { //build component selectors @@ -154,7 +151,7 @@ class CRM_Contact_Page_View_UserDashBoard extends CRM_Core_Page { $this->assign('pcpInfo', $pcpInfo); } - if (!empty($dashboardOptions['Assigned Activities']) && empty($this->_isChecksumUser)) { + if (!empty($dashboardOptions['Assigned Activities']) && !$this->getUserChecksum()) { // Assigned Activities section $dashboardElements[] = [ 'class' => 'crm-dashboard-assignedActivities', @@ -246,11 +243,12 @@ class CRM_Contact_Page_View_UserDashBoard extends CRM_Core_Page { /** * Get the user checksum from the url to use in links. * - * @return string + * @return string|false + * @throws \CRM_Core_Exception */ protected function getUserChecksum() { $userChecksum = CRM_Utils_Request::retrieve('cs', 'String', $this); - if (empty($userID) && $this->_contactId) { + if ($this->_contactId && CRM_Contact_BAO_Contact_Utils::validChecksum($this->_contactId, $userChecksum)) { return $userChecksum; } return FALSE; -- 2.25.1