Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance/WPQueryParams: prevent false positives for 'exclude' with get_users() #784

Merged

Commits on Aug 25, 2023

  1. Performance/WPQueryParams: prevent false positives for 'exclude' with…

    … get_users()
    
    As reported in 672 and 729, the `get_users()` function also takes an array parameter which takes an `'exclude'` key. That key is not our target, so should not be flagged.
    
    This commit adds a hard-coded exception specifically for that situation.
    
    If at a later point in time, more situations which need exceptions would be discovered, this solution can be made more flexible, but for now, there is no need (or insight into where the flexibility should be).
    
    As the `AbstractArrayAssignmentRestrictionsSniff::callback()` method does not have access to the `$stackPtr`, the logic which can be used in the `callback()` is limited. Also see the review notes from upstream 2266, which basically already pointed out this exact problem.
    
    To get round this, I'm overloading the `process_token()` method to set a temporary `$in_get_users` property, which can then be read out in the `callback()` method to be used in the actual determination of whether the exception should be made or not.
    
    Includes tests.
    
    Fixes 672
    jrfnl committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    47c1c2c View commit details
    Browse the repository at this point in the history