Changeset 6174
- Timestamp:
- 12/18/2016 05:28:31 AM (9 years ago)
- File:
-
- 1 edited
-
trunk/src/includes/admin/tools.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/includes/admin/tools.php
r6173 r6174 671 671 'components' => array( bbp_get_user_rewrite_id() ) 672 672 ) ); 673 674 // Migrate favorites from user-meta to post-meta 675 bbp_register_repair_tool( array( 676 'id' => 'bbp-user-favorites-move', 677 'description' => __( 'Upgrade user favorites', 'bbpress' ), 678 'callback' => 'bbp_admin_migrate_user_favorites', 679 'priority' => 100, 680 'overhead' => esc_html__( 'High', 'bbpress' ), 681 'components' => array( bbp_get_user_rewrite_id() ) 682 ) ); 683 684 // Migrate favorites from user-meta to post-meta 685 bbp_register_repair_tool( array( 686 'id' => 'bbp-user-subscriptions-move', 687 'description' => __( 'Upgrade user subscriptions', 'bbpress' ), 688 'callback' => 'bbp_admin_migrate_user_subscriptions', 689 'priority' => 105, 690 'overhead' => esc_html__( 'High', 'bbpress' ), 691 'components' => array( bbp_get_user_rewrite_id() ) 692 ) ); 673 693 } 674 694 … … 2120 2140 2121 2141 return array( 0, sprintf( $statement, __( 'Complete!', 'bbpress' ) ) ); 2142 } 2143 2144 /** 2145 * Upgrade user favorites for bbPress 2.6 and higher 2146 * 2147 * @since 2.6.0 bbPress (rxxxx) 2148 * 2149 * @return array An array of the status code and the message 2150 */ 2151 function bbp_admin_migrate_user_favorites() { 2152 2153 // Define variables 2154 $bbp_db = bbp_db(); 2155 $statement = __( 'Upgrading user favorites … %s', 'bbpress' ); 2156 $result = __( 'No favorites to upgrade.', 'bbpress' ); 2157 $changed = $total = 0; 2158 $key = $bbp_db->prefix . '_bbp_favorites'; 2159 $favorites = $bbp_db->get_col( "SELECT * FROM {$bbp_db->usermeta} WHERE meta_key = '{$key}'" ); 2160 2161 // Bail if no closed topics found 2162 if ( empty( $favorites ) || is_wp_error( $favorites ) ) { 2163 return array( 1, sprintf( $statement, $result ) ); 2164 } 2165 2166 // Loop through each user's favorites 2167 foreach ( $favorites as $meta_id => $meta ) { 2168 2169 // Get post IDs 2170 $post_ids = maybe_unserialize( $meta->meta_value ); 2171 $to_change = count( $post_ids ); 2172 $changed = 0; 2173 2174 // Add user ID to all favorited posts 2175 foreach ( $post_ids as $post_id ) { 2176 $added = add_post_meta( $post_id, '_bbp_favorite', $meta->user_id ); 2177 2178 // Bump counts if successfully added 2179 if ( ! empty( $added ) ) { 2180 ++$changed; 2181 ++$total; 2182 } 2183 } 2184 2185 // Delete the old meta data 2186 if ( $changed === $to_change ) { 2187 delete_metadata_by_mid( 'user', $meta_id ); 2188 } 2189 } 2190 2191 // Cleanup 2192 unset( $favorites, $added, $post_ids ); 2193 2194 // Complete results 2195 $result = sprintf( _n( 'Complete! %d favorite upgraded.', 'Complete! %d favorites upgraded.', $changed, 'bbpress' ), $changed ); 2196 2197 return array( 0, sprintf( $statement, $result ) ); 2198 } 2199 2200 /** 2201 * Upgrade user subscriptions for bbPress 2.6 and higher 2202 * 2203 * @since 2.6.0 bbPress (rxxxx) 2204 * 2205 * @return array An array of the status code and the message 2206 */ 2207 function bbp_admin_migrate_user_subscriptions() { 2208 2209 // Define variables 2210 $bbp_db = bbp_db(); 2211 $statement = __( 'Upgrading user subscriptions … %s', 'bbpress' ); 2212 $result = __( 'No subscriptions to upgrade.', 'bbpress' ); 2213 $changed = $total = 0; 2214 $key = $bbp_db->prefix . '_bbp_subscriptions'; 2215 $subscriptions = $bbp_db->get_col( "SELECT * FROM {$bbp_db->usermeta} WHERE meta_key = '{$key}'" ); 2216 2217 // Bail if no closed topics found 2218 if ( empty( $subscriptions ) || is_wp_error( $subscriptions ) ) { 2219 return array( 1, sprintf( $statement, $result ) ); 2220 } 2221 2222 // Loop through each user's favorites 2223 foreach ( $subscriptions as $meta_id => $meta ) { 2224 2225 // Get post IDs 2226 $post_ids = maybe_unserialize( $meta->meta_value ); 2227 $to_change = count( $post_ids ); 2228 $changed = 0; 2229 2230 // Add user ID to all favorited posts 2231 foreach ( $post_ids as $post_id ) { 2232 $added = add_post_meta( $post_id, '_bbp_subscription', $meta->user_id ); 2233 2234 // Bump counts if successfully added 2235 if ( ! empty( $added ) ) { 2236 ++$changed; 2237 ++$total; 2238 } 2239 } 2240 2241 // Delete the old meta data 2242 if ( $changed === $to_change ) { 2243 delete_metadata_by_mid( 'user', $meta_id ); 2244 } 2245 } 2246 2247 // Cleanup 2248 unset( $subscriptions, $added, $post_ids ); 2249 2250 // Complete results 2251 $result = sprintf( _n( 'Complete! %d subscription upgraded.', 'Complete! %d subscriptions upgraded.', $total, 'bbpress' ), $total ); 2252 2253 return array( 0, sprintf( $statement, $result ) ); 2122 2254 } 2123 2255
Note: See TracChangeset
for help on using the changeset viewer.