From 5aaaefd685a3840467cf0c6fa23c971c71aac020 Mon Sep 17 00:00:00 2001 From: Alexander Schneider Date: Thu, 15 Apr 2021 08:58:16 +0200 Subject: [PATCH] Bump version 2.2.13 --- composer.json | 2 +- package.json | 2 +- readme.txt | 5 ++++- src/Access/AccessHandler.php | 19 ++++++++++++++++--- src/Controller/Frontend/PostController.php | 2 +- src/UserAccessManager.php | 2 +- user-access-manager.php | 2 +- 7 files changed, 25 insertions(+), 9 deletions(-) diff --git a/composer.json b/composer.json index d0a94c1..f07bd2e 100644 --- a/composer.json +++ b/composer.json @@ -3,7 +3,7 @@ "description": "User Access Manager plugin for Wordpress", "type": "wordpress-plugin", "license": "GPL-2.0", - "version": "2.2.12", + "version": "2.2.13", "authors": [ { "name": "Alexander Schneider", diff --git a/package.json b/package.json index ddfe957..44a5e78 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "user-access-manager", - "version": "2.2.12", + "version": "2.2.13", "description": "[![Build Status](https://travis-ci.org/GM-Alex/user-access-manager.svg)](https://travis-ci.org/GM-Alex/user-access-manager)", "main": "index.js", "directories": { diff --git a/readme.txt b/readme.txt index 97fdceb..151a9da 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i Tags: admin, access, member area, members, member, member access, page, pages, post, posts, private, privacy, restrict, user, user access manager, user management Requires at least: 4.7 Tested up to: 5.7 -Stable tag: 2.2.12 +Stable tag: 2.2.13 With the "User Access Manager"-plugin you can manage the access to your posts, pages and files. @@ -59,6 +59,9 @@ Here you found the changes in each version. Version Date Changes + 2.2.13 2021/04/15 Fix not logged in user handling. + Type fix for showEditLink. + 2.2.12 2021/04/14 Fix warning. Fix jquery deprecation warning. diff --git a/src/Access/AccessHandler.php b/src/Access/AccessHandler.php index 4cc8684..3f040d5 100644 --- a/src/Access/AccessHandler.php +++ b/src/Access/AccessHandler.php @@ -23,6 +23,7 @@ use UserAccessManager\Object\ObjectHandler; use UserAccessManager\User\UserHandler; use UserAccessManager\UserGroup\AbstractUserGroup; +use UserAccessManager\UserGroup\DynamicUserGroup; use UserAccessManager\UserGroup\UserGroupHandler; use UserAccessManager\UserGroup\UserGroupTypeException; use UserAccessManager\Wrapper\Wordpress; @@ -179,10 +180,22 @@ public function checkObjectAccess(?string $objectType, $objectId, $isAdmin = nul ) { $access = true; } else { + $access = true; $membership = $this->userGroupHandler->getUserGroupsForObject($objectType, $objectId); - $access = $membership === [] - || array_intersect_key($membership, $this->getUserUserGroupsForObjectAccess($isAdmin)) !== [] - && $this->wordpress->isUserMemberOfBlog(); + + if (count($membership) > 0) { + $userGroupDiff = array_intersect_key( + $membership, + $this->getUserUserGroupsForObjectAccess($isAdmin) + ); + $nonLoggedInGroupKey = DynamicUserGroup::USER_TYPE . '|' + . DynamicUserGroup::NOT_LOGGED_IN_USER_ID; + + $access = count($userGroupDiff) > 0 && ( + isset($userGroupDiff[$nonLoggedInGroupKey]) || + $this->wordpress->isUserMemberOfBlog() + ); + } } $this->objectAccess[$isAdmin][$objectType][$objectId] = $access; diff --git a/src/Controller/Frontend/PostController.php b/src/Controller/Frontend/PostController.php index c2faff0..f6f9425 100644 --- a/src/Controller/Frontend/PostController.php +++ b/src/Controller/Frontend/PostController.php @@ -528,6 +528,6 @@ function (AbstractUserGroup $group) { } } - return $link; + return (string) $link; } } diff --git a/src/UserAccessManager.php b/src/UserAccessManager.php index 791909e..e1cc869 100644 --- a/src/UserAccessManager.php +++ b/src/UserAccessManager.php @@ -50,7 +50,7 @@ */ class UserAccessManager { - const VERSION = '2.2.12'; + const VERSION = '2.2.13'; const DB_VERSION = '1.6.1'; /** diff --git a/user-access-manager.php b/user-access-manager.php index da73ca1..7df3c4b 100644 --- a/user-access-manager.php +++ b/user-access-manager.php @@ -3,7 +3,7 @@ * Plugin Name: User Access Manager * Plugin URI: https://wordpress.org/plugins/user-access-manager/ * Author URI: https://twitter.com/GM_Alex - * Version: 2.2.12 + * Version: 2.2.13 * Requires PHP: 7.2 * Author: Alexander Schneider * Description: Manage the access to your posts, pages, categories and files.