PluginProbe
User Access Manager / trunk
User Access Manager vtrunk
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | src/UserAccessManager.php +17 -10 2.3.14trunk View file →
@@ -7,19 +7,19 @@
7 7 use UserAccessManager\Access\AccessHandler;
8 8 use UserAccessManager\Cache\Cache;
9 9 use UserAccessManager\Cache\CacheProviderFactory;
10 10 use UserAccessManager\Config\ConfigFactory;
11 -use UserAccessManager\Config\ConfigParameterFactory;
11 +use UserAccessManager\Config\Parameter\ConfigParameterFactory;
12 12 use UserAccessManager\Config\MainConfig;
13 -use UserAccessManager\Controller\Backend\DynamicGroupsController;
14 -use UserAccessManager\Controller\Backend\PostObjectController;
15 -use UserAccessManager\Controller\Backend\TermObjectController;
16 -use UserAccessManager\Controller\Backend\UserObjectController;
13 +use UserAccessManager\Controller\Backend\ObjectMembership\DynamicGroupsController;
14 +use UserAccessManager\Controller\Backend\ObjectMembership\PostObjectController;
15 +use UserAccessManager\Controller\Backend\ObjectMembership\TermObjectController;
16 +use UserAccessManager\Controller\Backend\ObjectMembership\UserObjectController;
17 17 use UserAccessManager\Controller\ControllerFactory;
18 18 use UserAccessManager\Database\Database;
19 19 use UserAccessManager\File\FileHandler;
20 -use UserAccessManager\File\FileObjectFactory;
21 -use UserAccessManager\File\FileProtectionFactory;
20 +use UserAccessManager\File\Delivery\FileObjectFactory;
21 +use UserAccessManager\File\Protection\FileProtectionFactory;
22 22 use UserAccessManager\Object\ObjectHandler;
23 23 use UserAccessManager\ObjectMembership\ObjectMembershipHandlerFactory;
24 24 use UserAccessManager\Setup\SetupHandler;
25 25 use UserAccessManager\User\UserHandler;
@@ -31,10 +31,10 @@
31 31 use UserAccessManager\Wrapper\Wordpress;
32 32
33 33 class UserAccessManager
34 34 {
35 - public const VERSION = '2.3.14';
36 - public const DB_VERSION = '1.6.2';
35 + public const VERSION = UAM_VERSION;
36 + public const DB_VERSION = '1.6.3';
37 37
38 38 public function __construct(
39 39 private Php $php,
40 40 private Wordpress $wordpress,
@@ -469,10 +469,17 @@
469 469 $this->wordpress->addFilter('parse_query', [$frontendPostController, 'parseQuery']);
470 470 $this->wordpress->addFilter('getarchives_where', [$frontendPostController, 'showPostSql']);
471 471 $this->wordpress->addFilter('wp_count_posts', [$frontendPostController, 'showPostCount'], 10, 3);
472 472
473 - // Registered on rest_api_init so that all REST-enabled post types are known.
474 473 $this->wordpress->addAction('rest_api_init', function () use ($frontendPostController) {
474 + //Runs first, so that no access check caches the context before the guard.
475 + $this->wordpress->addFilter(
476 + 'rest_pre_dispatch',
477 + [$frontendPostController, 'restrictRestRequest'],
478 + 1,
479 + 3
480 + );
481 +
475 482 foreach ((array) $this->objectHandler->getPostTypes() as $postType) {
476 483 $this->wordpress->addFilter(
477 484 "rest_prepare_$postType",
478 485 [$frontendPostController, 'restrictRestResponse'],