﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc
21270,Use update_blog_option() when enabling/disabling themes per site in Multisite,jeremyfelt,ryan,"Currently, when site/theme options are changed in site-themes.php, we use `update_option( 'allowedthemes', $allowed_themes )`.

This seems to cause an object cache related issue after the save and redirect when the table is displayed again. After clicking enable or disable next to a theme, no change is obvious, but the database is still updated.

When `get_allowed_on_site()` fires in class-wp-theme.php, and `$current` evaluates to false, we use `get_blog_option( $blog_id, 'allowedthemes' )` to grab the data, which looks first to an object cache key that is not set on update in site-themes.php:

{{{$key = $blog_id . '-' . $setting . '-blog_option'}}}

When object cache is not available, this falls back to `get_option()`, which pulls the data as intended.

This patch modifies site-themes.php to use `update_blog_option( $id, 'allowedthemes', $allowed_themes )`. This continues to set the original `update_option()` but provides for the correct cache key/value as well.",defect (bug),closed,normal,3.5,Cache,,minor,fixed,has-patch,evan@…
