Refine logic in perflab_install_activate_plugin_callback() to rely only on validated slug#1170
Merged
mukeshpanchal27 merged 5 commits intotrunkfrom Apr 24, 2024
Merged
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Merged
swissspidy
approved these changes
Apr 24, 2024
mukeshpanchal27
approved these changes
Apr 24, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This first came up in #1168 (comment).
I felt it was strange that
perflab_install_activate_plugin_callback()was relying on both aslugand afilequery var to be passed, with when the latter is absent then the plugin is installed. It assumes that iffileis absent, then the plugin is not installed. But it could be that someone installed the plugin in another session while that screen is open, meaning that thefilequery var check would result in a plugin attempting to be installed when it is actually already installed.So this PR gets rid of the
filequery var in favor of exclusively sending theslugquery var. Then in theperflab_install_activate_plugin_callback()function it takes the plugin slug and checks among all the installed plugins whether one of them (via the plugin file) to see if it is installed. If not, then it goes ahead and installs it.This also improves the variable terminology to use
$plugin_filerather than$plugin_basenamewhich seems misleading as it could refer to just the file in the plugin's directory, when in fact it should be something like$slug/load.php.Lastly, the submitted slug is better validated by checking if it is among any of the actual PL plugin slugs.