Opened 6 months ago
Last modified 6 months ago
#22630 new defect (bug)
plugin_basename() fails on case-sensitive plugin directories
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Awaiting Review |
| Component: | General | Version: | 1.5 |
| Severity: | minor | Keywords: | |
| Cc: |
Description
When WP_PLUGIN_DIR has slightly different casing to the actual path, plugin_basename() returns the full path to the plugin file.
For example:
If WP_PLUGIN_DIR is set to C:/Website/wp-content/plugins, but the actual file-system path is C:/Website/wp-content/Plugins, plugin_basename() will return the full path to the plugin file.
The plugin_basename() function uses a preg_replace statement to find path to the plugin relative from WP_PLUGIN_DIR. If the actual path to the plugin directory does not match case to WP_PLUGIN_DIR, the preg_replace will fail. This is because preg_replace is not case sensitive.
Change History (2)
comment:1
in reply to:
↑ description
rmccue — 6 months ago
Version 0, edited 6 months ago
by rmccue
(next)
Note: See
TracTickets for help on using
tickets.

Replying to bungeshea:
I think you mean it *is* case sensitive. This makes sense, since on every platform except Windows, paths are case sensitive.
Maybe this could be changed to be insensitive on Windows, but for most platforms, this is the correct behaviour.