Version Description
Download this release
Release Info
Developer | shinephp |
Plugin | User Role Editor |
Version | 4.56 |
Comparing to | |
See all releases |
Code changes from version 4.55.1 to 4.56
- changelog.txt +10 -0
- includes/classes/capabilities-groups-manager.php +7 -1
- includes/classes/capabilities.php +54 -14
- includes/classes/own-capabilities.php +14 -19
- includes/classes/view.php +1 -1
- readme.txt +8 -16
- user-role-editor.php +2 -2
changelog.txt
CHANGED
@@ -1,5 +1,15 @@
|
|
1 |
CHANGES LOG (full version).
|
2 |
===========================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
= [4.55] 03.06.2020 =
|
4 |
* Update: User Role Editor uninstallation was refactored. It fully removes the ('ure_%') user capabilities from the user roles data.
|
5 |
|
1 |
CHANGES LOG (full version).
|
2 |
===========================
|
3 |
+
= [4.56] 09.08.2020 =
|
4 |
+
* New: User capabilities 'install_languages', 'resume_plugins', 'resume_themes', 'view_site_health_checks' were added to the list of supported WordPress built-in user capabilities.
|
5 |
+
* Update: Single site WordPress installation: URE automatically grants all existing user capabilities to WordPress built-in 'administrator' role before opening its page "Users->User Role Editor".
|
6 |
+
* Fix: Extra slash was removed between URE_PLUGIN_URL and the image resource when outputting URE_PLUGIN_URL .'/images/ajax-loader.gif' at 'Users->User Role Editor' page.
|
7 |
+
* Info: Marked as compatible with WordPress 5.5.
|
8 |
+
|
9 |
+
= [4.55.1] 06.06.2020 =
|
10 |
+
* Security fix: User with 'edit_users' capability could assign to another user a role not included into the editable roles list. This fix is required to install ASAP for all sites which have user(s) with 'edit_users' capability granted not via 'administrator' role.
|
11 |
+
* Update: URE_Uninstall class properties were made 'protected' to be accessible in URE_Uninstall_Pro class included into the Pro version.
|
12 |
+
|
13 |
= [4.55] 03.06.2020 =
|
14 |
* Update: User Role Editor uninstallation was refactored. It fully removes the ('ure_%') user capabilities from the user roles data.
|
15 |
|
includes/classes/capabilities-groups-manager.php
CHANGED
@@ -225,7 +225,13 @@ class URE_Capabilities_Groups_Manager {
|
|
225 |
$caps['manage_network_options'] = array('core', 'multisite', 'general');
|
226 |
$caps['upgrade_network'] = array('core', 'multisite', 'general');
|
227 |
}
|
228 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
$caps = apply_filters('ure_built_in_wp_caps', $caps);
|
230 |
|
231 |
$this->built_in_wp_caps = $caps;
|
225 |
$caps['manage_network_options'] = array('core', 'multisite', 'general');
|
226 |
$caps['upgrade_network'] = array('core', 'multisite', 'general');
|
227 |
}
|
228 |
+
|
229 |
+
$caps['install_languages'] = array('core', 'general');
|
230 |
+
$caps['resume_plugins'] = array('core', 'plugins');
|
231 |
+
$caps['resume_themes'] = array('core', 'themes');
|
232 |
+
$caps['view_site_health_checks'] = array('core', 'general');
|
233 |
+
|
234 |
+
|
235 |
$caps = apply_filters('ure_built_in_wp_caps', $caps);
|
236 |
|
237 |
$this->built_in_wp_caps = $caps;
|
includes/classes/capabilities.php
CHANGED
@@ -52,7 +52,7 @@ class URE_Capabilities {
|
|
52 |
|
53 |
$cap = array();
|
54 |
$cap['inner'] = $cap_id;
|
55 |
-
$cap['human'] = esc_html__( $this->convert_cap_to_readable( $cap_id) , 'user-role-editor' );
|
56 |
if ( isset( $this->built_in_wp_caps[$cap_id] ) ) {
|
57 |
$cap['wp_core'] = true;
|
58 |
} else {
|
@@ -76,8 +76,8 @@ class URE_Capabilities {
|
|
76 |
if (!isset($role['capabilities']) || !is_array($role['capabilities'])) {
|
77 |
continue;
|
78 |
}
|
79 |
-
foreach (array_keys($role['capabilities']) as $cap) {
|
80 |
-
$this->add_capability_to_full_caps_list($cap, $full_list );
|
81 |
}
|
82 |
}
|
83 |
|
@@ -149,8 +149,8 @@ class URE_Capabilities {
|
|
149 |
$editor = URE_Editor::get_instance();
|
150 |
$user = $editor->get('user_to_edit');
|
151 |
$roles = $editor->get('roles');
|
152 |
-
foreach(array_keys($user->caps) as $cap) {
|
153 |
-
if (!isset($roles[$cap])) { // it is the user capability, not role
|
154 |
$this->add_capability_to_full_caps_list( $cap, $full_list );
|
155 |
}
|
156 |
}
|
@@ -187,12 +187,12 @@ class URE_Capabilities {
|
|
187 |
|
188 |
|
189 |
public static function add_cap_to_roles( $roles, $cap ) {
|
190 |
-
global $wp_roles;
|
191 |
|
192 |
if ( !is_array( $roles ) || count( $roles )==0 ) {
|
193 |
return;
|
194 |
}
|
195 |
|
|
|
196 |
foreach( $roles as $role ) {
|
197 |
if ( isset( $wp_roles->role_objects[$role] ) &&
|
198 |
!isset( $wp_roles->role_objects[$role]->capabilities[$cap] ) ) {
|
@@ -205,7 +205,6 @@ class URE_Capabilities {
|
|
205 |
|
206 |
|
207 |
protected function add_custom_post_type_caps( &$full_list ) {
|
208 |
-
global $wp_roles;
|
209 |
|
210 |
$multisite = $this->lib->get( 'multisite' );
|
211 |
// admin should be capable to edit any posts
|
@@ -237,11 +236,12 @@ class URE_Capabilities {
|
|
237 |
}
|
238 |
}
|
239 |
|
|
|
240 |
if ( !$multisite && isset( $wp_roles->role_objects['administrator'] ) ) {
|
241 |
// admin should be capable to create posts and pages
|
242 |
foreach( array( 'post', 'page' ) as $post_type_name ) {
|
243 |
$this->add_create_cap_to_admin( $post_type_name );
|
244 |
-
}
|
245 |
}
|
246 |
|
247 |
}
|
@@ -255,7 +255,7 @@ class URE_Capabilities {
|
|
255 |
protected function add_ure_caps( &$full_list ) {
|
256 |
|
257 |
$key_cap = URE_Own_Capabilities::get_key_capability();
|
258 |
-
if ( !current_user_can( $key_cap ) ) {
|
259 |
return;
|
260 |
}
|
261 |
$ure_caps = URE_Own_Capabilities::get_caps();
|
@@ -267,6 +267,45 @@ class URE_Capabilities {
|
|
267 |
// end of add_ure_caps()
|
268 |
|
269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
public function init_full_list( $ure_object ) {
|
271 |
|
272 |
$full_list = array();
|
@@ -282,6 +321,7 @@ class URE_Capabilities {
|
|
282 |
$this->add_ure_caps( $full_list );
|
283 |
asort( $full_list );
|
284 |
$full_list = apply_filters('ure_full_capabilites', $full_list);
|
|
|
285 |
|
286 |
return $full_list;
|
287 |
}
|
@@ -295,12 +335,12 @@ class URE_Capabilities {
|
|
295 |
$wp_roles = wp_roles();
|
296 |
// build full capabilities list from all roles
|
297 |
$full_caps_list = array();
|
298 |
-
foreach ($wp_roles->roles as $role) {
|
299 |
// validate if capabilities is an array
|
300 |
-
if (isset($role['capabilities']) && is_array($role['capabilities'])) {
|
301 |
foreach ($role['capabilities'] as $capability => $value) {
|
302 |
-
if (!isset($full_caps_list[$capability])) {
|
303 |
-
$full_caps_list[$capability] =
|
304 |
}
|
305 |
}
|
306 |
}
|
@@ -322,7 +362,7 @@ class URE_Capabilities {
|
|
322 |
$caps[$cap] = 1;
|
323 |
}
|
324 |
}
|
325 |
-
|
326 |
return $caps;
|
327 |
}
|
328 |
// end of get_visual_composer_caps()
|
52 |
|
53 |
$cap = array();
|
54 |
$cap['inner'] = $cap_id;
|
55 |
+
$cap['human'] = esc_html__( $this->convert_cap_to_readable( $cap_id ) , 'user-role-editor' );
|
56 |
if ( isset( $this->built_in_wp_caps[$cap_id] ) ) {
|
57 |
$cap['wp_core'] = true;
|
58 |
} else {
|
76 |
if (!isset($role['capabilities']) || !is_array($role['capabilities'])) {
|
77 |
continue;
|
78 |
}
|
79 |
+
foreach ( array_keys( $role['capabilities'] ) as $cap ) {
|
80 |
+
$this->add_capability_to_full_caps_list( $cap, $full_list );
|
81 |
}
|
82 |
}
|
83 |
|
149 |
$editor = URE_Editor::get_instance();
|
150 |
$user = $editor->get('user_to_edit');
|
151 |
$roles = $editor->get('roles');
|
152 |
+
foreach( array_keys( $user->caps ) as $cap ) {
|
153 |
+
if ( !isset( $roles[$cap] ) ) { // it is the user capability, not role
|
154 |
$this->add_capability_to_full_caps_list( $cap, $full_list );
|
155 |
}
|
156 |
}
|
187 |
|
188 |
|
189 |
public static function add_cap_to_roles( $roles, $cap ) {
|
|
|
190 |
|
191 |
if ( !is_array( $roles ) || count( $roles )==0 ) {
|
192 |
return;
|
193 |
}
|
194 |
|
195 |
+
$wp_roles = wp_roles();
|
196 |
foreach( $roles as $role ) {
|
197 |
if ( isset( $wp_roles->role_objects[$role] ) &&
|
198 |
!isset( $wp_roles->role_objects[$role]->capabilities[$cap] ) ) {
|
205 |
|
206 |
|
207 |
protected function add_custom_post_type_caps( &$full_list ) {
|
|
|
208 |
|
209 |
$multisite = $this->lib->get( 'multisite' );
|
210 |
// admin should be capable to edit any posts
|
236 |
}
|
237 |
}
|
238 |
|
239 |
+
$wp_roles = wp_roles();
|
240 |
if ( !$multisite && isset( $wp_roles->role_objects['administrator'] ) ) {
|
241 |
// admin should be capable to create posts and pages
|
242 |
foreach( array( 'post', 'page' ) as $post_type_name ) {
|
243 |
$this->add_create_cap_to_admin( $post_type_name );
|
244 |
+
}
|
245 |
}
|
246 |
|
247 |
}
|
255 |
protected function add_ure_caps( &$full_list ) {
|
256 |
|
257 |
$key_cap = URE_Own_Capabilities::get_key_capability();
|
258 |
+
if ( !current_user_can( $key_cap ) ) {
|
259 |
return;
|
260 |
}
|
261 |
$ure_caps = URE_Own_Capabilities::get_caps();
|
267 |
// end of add_ure_caps()
|
268 |
|
269 |
|
270 |
+
// Under the single site WordPress installation administrator role should have all existing capabilities included
|
271 |
+
protected function grant_all_caps_to_admin( $full_list ) {
|
272 |
+
|
273 |
+
$multisite = $this->lib->get( 'multisite' );
|
274 |
+
if ( $multisite ) {
|
275 |
+
// There is a superadmin user under WP multisite, so single site administrator role may do not have full list of capabilities.
|
276 |
+
return;
|
277 |
+
}
|
278 |
+
|
279 |
+
$wp_roles = wp_roles();
|
280 |
+
if ( !isset( $wp_roles->role_objects['administrator'] ) ) {
|
281 |
+
return;
|
282 |
+
}
|
283 |
+
|
284 |
+
// Use this filter as the last chance to stop this
|
285 |
+
$grant = apply_filters('ure_grant_all_caps_to_admin', true );
|
286 |
+
if ( empty( $grant) ) {
|
287 |
+
return;
|
288 |
+
}
|
289 |
+
|
290 |
+
$admin_role = $wp_roles->role_objects['administrator'];
|
291 |
+
$updated = false;
|
292 |
+
foreach( $full_list as $capability ) {
|
293 |
+
$cap = $capability['inner'];
|
294 |
+
if ( !$admin_role->has_cap( $cap ) ) {
|
295 |
+
$admin_role->add_cap( $cap );
|
296 |
+
$updated = true;
|
297 |
+
}
|
298 |
+
}
|
299 |
+
if ( $updated ) { // Flush the changes to the database
|
300 |
+
$use_db = $wp_roles->use_db;
|
301 |
+
$wp_roles->use_db = true;
|
302 |
+
$admin_role->add_cap('read'); // administrator always should can 'read'
|
303 |
+
$wp_roles->use_db = $use_db;
|
304 |
+
}
|
305 |
+
}
|
306 |
+
// end of grant_all_caps_to_admin()
|
307 |
+
|
308 |
+
|
309 |
public function init_full_list( $ure_object ) {
|
310 |
|
311 |
$full_list = array();
|
321 |
$this->add_ure_caps( $full_list );
|
322 |
asort( $full_list );
|
323 |
$full_list = apply_filters('ure_full_capabilites', $full_list);
|
324 |
+
$this->grant_all_caps_to_admin( $full_list );
|
325 |
|
326 |
return $full_list;
|
327 |
}
|
335 |
$wp_roles = wp_roles();
|
336 |
// build full capabilities list from all roles
|
337 |
$full_caps_list = array();
|
338 |
+
foreach ( $wp_roles->roles as $role ) {
|
339 |
// validate if capabilities is an array
|
340 |
+
if ( isset( $role['capabilities'] ) && is_array( $role['capabilities'] ) ) {
|
341 |
foreach ($role['capabilities'] as $capability => $value) {
|
342 |
+
if ( !isset( $full_caps_list[$capability] ) ) {
|
343 |
+
$full_caps_list[$capability] = true;
|
344 |
}
|
345 |
}
|
346 |
}
|
362 |
$caps[$cap] = 1;
|
363 |
}
|
364 |
}
|
365 |
+
|
366 |
return $caps;
|
367 |
}
|
368 |
// end of get_visual_composer_caps()
|
includes/classes/own-capabilities.php
CHANGED
@@ -62,12 +62,12 @@ class URE_Own_Capabilities {
|
|
62 |
}
|
63 |
|
64 |
$multisite = $lib->get('multisite');
|
65 |
-
if (!$multisite) {
|
66 |
$key_cap = URE_KEY_CAPABILITY;
|
67 |
} else {
|
68 |
$enable_simple_admin_for_multisite = $lib->get_option('enable_simple_admin_for_multisite', 0);
|
69 |
-
if ( (defined('URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE') && URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE == 1) ||
|
70 |
-
$enable_simple_admin_for_multisite) {
|
71 |
$key_cap = URE_KEY_CAPABILITY;
|
72 |
} else {
|
73 |
$key_cap = 'manage_network_plugins';
|
@@ -89,7 +89,7 @@ class URE_Own_Capabilities {
|
|
89 |
|
90 |
$lib = URE_Lib::get_instance();
|
91 |
$settings_cap = $lib->get('settings_capability');
|
92 |
-
if (!empty($settings_cap)) {
|
93 |
return $settings_cap;
|
94 |
}
|
95 |
|
@@ -98,14 +98,14 @@ class URE_Own_Capabilities {
|
|
98 |
$settings_cap = 'ure_manage_options';
|
99 |
} else {
|
100 |
$enable_simple_admin_for_multisite = $lib->get_option('enable_simple_admin_for_multisite', 0);
|
101 |
-
if ((defined('URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE') && URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE == 1) ||
|
102 |
-
$enable_simple_admin_for_multisite) {
|
103 |
$settings_cap = 'ure_manage_options';
|
104 |
} else {
|
105 |
$settings_cap = self::get_key_capability();
|
106 |
}
|
107 |
}
|
108 |
-
$lib->set('settings_capability', $settings_cap);
|
109 |
|
110 |
return $settings_cap;
|
111 |
}
|
@@ -113,13 +113,9 @@ class URE_Own_Capabilities {
|
|
113 |
|
114 |
|
115 |
public static function init_caps() {
|
116 |
-
global $wp_roles;
|
117 |
-
|
118 |
-
if (!isset($wp_roles)) {
|
119 |
-
$wp_roles = new WP_Roles();
|
120 |
-
}
|
121 |
|
122 |
-
|
|
|
123 |
return;
|
124 |
}
|
125 |
|
@@ -132,9 +128,9 @@ class URE_Own_Capabilities {
|
|
132 |
$wp_roles->use_db = true;
|
133 |
$administrator = $wp_roles->role_objects['administrator'];
|
134 |
$ure_caps = self::get_caps();
|
135 |
-
foreach(array_keys($ure_caps) as $cap) {
|
136 |
-
if (!$administrator->has_cap($cap)) {
|
137 |
-
$administrator->add_cap($cap, $turn_on);
|
138 |
}
|
139 |
}
|
140 |
$wp_roles->use_db = $old_use_db;
|
@@ -149,10 +145,9 @@ class URE_Own_Capabilities {
|
|
149 |
*/
|
150 |
public static function get_caps_groups() {
|
151 |
|
152 |
-
$ure_caps = self::get_caps();
|
153 |
-
|
154 |
$caps = array();
|
155 |
-
foreach($ure_caps as $ure_cap
|
156 |
$caps[$ure_cap] = array('custom', 'user_role_editor');
|
157 |
}
|
158 |
|
62 |
}
|
63 |
|
64 |
$multisite = $lib->get('multisite');
|
65 |
+
if ( !$multisite ) {
|
66 |
$key_cap = URE_KEY_CAPABILITY;
|
67 |
} else {
|
68 |
$enable_simple_admin_for_multisite = $lib->get_option('enable_simple_admin_for_multisite', 0);
|
69 |
+
if ( ( defined('URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE') && URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE == 1 ) ||
|
70 |
+
$enable_simple_admin_for_multisite ) {
|
71 |
$key_cap = URE_KEY_CAPABILITY;
|
72 |
} else {
|
73 |
$key_cap = 'manage_network_plugins';
|
89 |
|
90 |
$lib = URE_Lib::get_instance();
|
91 |
$settings_cap = $lib->get('settings_capability');
|
92 |
+
if ( !empty( $settings_cap ) ) {
|
93 |
return $settings_cap;
|
94 |
}
|
95 |
|
98 |
$settings_cap = 'ure_manage_options';
|
99 |
} else {
|
100 |
$enable_simple_admin_for_multisite = $lib->get_option('enable_simple_admin_for_multisite', 0);
|
101 |
+
if ( ( defined('URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE' ) && URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE == 1 ) ||
|
102 |
+
$enable_simple_admin_for_multisite ) {
|
103 |
$settings_cap = 'ure_manage_options';
|
104 |
} else {
|
105 |
$settings_cap = self::get_key_capability();
|
106 |
}
|
107 |
}
|
108 |
+
$lib->set('settings_capability', $settings_cap );
|
109 |
|
110 |
return $settings_cap;
|
111 |
}
|
113 |
|
114 |
|
115 |
public static function init_caps() {
|
|
|
|
|
|
|
|
|
|
|
116 |
|
117 |
+
$wp_roles = wp_roles();
|
118 |
+
if ( !isset( $wp_roles->roles['administrator'] ) ) {
|
119 |
return;
|
120 |
}
|
121 |
|
128 |
$wp_roles->use_db = true;
|
129 |
$administrator = $wp_roles->role_objects['administrator'];
|
130 |
$ure_caps = self::get_caps();
|
131 |
+
foreach( array_keys( $ure_caps ) as $cap ) {
|
132 |
+
if ( !$administrator->has_cap( $cap ) ) {
|
133 |
+
$administrator->add_cap( $cap, $turn_on );
|
134 |
}
|
135 |
}
|
136 |
$wp_roles->use_db = $old_use_db;
|
145 |
*/
|
146 |
public static function get_caps_groups() {
|
147 |
|
148 |
+
$ure_caps = self::get_caps();
|
|
|
149 |
$caps = array();
|
150 |
+
foreach( array_keys( $ure_caps ) as $ure_cap ) {
|
151 |
$caps[$ure_cap] = array('custom', 'user_role_editor');
|
152 |
}
|
153 |
|
includes/classes/view.php
CHANGED
@@ -286,7 +286,7 @@ class URE_View {
|
|
286 |
public static function output_task_status_div() {
|
287 |
?>
|
288 |
<div id="ure_task_status" style="display:none;position:absolute;top:10px;right:10px;padding:10px;background-color:#000000;color:#ffffff;">
|
289 |
-
<img src="<?php echo URE_PLUGIN_URL .'
|
290 |
</div>
|
291 |
<?php
|
292 |
}
|
286 |
public static function output_task_status_div() {
|
287 |
?>
|
288 |
<div id="ure_task_status" style="display:none;position:absolute;top:10px;right:10px;padding:10px;background-color:#000000;color:#ffffff;">
|
289 |
+
<img src="<?php echo URE_PLUGIN_URL .'images/ajax-loader.gif';?>" width="16" height="16"/> <?php esc_html_e('Working...','user-role-editor');?>
|
290 |
</div>
|
291 |
<?php
|
292 |
}
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: shinephp
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=vladimir%40shinephp%2ecom&lc=RU&item_name=ShinePHP%2ecom&item_number=User%20Role%20Editor%20WordPress%20plugin¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
|
4 |
Tags: user, role, editor, security, access, permission, capability
|
5 |
Requires at least: 4.0
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 4.
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -80,6 +80,12 @@ https://translate.wordpress.org/projects/wp-plugins/user-role-editor/
|
|
80 |
|
81 |
|
82 |
== Changelog =
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
= [4.55.1] 06.06.2020 =
|
84 |
* Security fix: User with 'edit_users' capability could assign to another user a role not included into the editable roles list. This fix is required to install ASAP for all sites which have user(s) with 'edit_users' capability granted not via 'administrator' role.
|
85 |
* Update: URE_Uninstall class properties were made 'protected' to be accessible in URE_Uninstall_Pro class included into the Pro version.
|
@@ -87,20 +93,6 @@ https://translate.wordpress.org/projects/wp-plugins/user-role-editor/
|
|
87 |
= [4.55] 03.06.2020 =
|
88 |
* Update: User Role Editor uninstallation was refactored. It fully removes the ('ure_%') user capabilities from the user roles data.
|
89 |
|
90 |
-
= [4.54] 02.05.2020 =
|
91 |
-
* New: Quick filter hides capabilities, which do not contain search string
|
92 |
-
* Update: CSS enhancement: When site has many custom post types capabilities list section maximal height is limited by real height of the left side (capabilities groups) section, not by 720px as earlier.
|
93 |
-
|
94 |
-
= [4.53.2] 03.04.2020 =
|
95 |
-
* Fix: Empty list of capabilities (0/0) was shown for custom post types (CPT) which are defined with the same capability type as another CPT.
|
96 |
-
For example courses CPT from LearnDash plugin is defined with 'course' capability type (edit_courses, etc.) and other CPT from LearnDash were shown with 0/0 capabilities (lessons, topics, quizzes, certificates).
|
97 |
-
|
98 |
-
= [4.53.1] 22.03.2020 =
|
99 |
-
* New: "Hide Pro banner" checkbox works via AJAX without full page refresh.
|
100 |
-
* Fix: Undefined variable: $message at wp-content/plugins/user-role-editor/includes/classes/editor.php:898
|
101 |
-
* Update: Few English grammar enhancements.
|
102 |
-
|
103 |
-
|
104 |
File changelog.txt contains the full list of changes.
|
105 |
|
106 |
== Additional Documentation ==
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=vladimir%40shinephp%2ecom&lc=RU&item_name=ShinePHP%2ecom&item_number=User%20Role%20Editor%20WordPress%20plugin¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
|
4 |
Tags: user, role, editor, security, access, permission, capability
|
5 |
Requires at least: 4.0
|
6 |
+
Tested up to: 5.5
|
7 |
+
Stable tag: 4.56
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
80 |
|
81 |
|
82 |
== Changelog =
|
83 |
+
= [4.56] 09.08.2020 =
|
84 |
+
* New: User capabilities 'install_languages', 'resume_plugins', 'resume_themes', 'view_site_health_checks' were added to the list of supported WordPress built-in user capabilities.
|
85 |
+
* Update: Single site WordPress installation: URE automatically grants all existing user capabilities to WordPress built-in 'administrator' role before opening its page "Users->User Role Editor".
|
86 |
+
* Fix: Extra slash was removed between URE_PLUGIN_URL and the image resource when outputting URE_PLUGIN_URL .'/images/ajax-loader.gif' at 'Users->User Role Editor' page.
|
87 |
+
* Info: Marked as compatible with WordPress 5.5.
|
88 |
+
|
89 |
= [4.55.1] 06.06.2020 =
|
90 |
* Security fix: User with 'edit_users' capability could assign to another user a role not included into the editable roles list. This fix is required to install ASAP for all sites which have user(s) with 'edit_users' capability granted not via 'administrator' role.
|
91 |
* Update: URE_Uninstall class properties were made 'protected' to be accessible in URE_Uninstall_Pro class included into the Pro version.
|
93 |
= [4.55] 03.06.2020 =
|
94 |
* Update: User Role Editor uninstallation was refactored. It fully removes the ('ure_%') user capabilities from the user roles data.
|
95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
File changelog.txt contains the full list of changes.
|
97 |
|
98 |
== Additional Documentation ==
|
user-role-editor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: User Role Editor
|
4 |
Plugin URI: https://www.role-editor.com
|
5 |
Description: Change/add/delete WordPress user roles and capabilities.
|
6 |
-
Version: 4.
|
7 |
Author: Vladimir Garagulya
|
8 |
Author URI: https://www.role-editor.com
|
9 |
Text Domain: user-role-editor
|
@@ -23,7 +23,7 @@ if ( defined( 'URE_PLUGIN_URL' ) ) {
|
|
23 |
wp_die( 'It seems that other version of User Role Editor is active. Please deactivate it before use this version' );
|
24 |
}
|
25 |
|
26 |
-
define( 'URE_VERSION', '4.
|
27 |
define( 'URE_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
28 |
define( 'URE_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
29 |
define( 'URE_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
|
3 |
Plugin Name: User Role Editor
|
4 |
Plugin URI: https://www.role-editor.com
|
5 |
Description: Change/add/delete WordPress user roles and capabilities.
|
6 |
+
Version: 4.56
|
7 |
Author: Vladimir Garagulya
|
8 |
Author URI: https://www.role-editor.com
|
9 |
Text Domain: user-role-editor
|
23 |
wp_die( 'It seems that other version of User Role Editor is active. Please deactivate it before use this version' );
|
24 |
}
|
25 |
|
26 |
+
define( 'URE_VERSION', '4.56' );
|
27 |
define( 'URE_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
28 |
define( 'URE_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
29 |
define( 'URE_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
|