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 +32 -9 2.3.13trunk 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.13';
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,
@@ -468,8 +468,31 @@
468 468 $this->wordpress->addFilter('edit_post_link', [$frontendPostController, 'showEditLink'], 10, 2);
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 +
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 +
482 + foreach ((array) $this->objectHandler->getPostTypes() as $postType) {
483 + $this->wordpress->addFilter(
484 + "rest_prepare_$postType",
485 + [$frontendPostController, 'restrictRestResponse'],
486 + 10,
487 + 3
488 + );
489 + $this->wordpress->addFilter(
490 + "rest_{$postType}_query",
491 + [$frontendPostController, 'excludeRestrictedPostsFromRestQuery']
492 + );
493 + }
494 + });
472 495
473 496 // Short code controller
474 497 $frontendShortCodeController = $this->controllerFactory->createFrontendShortCodeController();
475 498