PluginProbe
Cooked – Recipe Management / 1.11.4
Cooked – Recipe Management v1.11.4
1.16.1 1.16.0 1.15.0 trunk 1.10.0 1.11.0 1.11.1 1.11.2 1.11.3 1.11.4 1.12.0 1.13.0 1.14.0 1.7.10 1.7.11 1.7.12 1.7.13 1.7.15.1 1.7.15.3 1.7.15.4 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 All 37 releases
cooked / includes / class.cooked-roles.php

class.cooked-roles.php in Cooked – Recipe Management 1.11.4, at includes/class.cooked-roles.php

120 lines 4.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Roles and Capabilities
4 *
5 * @package Cooked
6 * @subpackage Roles
7 * @since 1.0.0
8 */
9
10 // Exit if accessed directly
11 if ( ! defined( 'ABSPATH' ) ) exit;
12
13 class Cooked_Roles {
14
15 public static function add_roles() {
16 $caps = apply_filters('cooked_recipe_editor_caps', [
17 'manage_categories' => 1,
18 'upload_files' => 1,
19 'unfiltered_html' => 1,
20 ]);
21
22 add_role('cooked_recipe_editor', __('Recipe Editor', 'cooked'), $caps);
23 }
24
25 public static function remove_roles() {
26 remove_role('cooked_recipe_editor');
27 }
28
29 public static function add_caps() {
30 global $wp_roles;
31
32 if (class_exists('WP_Roles')) {
33 if (!isset($wp_roles)) {
34 $wp_roles = new WP_Roles();
35 }
36 }
37
38 if (is_object($wp_roles)) {
39 $wp_roles->add_cap('contributor', 'edit_cooked_recipes'); // General Edit Recipes
40 $wp_roles->add_cap('author', 'edit_cooked_recipes'); // General Edit Recipes
41
42 // Editor
43 $wp_roles->add_cap('editor', 'edit_cooked_recipes'); // General Edit Recipes
44 $wp_roles->add_cap('editor', 'delete_cooked_recipes'); // Delete Recipes
45
46 // Recipe Editor
47 $wp_roles->add_cap('cooked_recipe_editor', 'edit_cooked_recipes'); // General Edit Recipes
48 $wp_roles->add_cap('cooked_recipe_editor', 'approve_cooked_recipes'); // Approve Recipes
49 $wp_roles->add_cap('cooked_recipe_editor', 'delete_cooked_recipes'); // Delete Recipes
50 $wp_roles->add_cap('cooked_recipe_editor', 'edit_cooked_default_template'); // Edit Default Template
51
52 // Administrator
53 $wp_roles->add_cap('administrator', 'edit_cooked_recipes'); // General Edit Recipes
54 $wp_roles->add_cap('administrator', 'edit_cooked_settings'); // Cooked Settings
55 $wp_roles->add_cap('administrator', 'approve_cooked_recipes'); // Approve Recipes
56 $wp_roles->add_cap('administrator', 'delete_cooked_recipes'); // Delete Recipes
57 $wp_roles->add_cap('administrator', 'edit_cooked_default_template'); // Edit Default Template
58 }
59 }
60
61 public static function remove_caps() {
62 global $wp_roles;
63
64 if (class_exists('WP_Roles')) {
65 if (!isset($wp_roles)) {
66 $wp_roles = new WP_Roles();
67 }
68 }
69
70 if (is_object($wp_roles)) {
71 $roles = ['subscriber', 'contributor', 'author', 'editor', 'cooked_recipe_editor', 'administrator'];
72
73 foreach ($roles as $role) {
74 $wp_roles->remove_cap($role, 'edit_cooked_recipes' ); // General Edit Recipes
75 $wp_roles->remove_cap($role, 'edit_cooked_settings'); // Recipe Settings
76 $wp_roles->remove_cap($role, 'approve_cooked_recipes'); // Approve Recipes
77 $wp_roles->remove_cap($role, 'delete_cooked_recipes'); // Delete Recipes
78 $wp_roles->remove_cap($role, 'edit_cooked_default_template'); // Edit Default Template
79 }
80 }
81 }
82
83 public static function clean_caps() {
84 global $wp_roles;
85
86 if (class_exists('WP_Roles')) {
87 if (!isset($wp_roles)) {
88 $wp_roles = new WP_Roles();
89 }
90 }
91
92 if (is_object($wp_roles)) {
93 $singular = 'cp_recipe';
94 $plural = 'cp_recipes';
95 $roles = ['subscriber', 'contributor', 'author', 'editor', 'cooked_recipe_editor', 'administrator'];
96
97 foreach ($roles as $role) {
98 $wp_roles->remove_cap($role, 'edit_cooked_recipes' ); // General Edit Recipes
99 $wp_roles->remove_cap($role, 'edit_cooked_settings'); // Recipe Settings
100 $wp_roles->remove_cap($role, 'approve_cooked_recipes'); // Approve Recipes
101 $wp_roles->remove_cap($role, 'delete_cooked_recipes'); // Delete Recipes
102 $wp_roles->remove_cap($role, 'edit_cooked_default_template'); // Edit Default Template
103 $wp_roles->remove_cap($role, "edit_{$singular}");
104 $wp_roles->remove_cap($role, "edit_{$plural}");
105 $wp_roles->remove_cap($role, "edit_others_{$plural}");
106 $wp_roles->remove_cap($role, "publish_{$plural}");
107 $wp_roles->remove_cap($role, "read_{$singular}");
108 $wp_roles->remove_cap($role, "read_private_{$plural}");
109 $wp_roles->remove_cap($role, "delete_{$singular}");
110 $wp_roles->remove_cap($role, "delete_{$plural}");
111 $wp_roles->remove_cap($role, "delete_private_{$plural}");
112 $wp_roles->remove_cap($role, "delete_others_{$plural}");
113 $wp_roles->remove_cap($role, "edit_published_{$plural}");
114 $wp_roles->remove_cap($role, "edit_private_{$plural}");
115 $wp_roles->remove_cap($role, "delete_published_{$plural}");
116 }
117 }
118 }
119 }
120