JoryHogeveen / view-admin-as

View the WordPress admin as a different role, switch between users, temporarily change your capabilities, set default screen settings for roles, manage your roles and capabilities.

Home Page:https://wordpress.org/plugins/view-admin-as/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Conflict with User Role Editor filter

sanzeeb3 opened this issue · comments

Describe the bug

This filter 'ure_full_capabilites' in the User Role Editor expects a full list capability return. Example format:

Array
(
    [activate_plugins] => Array
        (
            [inner] => activate_plugins
            [human] => Activate plugins
            [wp_core] => 1
        )

    [assign_give_form_terms] => Array
        (
            [inner] => assign_give_form_terms
            [human] => Assign give form terms
            [wp_core] => 
        )

    [assign_give_payment_terms] => Array
        (
            [inner] => assign_give_payment_terms
            [human] => Assign give payment terms
            [wp_core] => 
        )

while the same filter in this plugin return the $caps in the format:

Array (
    [activate_plugins] => activate_plugins
    [edit_plugins] => edit_plugins
    [edit_users] => edit_users
    [edit_files] => edit_files
    [manage_options] => manage_options
    [level_10] => level_10
    [delete_users] => delete_users

Specifications

  • Plugin Version: 1.8.5
  • WordPress Version: 5.3.2
  • Other plugins installed: WPForms

Additional context

Any plugin using this filter returning the format that 'User Role Editor' expects creates the issue. For example WPForms.

Steps to reproduce the issue:

  1. Install and active View Admin As and WPForms plugin.
  2. Enable error log.
  3. See the error.

Hi @sanzeeb3

Do you get an error or notification?
I cannot find any changes in the URE plugin that indicates such a format. See: https://plugins.trac.wordpress.org/browser/user-role-editor/trunk/includes/classes/own-capabilities.php

In any case, I implemented the members hook members_get_capabilities, not the URE hook you mention. URE also has implemented the Members hook so if they want to support that they will need to use that format.

Cheers, Jory

Hi @sanzeeb3

I think I understand your issue.
My compat code also parses the URE hook to fetch all capabilities that other plugins might add to that hook.
I'll change my code to just pass an empty array to that hook. I might even just remove it completely.

Cheers, Jory

Yeah that. It's just a notice, though. This: https://wordpress.org/support/topic/causing-error-on-pages/