WordPress.org

Make WordPress Core

Opened 8 years ago

Closed 6 days ago

#24824 closed defect (bug) (wontfix)

get_attached_file() treats fully qualified URLs as relative

Reported by: tobiaskochsonlinenet Owned by:
Milestone: Priority: normal
Severity: normal Version: 2.7
Component: Media Keywords: dev-feedback has-patch has-unit-tests
Focuses: Cc:

Description

If you call the function get_attached_file() of wp-include/post.php with a fully qualified URL (like "http://www.example.com/file.ext") it will prepend the upload directory.

Checking the file's URI for :// would prevent this.

!preg_match('|^://|', $file)

Attachments (2)

24824.diff (755 bytes) - added by stevenlinx 3 years ago.
tck24824.2.diff (1.7 KB) - added by stevenlinx 3 years ago.
added unit test

Download all attachments as: .zip

Change History (11)

#1 @tobiaskochsonlinenet
8 years ago

Oops, actually the regular expression should read:

!preg_match('|://|', $file)

#2 @SergeyBiryukov
8 years ago

  • Version changed from trunk to 2.7

Related: [8796], [9242].

#3 @chriscct7
6 years ago

  • Keywords dev-feedback added

#4 @stevenlinx
3 years ago

  • Keywords has-patch removed

@stevenlinx
3 years ago

#5 @stevenlinx
3 years ago

  • Keywords has-patch added

1.)
Related: 36308 patch fixes Windows paths and also makes the expression more compact.

2.)
This patch, which adds on top of the patch above, also fixes URL paths by prevent an URL from going into the relative path conditional.

@stevenlinx
3 years ago

added unit test

#6 @stevenlinx
3 years ago

  • Keywords has-unit-tests added

This ticket was mentioned in Slack in #core-media by antpb. View the logs.


6 days ago

This ticket was mentioned in Slack in #core-media by antpb. View the logs.


6 days ago

#9 @antpb
6 days ago

  • Milestone Awaiting Review deleted
  • Resolution set to wontfix
  • Status changed from new to closed

It's currently possible to use the get_attached_file filter to modify the function to use full URLs. With that consideration it was agreed in a recent Media bug scrub through older issues that this is best fit for a plugin (as one of the attendees actually had an example plugin using the filter for this reason.)

Marking this wontfix to keep our open ticket list accurate to component goals.

Note: See TracTickets for help on using tickets.