PluginProbe ʕ •ᴥ•ʔ
Nested Pages / 3.2.15
Nested Pages v3.2.15
3.2.15 3.2.14 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.3.0 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.2 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.3.1 1.6.3.2 1.6.4 1.6.5 1.6.5.1 1.6.5.2 1.6.6 1.6.7 1.6.8 1.7.0 1.7.1 2.0.1 2.0.2 2.0.3 2.0.4 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.21 3.1.22 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7
wp-nested-pages / app / Entities / User / UserCapabilities.php
wp-nested-pages / app / Entities / User Last commit date
UserCapabilities.php 3 days ago UserRepository.php 2 years ago
UserCapabilities.php
52 lines
1 <?php
2 namespace NestedPages\Entities\User;
3
4 use NestedPages\Config\SettingsRepository;
5
6 /**
7 * Register custom user roles
8 */
9 class UserCapabilities
10 {
11 /**
12 * Settings Repository
13 */
14 private $settings;
15
16 public function __construct()
17 {
18 $this->settings = new SettingsRepository;
19 add_action('init', [$this, 'addSortingCapabilities']);
20 }
21
22 /**
23 * Adds custom capability of nestedpages_sort_$type
24 */
25 public function addSortingCapabilities()
26 {
27 $post_types = get_post_types(['public' => true]);
28 $invalid = ['attachment'];
29 $granted_roles = ['administrator'];
30 $roles = wp_roles();
31 foreach ( $post_types as $type ) :
32 if ( in_array($type, $invalid) ) continue;
33 foreach ( $roles->roles as $name => $role_obj ) :
34 $role = get_role($name);
35 $grant_capability = ( in_array($name, $granted_roles) ) ? true : false;
36 if ( $role->has_cap("nestedpages_sorting_$type") ) $grant_capability = true;
37
38 /**
39 * Filters the sorting capability for a given role and post type.
40 *
41 * @since 3.1.9
42 *
43 * @param bool $grant_capability Whether role may sort post type.
44 * @param string $type The post type name.
45 * @param \WP_Role $role The role object.
46 */
47 $grant_capability = apply_filters("nestedpages_sorting_capability", $grant_capability, $type, $role);
48 if ( $grant_capability ) $role->add_cap("nestedpages_sorting_$type", true);
49 endforeach;
50 endforeach;
51 }
52 }