AdminTools icon indicating copy to clipboard operation
AdminTools copied to clipboard

PHP Warnings when using PHP8

Open garryn opened this issue 3 years ago • 1 comments

Hi, I'm posting this as I found an issue with AdminTools and PHP8 in MODX Cloud ... the following warnings can fill up the MODX error log pretty quick as they fire on every frontend web page load:

[2021-12-09 12:05:04] (ERROR @ /www/core/cache/includes/elements/modplugin/31.include.cache.php : 55) PHP warning: Attempt to read property "blocked" on null

I was able to fix the issue by changing lines 55/56 in the plugin to:

$profile = isset($modx->user) ? $modx->user->getOne('Profile') : null;
if ($modx->user && (!$modx->user->active || ($profile !== null && $profile->blocked)) && $modx->user->isAuthenticated($modx->context->get('key'))) {      

Basically, grabbing the user profile first and then checking that first before trying to access the blocked property.

garryn avatar Dec 17 '21 16:12 garryn

And apologies as I think this PR covers it (different approach, but same result) :): https://github.com/sergant210/AdminTools/pull/28

garryn avatar Dec 17 '21 16:12 garryn