PluginProbe
Quill Forms | Conversational Multi Step Forms, Surveys & quizzes / trunk
Quill Forms | Conversational Multi Step Forms, Surveys & quizzes vtrunk
5.7.3 5.7.2 5.7.1 1.8.1 1.8.10 1.8.11 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 2.0.0 2.1.0 2.10.0 2.11.0 2.12.0 2.12.1 2.13.0 2.13.1 2.13.2 2.13.3 All 146 releases
quillforms / includes / class-capabilities.php

class-capabilities.php in Quill Forms | Conversational Multi Step Forms, Surveys & quizzes trunk, at includes/class-capabilities.php

85 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Capabilities: class Capabilities
4 *
5 * @package QuillForms
6 * @subpackage Capabilities
7 * @since 1.0.0
8 */
9
10 namespace QuillForms;
11
12 use WP_Roles;
13
14 /**
15 * Class Capabilities is for getting capabilities and assigning them to user roles.
16 */
17 class Capabilities {
18
19 /**
20 * Get capabilities.
21 *
22 * @since 1.0.0
23 *
24 * @return array The core capabilities
25 */
26 private static function get_core_capabilities() {
27 $capabilities = array();
28
29 $capabilities['core'] = array(
30 'manage_quillforms',
31 );
32
33 $capability_types = array(
34 'quillform' => array(
35 'plural' => 'quillforms',
36 'singular' => 'quillform',
37 ),
38 'quillform_entry' => array(
39 'plural' => 'quillform_entries',
40 'singular' => 'quillform_entry',
41 ),
42 );
43
44 foreach ( $capability_types as $capability_type => $capability_obj ) {
45
46 $capabilities[ $capability_type ] = array(
47 // Post type.
48 "edit_{$capability_obj['singular']}",
49 "read_{$capability_obj['singular']}",
50 "delete_{$capability_obj['singular']}",
51 "edit_{$capability_obj['plural']}",
52 "publish_{$capability_obj['plural']}",
53 "delete_{$capability_obj['plural']}",
54 );
55 }
56
57 return $capabilities;
58 }
59
60 /**
61 * Assign capabilities for user roles.
62 *
63 * @since 1.0.0
64 */
65 public static function assign_capabilities_for_user_roles() {
66 global $wp_roles;
67
68 if ( ! class_exists( 'WP_Roles' ) ) {
69 return;
70 }
71
72 if ( ! isset( $wp_roles ) ) {
73 $wp_roles = new WP_Roles(); // @codingStandardsIgnoreLine
74 }
75
76 $capabilities = self::get_core_capabilities();
77
78 foreach ( $capabilities as $cap_group ) {
79 foreach ( $cap_group as $cap ) {
80 $wp_roles->add_cap( 'administrator', $cap );
81 }
82 }
83 }
84 }
85