+ $theme_changed = false;
+ foreach ( $checked as $slug => $v ) {
+ $new_option->checked[ $slug ] = $v;
+
+ if ( !isset( $current_theme->checked[ $slug ] ) || strval($current_theme->checked[ $slug ]) !== strval($v) )
+ $theme_changed = true;
+ }
+
+ if ( isset ( $current_theme->response ) && is_array( $current_theme->response ) ) {
+ foreach ( $current_theme->response as $slug => $update_details ) {
+ if ( ! isset($checked[ $slug ]) ) {
+ $theme_changed = true;
+ break;
+ }
+ }
+ }
+
+ if( $time_not_changed && !$theme_changed )
+ return false;
+
+ // Update last_checked for current to prevent multiple blocking requests if request hangs
+ $current_theme->last_checked = time();
+ set_transient( 'update_themes', $current_theme );
+
+ $current_theme->template = get_option( 'template' );
+