PluginProbe
bbPress / 2.6.19
bbPress v2.6.19
2.6.19 2.6.18 2.6.17 trunk 2.0 2.0-beta-1 2.0-beta-2b 2.0-beta-3 2.0-beta-3b 2.0-rc-2 2.0-rc-3 2.0-rc-4 2.0-rc-5 2.0.1 2.0.2 2.0.3 2.1 2.1-beta-1 2.1-rc1 2.1-rc2 2.1-rc3 2.1-rc4 2.1.1 2.1.2 2.1.3 All 74 releases
← All changes | includes/admin/tools/reset.php +27 -28 2.6.17 → 2.6.19 View file →
@@ -12,9 +12,9 @@
12 12
13 13 /**
14 14 * Admin reset page
15 15 *
16 - * @since 2.0.0 bbPress (r2613)
16 + * @since 2.6.0 bbPress (r6277)
17 17 *
18 18 */
19 19 function bbp_admin_reset_page() {
20 20 ?>
@@ -42,8 +42,9 @@
42 42 <?php esc_html_e( 'Forum Moderators', 'bbpress' ); ?><br />
43 43 <?php esc_html_e( 'Importer Helper Data', 'bbpress' ); ?><br />
44 44 </td>
45 45 </tr>
46 + <?php if ( ! is_multisite() ) : ?>
46 47 <tr valign="top">
47 48 <th scope="row"><?php esc_html_e( 'Delete imported users?', 'bbpress' ); ?></th>
48 49 <td>
49 50 <fieldset>
@@ -52,8 +53,9 @@
52 53 <p class="description"><?php esc_html_e( 'Proceeding without this checked removes the meta-data necessary to delete these users later.', 'bbpress' ); ?></p>
53 54 </fieldset>
54 55 </td>
55 56 </tr>
57 + <?php endif; ?>
56 58 <tr valign="top">
57 59 <th scope="row"><?php esc_html_e( 'Do you really want to do this?', 'bbpress' ); ?></th>
58 60 <td>
59 61 <fieldset>
@@ -78,9 +80,9 @@
78 80
79 81 /**
80 82 * Handle a bbPress admin area reset request.
81 83 *
82 - * @since 2.0.0 bbPress (r2613)
84 + * @since 2.1.0 bbPress (r3884)
83 85 */
84 86 function bbp_admin_reset_handler() {
85 87
86 88 // Bail if not resetting.
@@ -102,9 +104,9 @@
102 104
103 105 /**
104 106 * Wrapper for determining admin reset query feedback presented to a user.
105 107 *
106 - * @since 2.6.0 bbPress (r6758)
108 + * @since 2.6.0 bbPress (r6759)
107 109 *
108 110 * @param array $args Array of query, message, and possible responses
109 111 *
110 112 * @return string
@@ -146,9 +148,9 @@
146 148
147 149 /**
148 150 * Perform a bbPress database reset.
149 151 *
150 - * @since 2.6.0 bbPress
152 + * @since 2.6.0 bbPress (r6750)
151 153 */
152 154 function bbp_admin_reset_database() {
153 155
154 156 // Define variables.
@@ -222,42 +224,39 @@
222 224
223 225 /** User ******************************************************************/
224 226
225 227 // First, if we're deleting previously imported users, delete them now
226 - if ( ! empty( $_POST['bbpress-delete-imported-users'] ) ) {
227 - $sql_users = $bbp_db->get_results( "SELECT `user_id` FROM `{$bbp_db->usermeta}` WHERE `meta_key` = '_bbp_old_user_id'", OBJECT_K );
228 + if ( ! is_multisite() && ! empty( $_POST['bbpress-delete-imported-users'] ) ) {
229 + $sql_users = array_unique( array_map( 'intval', $bbp_db->get_col( "SELECT `user_id` FROM `{$bbp_db->usermeta}` WHERE `meta_key` = '_bbp_old_user_id'" ) ) );
228 230
229 231 if ( ! empty( $sql_users ) ) {
230 - $sql_meta = array();
231 - foreach ( $sql_users as $key => $value ) {
232 - $sql_meta[] = $key;
232 + require_once ABSPATH . 'wp-admin/includes/user.php';
233 + $deleted = true;
234 + foreach ( $sql_users as $user_id ) {
235 + if ( ! wp_delete_user( (int) $user_id ) ) {
236 + $deleted = false;
237 + }
233 238 }
234 239
235 - // Users
236 - $sql_meta = implode( "', '", $sql_meta );
237 - $messages[] = bbp_admin_reset_query_feedback(
238 - array(
239 - 'query' => "DELETE FROM `{$bbp_db->users}` WHERE `ID` IN ('{$sql_meta}')",
240 - /* translators: %s: Status of the user deletion process */
241 - 'message' => esc_html__( 'Deleting Imported Users&hellip; %s', 'bbpress' )
242 - )
240 + $messages[] = sprintf(
241 + /* translators: %s: Status of the user deletion process */
242 + esc_html__( 'Deleting Imported Users&hellip; %s', 'bbpress' ),
243 + $deleted ? esc_html__( 'Success!', 'bbpress' ) : esc_html__( 'Failed!', 'bbpress' )
243 244 );
244 -
245 - // User meta
246 - $messages[] = bbp_admin_reset_query_feedback(
247 - array(
248 - 'query' => "DELETE FROM `{$bbp_db->usermeta}` WHERE `user_id` IN ('{$sql_meta}')",
249 - /* translators: %s: Status of the user meta deletion process */
250 - 'message' => esc_html__( 'Deleting Imported User Meta&hellip; %s', 'bbpress' )
251 - )
252 - );
253 245 }
254 246 }
255 247
256 - // Next, if we still have users that were not imported delete that meta data
248 + // Remove only this site's user options on multisite. Converter metadata is global.
249 + $meta_key = is_multisite()
250 + ? $bbp_db->get_blog_prefix() . '_bbp_'
251 + : '_bbp_';
252 + $like = is_multisite()
253 + ? $bbp_db->esc_like( $meta_key ) . '%'
254 + : '%' . $bbp_db->esc_like( $meta_key ) . '%';
255 +
257 256 $messages[] = bbp_admin_reset_query_feedback(
258 257 array(
259 - 'query' => "DELETE FROM `{$bbp_db->usermeta}` WHERE `meta_key` LIKE '%%_bbp_%%'",
258 + 'query' => $bbp_db->prepare( "DELETE FROM `{$bbp_db->usermeta}` WHERE `meta_key` LIKE %s", $like ),
260 259 /* translators: %s: Status of the user meta deletion process */
261 260 'message' => esc_html__( 'Deleting bbPress Specific User Meta&hellip; %s', 'bbpress' )
262 261 )
263 262 );