Opened 22 months ago

Closed 8 months ago

#18387 closed defect (bug) (fixed)

get_blog_id_from_url() has wrong return

Reported by: lonnylot Owned by:
Priority: normal Milestone: 3.5
Component: Multisite Version: 3.0
Severity: minor Keywords: has-patch
Cc:

Description

If the blog does not exist we sometimes return 0 and sometimes return false. Per the comment we should always be returning an int.

Attachments (3)

wrong_return.diff (368 bytes) - added by lonnylot 22 months ago.
18387.diff (4.8 KB) - added by ryan 8 months ago.
Down the rabbit hole
18387-ut.diff (3.0 KB) - added by ryan 8 months ago.
Unit tests

Download all attachments as: .zip

Change History (10)

  • Severity changed from normal to minor
  • Version set to 3.0
  • Milestone changed from Awaiting Review to 3.5

This function needs a lot of help. It's cache is never invalidated and escaped data is used to create cache keys. We need to do something like we did for #20950.

Version 0, edited 8 months ago by ryan (next)

No to mention it is pretty much the same as domain_exists() and get_id_from_blogname().

ryan8 months ago

Down the rabbit hole

  • Register blog-id-cache group as global
  • Introduce clean_blog_cache() so we can run it independently of refresh_blog_details() which assumes the blog still exists and get_blog_details() can be called.
  • Don't db escape cache keys
  • Return 0 for all failures in get_blog_id_from_url()
  • clean_blog_cache() after dropping tables in wpmu_delete_blog() to make sure the cache is for real cleaned.

ryan8 months ago

Unit tests

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.