bbPress - Version 2.1-rc3

Version Description

Download this release

Release Info

Developer johnjamesjacoby
Plugin Icon 128x128 bbPress
Version 2.1-rc3
Comparing to
See all releases

Code changes from version 2.1-rc2 to 2.1-rc3

bbp-includes/bbp-common-functions.php CHANGED
@@ -1393,6 +1393,41 @@ function bbp_get_global_post_field( $field = 'ID', $context = 'edit' ) {
1393
  return apply_filters( 'bbp_get_global_post_field', $retval, $post );
1394
  }
1395
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1396
  /** Feeds *********************************************************************/
1397
 
1398
  /**
1393
  return apply_filters( 'bbp_get_global_post_field', $retval, $post );
1394
  }
1395
 
1396
+ /** Nonces ********************************************************************/
1397
+
1398
+ /**
1399
+ * Makes sure the user requested an action from another page on this site.
1400
+ *
1401
+ * To avoid security exploits within the theme.
1402
+ *
1403
+ * @since bbPress (r4022)
1404
+ *
1405
+ * @uses do_action() Calls 'bbp_check_referer' on $action.
1406
+ * @param string $action Action nonce
1407
+ * @param string $query_arg where to look for nonce in $_REQUEST
1408
+ */
1409
+ function bbp_verify_nonce_request( $action = '', $query_arg = '_wpnonce' ) {
1410
+
1411
+ // Get the home URL
1412
+ $home_url = strtolower( home_url() );
1413
+
1414
+ // Build the currently requested URL
1415
+ $scheme = is_ssl() ? 'https://' : 'http://';
1416
+ $requested_url = strtolower( $scheme . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
1417
+
1418
+ // Check the nonce
1419
+ $result = isset( $_REQUEST[$query_arg] ) ? wp_verify_nonce( $_REQUEST[$query_arg], $action ) : false;
1420
+
1421
+ // Nonce check failed
1422
+ if ( empty( $result ) || empty( $action ) || ( strpos( $requested_url, $home_url ) !== 0 ) )
1423
+ $result = false;
1424
+
1425
+ // Do extra things
1426
+ do_action( 'bbp_verify_nonce_request', $action, $result );
1427
+
1428
+ return $result;
1429
+ }
1430
+
1431
  /** Feeds *********************************************************************/
1432
 
1433
  /**
bbp-includes/bbp-forum-functions.php CHANGED
@@ -78,7 +78,7 @@ function bbp_insert_forum( $forum_data = array(), $forum_meta = array() ) {
78
  * Handles the front end forum submission
79
  *
80
  * @uses bbPress:errors::add() To log various error messages
81
- * @uses check_admin_referer() To verify the nonce and check the referer
82
  * @uses bbp_is_anonymous() To check if an anonymous post is being made
83
  * @uses current_user_can() To check if the current user can publish forum
84
  * @uses bbp_get_current_user_id() To get the current user id
@@ -117,7 +117,10 @@ function bbp_new_forum_handler() {
117
  return;
118
 
119
  // Nonce check
120
- check_admin_referer( 'bbp-new-forum' );
 
 
 
121
 
122
  // Define local variable(s)
123
  $view_all = $anonymous_data = false;
@@ -129,6 +132,7 @@ function bbp_new_forum_handler() {
129
  // User cannot create forums
130
  if ( !current_user_can( 'publish_forums' ) ) {
131
  bbp_add_error( 'bbp_forum_permissions', __( '<strong>ERROR</strong>: You do not have permission to create new forums.', 'bbpress' ) );
 
132
  }
133
 
134
  // Forum author is current user
@@ -226,111 +230,108 @@ function bbp_new_forum_handler() {
226
 
227
  do_action( 'bbp_new_forum_pre_extras' );
228
 
229
- /** No Errors *************************************************************/
230
-
231
- if ( !bbp_has_errors() ) {
232
-
233
- /** Create new forum **************************************************/
234
 
235
- // Add the content of the form to $forum_data as an array
236
- $forum_data = array(
237
- 'post_author' => $forum_author,
238
- 'post_title' => $forum_title,
239
- 'post_content' => $forum_content,
240
- 'post_parent' => $forum_parent_id,
241
- 'post_status' => $post_status,
242
- 'post_type' => bbp_get_forum_post_type(),
243
- 'comment_status' => 'closed'
244
- );
245
 
246
- // Just in time manipulation of forum data before being created
247
- $forum_data = apply_filters( 'bbp_new_forum_pre_insert', $forum_data );
 
 
 
 
 
 
 
 
 
248
 
249
- // Insert forum
250
- $forum_id = wp_insert_post( $forum_data );
251
 
252
- /** No Errors *********************************************************/
253
 
254
- if ( !empty( $forum_id ) && !is_wp_error( $forum_id ) ) {
255
 
256
- /** Trash Check ***************************************************/
257
 
258
- // If the forum is trash, or the forum_status is switched to
259
- // trash, trash it properly
260
- if ( ( get_post_field( 'post_status', $forum_id ) == bbp_get_trash_status_id() ) || ( $forum_data['post_status'] == bbp_get_trash_status_id() ) ) {
261
 
262
- // Trash the reply
263
- wp_trash_post( $forum_id );
264
 
265
- // Force view=all
266
- $view_all = true;
267
- }
268
-
269
- /** Spam Check ****************************************************/
270
 
271
- // If reply or forum are spam, officially spam this reply
272
- if ( $forum_data['post_status'] == bbp_get_spam_status_id() ) {
273
- add_post_meta( $forum_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
274
 
275
- // Force view=all
276
- $view_all = true;
277
- }
278
 
279
- /** Update counts, etc... *****************************************/
 
 
280
 
281
- $forum_args = array(
282
- 'forum_id' => $forum_id,
283
- 'post_parent' => $forum_parent_id,
284
- 'forum_author' => $forum_author,
285
- 'last_topic_id' => 0,
286
- 'last_reply_id' => 0,
287
- 'last_active_id' => 0,
288
- 'last_active_time' => 0,
289
- 'last_active_status' => bbp_get_public_status_id()
290
- );
291
- do_action( 'bbp_new_forum', $forum_args );
 
 
292
 
293
- /** Additional Actions (After Save) *******************************/
294
 
295
- do_action( 'bbp_new_forum_post_extras', $forum_id );
296
 
297
- /** Redirect ******************************************************/
298
 
299
- // Redirect to
300
- $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
301
 
302
- // Get the forum URL
303
- $redirect_url = bbp_get_forum_permalink( $forum_id, $redirect_to );
304
 
305
- // Add view all?
306
- if ( bbp_get_view_all() || !empty( $view_all ) ) {
307
 
308
- // User can moderate, so redirect to forum with view all set
309
- if ( current_user_can( 'moderate' ) ) {
310
- $redirect_url = bbp_add_view_all( $redirect_url );
311
 
312
- // User cannot moderate, so redirect to forum
313
- } else {
314
- $redirect_url = bbp_get_forum_permalink( $forum_id );
315
- }
316
  }
 
317
 
318
- // Allow to be filtered
319
- $redirect_url = apply_filters( 'bbp_new_forum_redirect_to', $redirect_url, $redirect_to );
320
 
321
- /** Successful Save ***********************************************/
322
 
323
- // Redirect back to new forum
324
- wp_safe_redirect( $redirect_url );
325
 
326
- // For good measure
327
- exit();
328
 
329
- // Errors
330
- } else {
331
- $append_error = ( is_wp_error( $forum_id ) && $forum_id->get_error_message() ) ? $forum_id->get_error_message() . ' ' : '';
332
- bbp_add_error( 'bbp_forum_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your forum:' . $append_error, 'bbpress' ) );
333
- }
334
  }
335
  }
336
 
@@ -339,7 +340,7 @@ function bbp_new_forum_handler() {
339
  *
340
  * @uses bbPress:errors::add() To log various error messages
341
  * @uses bbp_get_forum() To get the forum
342
- * @uses check_admin_referer() To verify the nonce and check the referer
343
  * @uses bbp_is_forum_anonymous() To check if forum is by an anonymous user
344
  * @uses current_user_can() To check if the current user can edit the forum
345
  * @uses bbp_filter_anonymous_post_data() To filter anonymous data
@@ -386,6 +387,7 @@ function bbp_edit_forum_handler() {
386
  // Forum id was not passed
387
  if ( empty( $_POST['bbp_forum_id'] ) ) {
388
  bbp_add_error( 'bbp_edit_forum_id', __( '<strong>ERROR</strong>: Forum ID not found.', 'bbpress' ) );
 
389
 
390
  // Forum id was passed
391
  } elseif ( is_numeric( $_POST['bbp_forum_id'] ) ) {
@@ -393,20 +395,20 @@ function bbp_edit_forum_handler() {
393
  $forum = bbp_get_forum( $forum_id );
394
  }
395
 
 
 
 
 
 
396
  // Forum does not exist
397
- if ( empty( $forum ) ) {
398
  bbp_add_error( 'bbp_edit_forum_not_found', __( '<strong>ERROR</strong>: The forum you want to edit was not found.', 'bbpress' ) );
 
399
 
400
- // Forum exists
401
- } else {
402
-
403
- // Nonce check
404
- check_admin_referer( 'bbp-edit-forum_' . $forum_id );
405
-
406
- // User cannot edit this forum
407
- if ( !current_user_can( 'edit_forum', $forum_id ) ) {
408
- bbp_add_error( 'bbp_edit_forum_permissions', __( '<strong>ERROR</strong>: You do not have permission to edit that forum.', 'bbpress' ) );
409
- }
410
  }
411
 
412
  // Remove wp_filter_kses filters from title and content for capable users and if the nonce is verified
@@ -483,107 +485,103 @@ function bbp_edit_forum_handler() {
483
 
484
  do_action( 'bbp_edit_forum_pre_extras', $forum_id );
485
 
486
- /** No Errors *************************************************************/
487
-
488
- if ( !bbp_has_errors() ) {
489
-
490
- /** Update the forum **************************************************/
491
-
492
- // Add the content of the form to $forum_data as an array
493
- $forum_data = array(
494
- 'ID' => $forum_id,
495
- 'post_title' => $forum_title,
496
- 'post_content' => $forum_content,
497
- 'post_status' => $post_status,
498
- 'post_parent' => $forum_parent_id
499
- );
500
-
501
- // Just in time manipulation of forum data before being edited
502
- $forum_data = apply_filters( 'bbp_edit_forum_pre_insert', $forum_data );
503
-
504
- // Insert forum
505
- $forum_id = wp_update_post( $forum_data );
506
-
507
- /** Revisions *********************************************************/
508
 
509
- /**
510
- * @todo omitted for 2.1
511
- // Revision Reason
512
- if ( !empty( $_POST['bbp_forum_edit_reason'] ) )
513
- $forum_edit_reason = esc_attr( strip_tags( $_POST['bbp_forum_edit_reason'] ) );
514
 
515
- // Update revision log
516
- if ( !empty( $_POST['bbp_log_forum_edit'] ) && ( 1 == $_POST['bbp_log_forum_edit'] ) && ( $revision_id = wp_save_post_revision( $forum_id ) ) ) {
517
- bbp_update_forum_revision_log( array(
518
- 'forum_id' => $forum_id,
519
- 'revision_id' => $revision_id,
520
- 'author_id' => bbp_get_current_user_id(),
521
- 'reason' => $forum_edit_reason
522
- ) );
523
- }
524
- *
525
- */
526
 
527
- /** No Errors *********************************************************/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
528
 
529
- if ( !empty( $forum_id ) && !is_wp_error( $forum_id ) ) {
530
 
531
- // Update counts, etc...
532
- $forum_args = array(
533
- 'forum_id' => $forum_id,
534
- 'post_parent' => $forum_parent_id,
535
- 'forum_author' => $forum->post_author,
536
- 'last_topic_id' => 0,
537
- 'last_reply_id' => 0,
538
- 'last_active_id' => 0,
539
- 'last_active_time' => 0,
540
- 'last_active_status' => bbp_get_public_status_id()
541
- );
542
- do_action( 'bbp_edit_forum', $forum_args );
 
 
543
 
544
- // If the new forum parent id is not equal to the old forum parent
545
- // id, run the bbp_move_forum action and pass the forum's parent id
546
- // as the first arg and new forum parent id as the second.
547
- // @todo implement
548
- //if ( $forum_id != $forum->post_parent )
549
- // bbp_move_forum_handler( $forum_parent_id, $forum->post_parent, $forum_id );
550
 
551
- /** Additional Actions (After Save) *******************************/
552
 
553
- do_action( 'bbp_edit_forum_post_extras', $forum_id );
554
 
555
- /** Redirect ******************************************************/
556
 
557
- // Redirect to
558
- $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
559
 
560
- // View all?
561
- $view_all = bbp_get_view_all();
562
 
563
- // Get the forum URL
564
- $forum_url = bbp_get_forum_permalink( $forum_id, $redirect_to );
565
 
566
- // Add view all?
567
- if ( !empty( $view_all ) )
568
- $forum_url = bbp_add_view_all( $forum_url );
569
 
570
- // Allow to be filtered
571
- $forum_url = apply_filters( 'bbp_edit_forum_redirect_to', $forum_url, $view_all, $redirect_to );
572
 
573
- /** Successful Edit ***********************************************/
574
 
575
- // Redirect back to new forum
576
- wp_safe_redirect( $forum_url );
577
 
578
- // For good measure
579
- exit();
580
 
581
- /** Errors ************************************************************/
582
 
583
- } else {
584
- $append_error = ( is_wp_error( $forum_id ) && $forum_id->get_error_message() ) ? $forum_id->get_error_message() . ' ' : '';
585
- bbp_add_error( 'bbp_forum_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your forum:' . $append_error . 'Please try again.', 'bbpress' ) );
586
- }
587
  }
588
  }
589
 
78
  * Handles the front end forum submission
79
  *
80
  * @uses bbPress:errors::add() To log various error messages
81
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
82
  * @uses bbp_is_anonymous() To check if an anonymous post is being made
83
  * @uses current_user_can() To check if the current user can publish forum
84
  * @uses bbp_get_current_user_id() To get the current user id
117
  return;
118
 
119
  // Nonce check
120
+ if ( ! bbp_verify_nonce_request( 'bbp-new-forum' ) ) {
121
+ bbp_add_error( 'bbp_new_forum_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
122
+ return;
123
+ }
124
 
125
  // Define local variable(s)
126
  $view_all = $anonymous_data = false;
132
  // User cannot create forums
133
  if ( !current_user_can( 'publish_forums' ) ) {
134
  bbp_add_error( 'bbp_forum_permissions', __( '<strong>ERROR</strong>: You do not have permission to create new forums.', 'bbpress' ) );
135
+ return;
136
  }
137
 
138
  // Forum author is current user
230
 
231
  do_action( 'bbp_new_forum_pre_extras' );
232
 
233
+ // Bail if errors
234
+ if ( bbp_has_errors() )
235
+ return;
 
 
236
 
237
+ /** No Errors *************************************************************/
 
 
 
 
 
 
 
 
 
238
 
239
+ // Add the content of the form to $forum_data as an array
240
+ // Just in time manipulation of forum data before being created
241
+ $forum_data = apply_filters( 'bbp_new_forum_pre_insert', array(
242
+ 'post_author' => $forum_author,
243
+ 'post_title' => $forum_title,
244
+ 'post_content' => $forum_content,
245
+ 'post_parent' => $forum_parent_id,
246
+ 'post_status' => $post_status,
247
+ 'post_type' => bbp_get_forum_post_type(),
248
+ 'comment_status' => 'closed'
249
+ ) );
250
 
251
+ // Insert forum
252
+ $forum_id = wp_insert_post( $forum_data );
253
 
254
+ /** No Errors *************************************************************/
255
 
256
+ if ( !empty( $forum_id ) && !is_wp_error( $forum_id ) ) {
257
 
258
+ /** Trash Check *******************************************************/
259
 
260
+ // If the forum is trash, or the forum_status is switched to
261
+ // trash, trash it properly
262
+ if ( ( get_post_field( 'post_status', $forum_id ) == bbp_get_trash_status_id() ) || ( $forum_data['post_status'] == bbp_get_trash_status_id() ) ) {
263
 
264
+ // Trash the reply
265
+ wp_trash_post( $forum_id );
266
 
267
+ // Force view=all
268
+ $view_all = true;
269
+ }
 
 
270
 
271
+ /** Spam Check ********************************************************/
 
 
272
 
273
+ // If reply or forum are spam, officially spam this reply
274
+ if ( $forum_data['post_status'] == bbp_get_spam_status_id() ) {
275
+ add_post_meta( $forum_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
276
 
277
+ // Force view=all
278
+ $view_all = true;
279
+ }
280
 
281
+ /** Update counts, etc... *********************************************/
282
+
283
+ $forum_args = array(
284
+ 'forum_id' => $forum_id,
285
+ 'post_parent' => $forum_parent_id,
286
+ 'forum_author' => $forum_author,
287
+ 'last_topic_id' => 0,
288
+ 'last_reply_id' => 0,
289
+ 'last_active_id' => 0,
290
+ 'last_active_time' => 0,
291
+ 'last_active_status' => bbp_get_public_status_id()
292
+ );
293
+ do_action( 'bbp_new_forum', $forum_args );
294
 
295
+ /** Additional Actions (After Save) ***********************************/
296
 
297
+ do_action( 'bbp_new_forum_post_extras', $forum_id );
298
 
299
+ /** Redirect **********************************************************/
300
 
301
+ // Redirect to
302
+ $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
303
 
304
+ // Get the forum URL
305
+ $redirect_url = bbp_get_forum_permalink( $forum_id, $redirect_to );
306
 
307
+ // Add view all?
308
+ if ( bbp_get_view_all() || !empty( $view_all ) ) {
309
 
310
+ // User can moderate, so redirect to forum with view all set
311
+ if ( current_user_can( 'moderate' ) ) {
312
+ $redirect_url = bbp_add_view_all( $redirect_url );
313
 
314
+ // User cannot moderate, so redirect to forum
315
+ } else {
316
+ $redirect_url = bbp_get_forum_permalink( $forum_id );
 
317
  }
318
+ }
319
 
320
+ // Allow to be filtered
321
+ $redirect_url = apply_filters( 'bbp_new_forum_redirect_to', $redirect_url, $redirect_to );
322
 
323
+ /** Successful Save ***************************************************/
324
 
325
+ // Redirect back to new forum
326
+ wp_safe_redirect( $redirect_url );
327
 
328
+ // For good measure
329
+ exit();
330
 
331
+ // Errors
332
+ } else {
333
+ $append_error = ( is_wp_error( $forum_id ) && $forum_id->get_error_message() ) ? $forum_id->get_error_message() . ' ' : '';
334
+ bbp_add_error( 'bbp_forum_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your forum:' . $append_error, 'bbpress' ) );
 
335
  }
336
  }
337
 
340
  *
341
  * @uses bbPress:errors::add() To log various error messages
342
  * @uses bbp_get_forum() To get the forum
343
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
344
  * @uses bbp_is_forum_anonymous() To check if forum is by an anonymous user
345
  * @uses current_user_can() To check if the current user can edit the forum
346
  * @uses bbp_filter_anonymous_post_data() To filter anonymous data
387
  // Forum id was not passed
388
  if ( empty( $_POST['bbp_forum_id'] ) ) {
389
  bbp_add_error( 'bbp_edit_forum_id', __( '<strong>ERROR</strong>: Forum ID not found.', 'bbpress' ) );
390
+ return;
391
 
392
  // Forum id was passed
393
  } elseif ( is_numeric( $_POST['bbp_forum_id'] ) ) {
395
  $forum = bbp_get_forum( $forum_id );
396
  }
397
 
398
+ // Nonce check
399
+ if ( ! bbp_verify_nonce_request( 'bbp-edit-forum_' . $forum_id ) ) {
400
+ bbp_add_error( 'bbp_edit_forum_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
401
+ return;
402
+
403
  // Forum does not exist
404
+ } elseif ( empty( $forum ) ) {
405
  bbp_add_error( 'bbp_edit_forum_not_found', __( '<strong>ERROR</strong>: The forum you want to edit was not found.', 'bbpress' ) );
406
+ return;
407
 
408
+ // User cannot edit this forum
409
+ } elseif ( !current_user_can( 'edit_forum', $forum_id ) ) {
410
+ bbp_add_error( 'bbp_edit_forum_permissions', __( '<strong>ERROR</strong>: You do not have permission to edit that forum.', 'bbpress' ) );
411
+ return;
 
 
 
 
 
 
412
  }
413
 
414
  // Remove wp_filter_kses filters from title and content for capable users and if the nonce is verified
485
 
486
  do_action( 'bbp_edit_forum_pre_extras', $forum_id );
487
 
488
+ // Bail if errors
489
+ if ( bbp_has_errors() )
490
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
491
 
492
+ /** No Errors *************************************************************/
 
 
 
 
493
 
494
+ // Add the content of the form to $forum_data as an array
495
+ // Just in time manipulation of forum data before being edited
496
+ $forum_data = apply_filters( 'bbp_edit_forum_pre_insert', array(
497
+ 'ID' => $forum_id,
498
+ 'post_title' => $forum_title,
499
+ 'post_content' => $forum_content,
500
+ 'post_status' => $post_status,
501
+ 'post_parent' => $forum_parent_id
502
+ ) );
 
 
503
 
504
+ // Insert forum
505
+ $forum_id = wp_update_post( $forum_data );
506
+
507
+ /** Revisions *************************************************************/
508
+
509
+ /**
510
+ * @todo omitted for 2.1
511
+ // Revision Reason
512
+ if ( !empty( $_POST['bbp_forum_edit_reason'] ) )
513
+ $forum_edit_reason = esc_attr( strip_tags( $_POST['bbp_forum_edit_reason'] ) );
514
+
515
+ // Update revision log
516
+ if ( !empty( $_POST['bbp_log_forum_edit'] ) && ( 1 == $_POST['bbp_log_forum_edit'] ) && ( $revision_id = wp_save_post_revision( $forum_id ) ) ) {
517
+ bbp_update_forum_revision_log( array(
518
+ 'forum_id' => $forum_id,
519
+ 'revision_id' => $revision_id,
520
+ 'author_id' => bbp_get_current_user_id(),
521
+ 'reason' => $forum_edit_reason
522
+ ) );
523
+ }
524
+ */
525
 
526
+ /** No Errors *************************************************************/
527
 
528
+ if ( !empty( $forum_id ) && !is_wp_error( $forum_id ) ) {
529
+
530
+ // Update counts, etc...
531
+ $forum_args = array(
532
+ 'forum_id' => $forum_id,
533
+ 'post_parent' => $forum_parent_id,
534
+ 'forum_author' => $forum->post_author,
535
+ 'last_topic_id' => 0,
536
+ 'last_reply_id' => 0,
537
+ 'last_active_id' => 0,
538
+ 'last_active_time' => 0,
539
+ 'last_active_status' => bbp_get_public_status_id()
540
+ );
541
+ do_action( 'bbp_edit_forum', $forum_args );
542
 
543
+ // If the new forum parent id is not equal to the old forum parent
544
+ // id, run the bbp_move_forum action and pass the forum's parent id
545
+ // as the first arg and new forum parent id as the second.
546
+ // @todo implement
547
+ //if ( $forum_id != $forum->post_parent )
548
+ // bbp_move_forum_handler( $forum_parent_id, $forum->post_parent, $forum_id );
549
 
550
+ /** Additional Actions (After Save) ***********************************/
551
 
552
+ do_action( 'bbp_edit_forum_post_extras', $forum_id );
553
 
554
+ /** Redirect **********************************************************/
555
 
556
+ // Redirect to
557
+ $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
558
 
559
+ // View all?
560
+ $view_all = bbp_get_view_all();
561
 
562
+ // Get the forum URL
563
+ $forum_url = bbp_get_forum_permalink( $forum_id, $redirect_to );
564
 
565
+ // Add view all?
566
+ if ( !empty( $view_all ) )
567
+ $forum_url = bbp_add_view_all( $forum_url );
568
 
569
+ // Allow to be filtered
570
+ $forum_url = apply_filters( 'bbp_edit_forum_redirect_to', $forum_url, $view_all, $redirect_to );
571
 
572
+ /** Successful Edit ***************************************************/
573
 
574
+ // Redirect back to new forum
575
+ wp_safe_redirect( $forum_url );
576
 
577
+ // For good measure
578
+ exit();
579
 
580
+ /** Errors ****************************************************************/
581
 
582
+ } else {
583
+ $append_error = ( is_wp_error( $forum_id ) && $forum_id->get_error_message() ) ? $forum_id->get_error_message() . ' ' : '';
584
+ bbp_add_error( 'bbp_forum_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your forum:' . $append_error . 'Please try again.', 'bbpress' ) );
 
585
  }
586
  }
587
 
bbp-includes/bbp-reply-functions.php CHANGED
@@ -78,7 +78,7 @@ function bbp_insert_reply( $reply_data = array(), $reply_meta = array() ) {
78
  * @since bbPress (r2574)
79
  *
80
  * @uses bbp_add_error() To add an error message
81
- * @uses check_admin_referer() To verify the nonce and check the referer
82
  * @uses bbp_is_anonymous() To check if an anonymous post is being made
83
  * @uses current_user_can() To check if the current user can publish replies
84
  * @uses bbp_get_current_user_id() To get the current user id
@@ -113,7 +113,10 @@ function bbp_new_reply_handler() {
113
  return;
114
 
115
  // Nonce check
116
- check_admin_referer( 'bbp-new-reply' );
 
 
 
117
 
118
  // Define local variable(s)
119
  $topic_id = $forum_id = $reply_author = $anonymous_data = 0;
@@ -226,108 +229,104 @@ function bbp_new_reply_handler() {
226
  /** Additional Actions (Before Save) **************************************/
227
 
228
  do_action( 'bbp_new_reply_pre_extras' );
 
 
 
 
229
 
230
  /** No Errors *************************************************************/
231
 
232
- // Handle insertion into posts table
233
- if ( !bbp_has_errors() ) {
234
-
235
- /** Create new reply **************************************************/
236
-
237
- // Add the content of the form to $reply_data as an array
238
- $reply_data = array(
239
- 'post_author' => $reply_author,
240
- 'post_title' => $reply_title,
241
- 'post_content' => $reply_content,
242
- 'post_parent' => $topic_id,
243
- 'post_status' => $post_status,
244
- 'post_type' => bbp_get_reply_post_type(),
245
- 'comment_status' => 'closed',
246
- 'menu_order' => (int) ( bbp_get_topic_reply_count( $topic_id ) + 1 )
247
- );
248
-
249
- // Just in time manipulation of reply data before being created
250
- $reply_data = apply_filters( 'bbp_new_reply_pre_insert', $reply_data );
251
 
252
- // Insert reply
253
- $reply_id = wp_insert_post( $reply_data );
254
 
255
- /** No Errors *********************************************************/
256
 
257
- // Check for missing reply_id or error
258
- if ( !empty( $reply_id ) && !is_wp_error( $reply_id ) ) {
259
 
260
- /** Topic Tags ****************************************************/
261
 
262
- // Just in time manipulation of reply terms before being edited
263
- $terms = apply_filters( 'bbp_new_reply_pre_set_terms', $terms, $topic_id, $reply_id );
264
 
265
- // Insert terms
266
- $terms = wp_set_post_terms( $topic_id, $terms, bbp_get_topic_tag_tax_id(), false );
267
 
268
- // Term error
269
- if ( is_wp_error( $terms ) ) {
270
- bbp_add_error( 'bbp_reply_tags', __( '<strong>ERROR</strong>: There was a problem adding the tags to the topic.', 'bbpress' ) );
271
- }
272
 
273
- /** Trash Check ***************************************************/
274
 
275
- // If this reply starts as trash, add it to pre_trashed_replies
276
- // for the topic, so it is properly restored.
277
- if ( bbp_is_topic_trash( $topic_id ) || ( $reply_data['post_status'] == bbp_get_trash_status_id() ) ) {
278
 
279
- // Trash the reply
280
- wp_trash_post( $reply_id );
281
 
282
- // Get pre_trashed_replies for topic
283
- $pre_trashed_replies = get_post_meta( $topic_id, '_bbp_pre_trashed_replies', true );
284
 
285
- // Add this reply to the end of the existing replies
286
- $pre_trashed_replies[] = $reply_id;
287
 
288
- // Update the pre_trashed_reply post meta
289
- update_post_meta( $topic_id, '_bbp_pre_trashed_replies', $pre_trashed_replies );
290
- }
291
 
292
- /** Spam Check ****************************************************/
293
 
294
- // If reply or topic are spam, officially spam this reply
295
- if ( bbp_is_topic_spam( $topic_id ) || ( $reply_data['post_status'] == bbp_get_spam_status_id() ) )
296
- add_post_meta( $reply_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
297
 
298
- /** Update counts, etc... *****************************************/
299
 
300
- do_action( 'bbp_new_reply', $reply_id, $topic_id, $forum_id, $anonymous_data, $reply_author );
301
 
302
- /** Additional Actions (After Save) *******************************/
303
 
304
- do_action( 'bbp_new_reply_post_extras', $reply_id );
305
 
306
- /** Redirect ******************************************************/
307
 
308
- // Redirect to
309
- $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
310
 
311
- // Get the reply URL
312
- $reply_url = bbp_get_reply_url( $reply_id, $redirect_to );
313
 
314
- // Allow to be filtered
315
- $reply_url = apply_filters( 'bbp_new_reply_redirect_to', $reply_url, $redirect_to, $reply_id );
316
 
317
- /** Successful Save ***********************************************/
318
 
319
- // Redirect back to new reply
320
- wp_safe_redirect( $reply_url );
321
 
322
- // For good measure
323
- exit();
324
 
325
- /** Errors ************************************************************/
326
 
327
- } else {
328
- $append_error = ( is_wp_error( $reply_id ) && $reply_id->get_error_message() ) ? $reply_id->get_error_message() . ' ' : '';
329
- bbp_add_error( 'bbp_reply_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your reply:' . $append_error . 'Please try again.', 'bbpress' ) );
330
- }
331
  }
332
  }
333
 
@@ -336,7 +335,7 @@ function bbp_new_reply_handler() {
336
  *
337
  * @uses bbp_add_error() To add an error message
338
  * @uses bbp_get_reply() To get the reply
339
- * @uses check_admin_referer() To verify the nonce and check the referer
340
  * @uses bbp_is_reply_anonymous() To check if the reply was by an anonymous user
341
  * @uses current_user_can() To check if the current user can edit that reply
342
  * @uses bbp_filter_anonymous_post_data() To filter anonymous data
@@ -380,6 +379,7 @@ function bbp_edit_reply_handler() {
380
  // Reply id was not passed
381
  if ( empty( $_POST['bbp_reply_id'] ) ) {
382
  bbp_add_error( 'bbp_edit_reply_id', __( '<strong>ERROR</strong>: Reply ID not found.', 'bbpress' ) );
 
383
 
384
  // Reply id was passed
385
  } elseif ( is_numeric( $_POST['bbp_reply_id'] ) ) {
@@ -387,22 +387,27 @@ function bbp_edit_reply_handler() {
387
  $reply = bbp_get_reply( $reply_id );
388
  }
389
 
 
 
 
 
 
 
390
  // Reply does not exist
391
  if ( empty( $reply ) ) {
392
  bbp_add_error( 'bbp_edit_reply_not_found', __( '<strong>ERROR</strong>: The reply you want to edit was not found.', 'bbpress' ) );
 
393
 
394
  // Reply exists
395
  } else {
396
 
397
- // Nonce check
398
- check_admin_referer( 'bbp-edit-reply_' . $reply_id );
399
-
400
  // Check users ability to create new reply
401
  if ( !bbp_is_reply_anonymous( $reply_id ) ) {
402
 
403
  // User cannot edit this reply
404
  if ( !current_user_can( 'edit_reply', $reply_id ) ) {
405
  bbp_add_error( 'bbp_edit_reply_permissions', __( '<strong>ERROR</strong>: You do not have permission to edit that reply.', 'bbpress' ) );
 
406
  }
407
 
408
  // It is an anonymous post
@@ -487,93 +492,91 @@ function bbp_edit_reply_handler() {
487
 
488
  do_action( 'bbp_edit_reply_pre_extras', $reply_id );
489
 
490
- /** No Errors *************************************************************/
491
-
492
- // Handle insertion into posts table
493
- if ( !bbp_has_errors() ) {
494
 
495
- // Add the content of the form to $reply_data as an array
496
- $reply_data = array(
497
- 'ID' => $reply_id,
498
- 'post_title' => $reply_title,
499
- 'post_content' => $reply_content,
500
- 'post_status' => $post_status
501
- );
502
 
503
- // Just in time manipulation of reply data before being edited
504
- $reply_data = apply_filters( 'bbp_edit_reply_pre_insert', $reply_data );
 
 
 
 
 
 
505
 
506
- // Insert reply
507
- $reply_id = wp_update_post( $reply_data );
508
 
509
- /** Topic Tags ****************************************************/
510
 
511
- // Just in time manipulation of reply terms before being edited
512
- $terms = apply_filters( 'bbp_edit_reply_pre_set_terms', $terms, $topic_id, $reply_id );
513
 
514
- // Insert terms
515
- $terms = wp_set_post_terms( $topic_id, $terms, bbp_get_topic_tag_tax_id(), false );
516
 
517
- // Term error
518
- if ( is_wp_error( $terms ) ) {
519
- bbp_add_error( 'bbp_reply_tags', __( '<strong>ERROR</strong>: There was a problem adding the tags to the topic.', 'bbpress' ) );
520
- }
521
 
522
- /** Revisions *********************************************************/
523
-
524
- // Revision Reason
525
- if ( !empty( $_POST['bbp_reply_edit_reason'] ) )
526
- $reply_edit_reason = esc_attr( strip_tags( $_POST['bbp_reply_edit_reason'] ) );
527
-
528
- // Update revision log
529
- if ( !empty( $_POST['bbp_log_reply_edit'] ) && ( 1 == $_POST['bbp_log_reply_edit'] ) ) {
530
- $revision_id = wp_save_post_revision( $reply_id );
531
- if ( !empty( $revision_id ) ) {
532
- bbp_update_reply_revision_log( array(
533
- 'reply_id' => $reply_id,
534
- 'revision_id' => $revision_id,
535
- 'author_id' => bbp_get_current_user_id(),
536
- 'reason' => $reply_edit_reason
537
- ) );
538
- }
539
  }
 
540
 
541
- /** No Errors *********************************************************/
542
 
543
- if ( !empty( $reply_id ) && !is_wp_error( $reply_id ) ) {
544
 
545
- // Update counts, etc...
546
- do_action( 'bbp_edit_reply', $reply_id, $topic_id, $forum_id, $anonymous_data, $reply->post_author , true /* Is edit */ );
547
 
548
- /** Additional Actions (After Save) *******************************/
549
 
550
- do_action( 'bbp_edit_reply_post_extras', $reply_id );
551
 
552
- /** Redirect ******************************************************/
553
 
554
- // Redirect to
555
- $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
556
 
557
- // Get the reply URL
558
- $reply_url = bbp_get_reply_url( $reply_id, $redirect_to );
559
 
560
- // Allow to be filtered
561
- $reply_url = apply_filters( 'bbp_edit_reply_redirect_to', $reply_url, $redirect_to );
562
 
563
- /** Successful Edit ***********************************************/
564
 
565
- // Redirect back to new reply
566
- wp_safe_redirect( $reply_url );
567
 
568
- // For good measure
569
- exit();
570
 
571
- /** Errors ************************************************************/
572
 
573
- } else {
574
- $append_error = ( is_wp_error( $reply_id ) && $reply_id->get_error_message() ) ? $reply_id->get_error_message() . ' ' : '';
575
- bbp_add_error( 'bbp_reply_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your reply:' . $append_error . 'Please try again.', 'bbpress' ) );
576
- }
577
  }
578
  }
579
 
78
  * @since bbPress (r2574)
79
  *
80
  * @uses bbp_add_error() To add an error message
81
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
82
  * @uses bbp_is_anonymous() To check if an anonymous post is being made
83
  * @uses current_user_can() To check if the current user can publish replies
84
  * @uses bbp_get_current_user_id() To get the current user id
113
  return;
114
 
115
  // Nonce check
116
+ if ( ! bbp_verify_nonce_request( 'bbp-new-reply' ) ) {
117
+ bbp_add_error( 'bbp_rew_reply_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
118
+ return;
119
+ }
120
 
121
  // Define local variable(s)
122
  $topic_id = $forum_id = $reply_author = $anonymous_data = 0;
229
  /** Additional Actions (Before Save) **************************************/
230
 
231
  do_action( 'bbp_new_reply_pre_extras' );
232
+
233
+ // Bail if errors
234
+ if ( bbp_has_errors() )
235
+ return;
236
 
237
  /** No Errors *************************************************************/
238
 
239
+ // Add the content of the form to $reply_data as an array
240
+ // Just in time manipulation of reply data before being created
241
+ $reply_data = apply_filters( 'bbp_new_reply_pre_insert', array(
242
+ 'post_author' => $reply_author,
243
+ 'post_title' => $reply_title,
244
+ 'post_content' => $reply_content,
245
+ 'post_parent' => $topic_id,
246
+ 'post_status' => $post_status,
247
+ 'post_type' => bbp_get_reply_post_type(),
248
+ 'comment_status' => 'closed',
249
+ 'menu_order' => (int) ( bbp_get_topic_reply_count( $topic_id ) + 1 )
250
+ ) );
 
 
 
 
 
 
 
251
 
252
+ // Insert reply
253
+ $reply_id = wp_insert_post( $reply_data );
254
 
255
+ /** No Errors *************************************************************/
256
 
257
+ // Check for missing reply_id or error
258
+ if ( !empty( $reply_id ) && !is_wp_error( $reply_id ) ) {
259
 
260
+ /** Topic Tags ********************************************************/
261
 
262
+ // Just in time manipulation of reply terms before being edited
263
+ $terms = apply_filters( 'bbp_new_reply_pre_set_terms', $terms, $topic_id, $reply_id );
264
 
265
+ // Insert terms
266
+ $terms = wp_set_post_terms( $topic_id, $terms, bbp_get_topic_tag_tax_id(), false );
267
 
268
+ // Term error
269
+ if ( is_wp_error( $terms ) ) {
270
+ bbp_add_error( 'bbp_reply_tags', __( '<strong>ERROR</strong>: There was a problem adding the tags to the topic.', 'bbpress' ) );
271
+ }
272
 
273
+ /** Trash Check *******************************************************/
274
 
275
+ // If this reply starts as trash, add it to pre_trashed_replies
276
+ // for the topic, so it is properly restored.
277
+ if ( bbp_is_topic_trash( $topic_id ) || ( $reply_data['post_status'] == bbp_get_trash_status_id() ) ) {
278
 
279
+ // Trash the reply
280
+ wp_trash_post( $reply_id );
281
 
282
+ // Get pre_trashed_replies for topic
283
+ $pre_trashed_replies = get_post_meta( $topic_id, '_bbp_pre_trashed_replies', true );
284
 
285
+ // Add this reply to the end of the existing replies
286
+ $pre_trashed_replies[] = $reply_id;
287
 
288
+ // Update the pre_trashed_reply post meta
289
+ update_post_meta( $topic_id, '_bbp_pre_trashed_replies', $pre_trashed_replies );
290
+ }
291
 
292
+ /** Spam Check ********************************************************/
293
 
294
+ // If reply or topic are spam, officially spam this reply
295
+ if ( bbp_is_topic_spam( $topic_id ) || ( $reply_data['post_status'] == bbp_get_spam_status_id() ) )
296
+ add_post_meta( $reply_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
297
 
298
+ /** Update counts, etc... *********************************************/
299
 
300
+ do_action( 'bbp_new_reply', $reply_id, $topic_id, $forum_id, $anonymous_data, $reply_author );
301
 
302
+ /** Additional Actions (After Save) ***********************************/
303
 
304
+ do_action( 'bbp_new_reply_post_extras', $reply_id );
305
 
306
+ /** Redirect **********************************************************/
307
 
308
+ // Redirect to
309
+ $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
310
 
311
+ // Get the reply URL
312
+ $reply_url = bbp_get_reply_url( $reply_id, $redirect_to );
313
 
314
+ // Allow to be filtered
315
+ $reply_url = apply_filters( 'bbp_new_reply_redirect_to', $reply_url, $redirect_to, $reply_id );
316
 
317
+ /** Successful Save ***************************************************/
318
 
319
+ // Redirect back to new reply
320
+ wp_safe_redirect( $reply_url );
321
 
322
+ // For good measure
323
+ exit();
324
 
325
+ /** Errors ****************************************************************/
326
 
327
+ } else {
328
+ $append_error = ( is_wp_error( $reply_id ) && $reply_id->get_error_message() ) ? $reply_id->get_error_message() . ' ' : '';
329
+ bbp_add_error( 'bbp_reply_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your reply:' . $append_error . 'Please try again.', 'bbpress' ) );
 
330
  }
331
  }
332
 
335
  *
336
  * @uses bbp_add_error() To add an error message
337
  * @uses bbp_get_reply() To get the reply
338
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
339
  * @uses bbp_is_reply_anonymous() To check if the reply was by an anonymous user
340
  * @uses current_user_can() To check if the current user can edit that reply
341
  * @uses bbp_filter_anonymous_post_data() To filter anonymous data
379
  // Reply id was not passed
380
  if ( empty( $_POST['bbp_reply_id'] ) ) {
381
  bbp_add_error( 'bbp_edit_reply_id', __( '<strong>ERROR</strong>: Reply ID not found.', 'bbpress' ) );
382
+ return;
383
 
384
  // Reply id was passed
385
  } elseif ( is_numeric( $_POST['bbp_reply_id'] ) ) {
387
  $reply = bbp_get_reply( $reply_id );
388
  }
389
 
390
+ // Nonce check
391
+ if ( ! bbp_verify_nonce_request( 'bbp-edit-reply_' . $reply_id ) ) {
392
+ bbp_add_error( 'bbp_edit_reply_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
393
+ return;
394
+ }
395
+
396
  // Reply does not exist
397
  if ( empty( $reply ) ) {
398
  bbp_add_error( 'bbp_edit_reply_not_found', __( '<strong>ERROR</strong>: The reply you want to edit was not found.', 'bbpress' ) );
399
+ return;
400
 
401
  // Reply exists
402
  } else {
403
 
 
 
 
404
  // Check users ability to create new reply
405
  if ( !bbp_is_reply_anonymous( $reply_id ) ) {
406
 
407
  // User cannot edit this reply
408
  if ( !current_user_can( 'edit_reply', $reply_id ) ) {
409
  bbp_add_error( 'bbp_edit_reply_permissions', __( '<strong>ERROR</strong>: You do not have permission to edit that reply.', 'bbpress' ) );
410
+ return;
411
  }
412
 
413
  // It is an anonymous post
492
 
493
  do_action( 'bbp_edit_reply_pre_extras', $reply_id );
494
 
495
+ // Bail if errors
496
+ if ( bbp_has_errors() )
497
+ return;
 
498
 
499
+ /** No Errors *************************************************************/
 
 
 
 
 
 
500
 
501
+ // Add the content of the form to $reply_data as an array
502
+ // Just in time manipulation of reply data before being edited
503
+ $reply_data = apply_filters( 'bbp_edit_reply_pre_insert', array(
504
+ 'ID' => $reply_id,
505
+ 'post_title' => $reply_title,
506
+ 'post_content' => $reply_content,
507
+ 'post_status' => $post_status
508
+ ) );
509
 
510
+ // Insert reply
511
+ $reply_id = wp_update_post( $reply_data );
512
 
513
+ /** Topic Tags ************************************************************/
514
 
515
+ // Just in time manipulation of reply terms before being edited
516
+ $terms = apply_filters( 'bbp_edit_reply_pre_set_terms', $terms, $topic_id, $reply_id );
517
 
518
+ // Insert terms
519
+ $terms = wp_set_post_terms( $topic_id, $terms, bbp_get_topic_tag_tax_id(), false );
520
 
521
+ // Term error
522
+ if ( is_wp_error( $terms ) ) {
523
+ bbp_add_error( 'bbp_reply_tags', __( '<strong>ERROR</strong>: There was a problem adding the tags to the topic.', 'bbpress' ) );
524
+ }
525
 
526
+ /** Revisions *************************************************************/
527
+
528
+ // Revision Reason
529
+ if ( !empty( $_POST['bbp_reply_edit_reason'] ) )
530
+ $reply_edit_reason = esc_attr( strip_tags( $_POST['bbp_reply_edit_reason'] ) );
531
+
532
+ // Update revision log
533
+ if ( !empty( $_POST['bbp_log_reply_edit'] ) && ( 1 == $_POST['bbp_log_reply_edit'] ) ) {
534
+ $revision_id = wp_save_post_revision( $reply_id );
535
+ if ( !empty( $revision_id ) ) {
536
+ bbp_update_reply_revision_log( array(
537
+ 'reply_id' => $reply_id,
538
+ 'revision_id' => $revision_id,
539
+ 'author_id' => bbp_get_current_user_id(),
540
+ 'reason' => $reply_edit_reason
541
+ ) );
 
542
  }
543
+ }
544
 
545
+ /** No Errors *************************************************************/
546
 
547
+ if ( !empty( $reply_id ) && !is_wp_error( $reply_id ) ) {
548
 
549
+ // Update counts, etc...
550
+ do_action( 'bbp_edit_reply', $reply_id, $topic_id, $forum_id, $anonymous_data, $reply->post_author , true /* Is edit */ );
551
 
552
+ /** Additional Actions (After Save) ***********************************/
553
 
554
+ do_action( 'bbp_edit_reply_post_extras', $reply_id );
555
 
556
+ /** Redirect **********************************************************/
557
 
558
+ // Redirect to
559
+ $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
560
 
561
+ // Get the reply URL
562
+ $reply_url = bbp_get_reply_url( $reply_id, $redirect_to );
563
 
564
+ // Allow to be filtered
565
+ $reply_url = apply_filters( 'bbp_edit_reply_redirect_to', $reply_url, $redirect_to );
566
 
567
+ /** Successful Edit ***************************************************/
568
 
569
+ // Redirect back to new reply
570
+ wp_safe_redirect( $reply_url );
571
 
572
+ // For good measure
573
+ exit();
574
 
575
+ /** Errors ****************************************************************/
576
 
577
+ } else {
578
+ $append_error = ( is_wp_error( $reply_id ) && $reply_id->get_error_message() ) ? $reply_id->get_error_message() . ' ' : '';
579
+ bbp_add_error( 'bbp_reply_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your reply:' . $append_error . 'Please try again.', 'bbpress' ) );
 
580
  }
581
  }
582
 
bbp-includes/bbp-topic-functions.php CHANGED
@@ -86,7 +86,7 @@ function bbp_insert_topic( $topic_data = array(), $topic_meta = array() ) {
86
  * Handles the front end topic submission
87
  *
88
  * @uses bbPress:errors::add() To log various error messages
89
- * @uses check_admin_referer() To verify the nonce and check the referer
90
  * @uses bbp_is_anonymous() To check if an anonymous post is being made
91
  * @uses current_user_can() To check if the current user can publish topic
92
  * @uses bbp_get_current_user_id() To get the current user id
@@ -125,7 +125,10 @@ function bbp_new_topic_handler() {
125
  return;
126
 
127
  // Nonce check
128
- check_admin_referer( 'bbp-new-topic' );
 
 
 
129
 
130
  // Define local variable(s)
131
  $view_all = false;
@@ -152,11 +155,11 @@ function bbp_new_topic_handler() {
152
  // User cannot create topics
153
  if ( !current_user_can( 'publish_topics' ) ) {
154
  bbp_add_error( 'bbp_topic_permissions', __( '<strong>ERROR</strong>: You do not have permission to create new topics.', 'bbpress' ) );
 
155
  }
156
 
157
  // Topic author is current user
158
  $topic_author = bbp_get_current_user_id();
159
-
160
  }
161
 
162
  // Remove wp_filter_kses filters from title and content for capable users and if the nonce is verified
@@ -255,130 +258,125 @@ function bbp_new_topic_handler() {
255
  $terms = array( bbp_get_topic_tag_tax_id() => $terms );
256
  }
257
 
258
- /** Additional Actions (Before Save) **************************************/
259
-
260
- do_action( 'bbp_new_topic_pre_extras' );
261
 
262
  /** No Errors *************************************************************/
263
 
264
- if ( !bbp_has_errors() ) {
265
-
266
- /** Create new topic **************************************************/
267
-
268
- // Add the content of the form to $topic_data as an array
269
- $topic_data = array(
270
- 'post_author' => $topic_author,
271
- 'post_title' => $topic_title,
272
- 'post_content' => $topic_content,
273
- 'post_parent' => $forum_id,
274
- 'post_status' => $post_status,
275
- 'post_type' => bbp_get_topic_post_type(),
276
- 'tax_input' => $terms,
277
- 'comment_status' => 'closed'
278
- );
279
 
280
- // Just in time manipulation of topic data before being created
281
- $topic_data = apply_filters( 'bbp_new_topic_pre_insert', $topic_data );
 
 
 
 
 
 
 
 
 
 
282
 
283
- // Insert topic
284
- $topic_id = wp_insert_post( $topic_data );
285
 
286
- /** No Errors *********************************************************/
287
 
288
- if ( !empty( $topic_id ) && !is_wp_error( $topic_id ) ) {
289
 
290
- /** Stickies ******************************************************/
291
 
292
- if ( !empty( $_POST['bbp_stick_topic'] ) && in_array( $_POST['bbp_stick_topic'], array( 'stick', 'super', 'unstick' ) ) ) {
293
 
294
- // What's the haps?
295
- switch ( $_POST['bbp_stick_topic'] ) {
296
 
297
- // Sticky in this forum
298
- case 'stick' :
299
- bbp_stick_topic( $topic_id );
300
- break;
301
 
302
- // Super sticky in all forums
303
- case 'super' :
304
- bbp_stick_topic( $topic_id, true );
305
- break;
306
 
307
- // We can avoid this as it is a new topic
308
- case 'unstick' :
309
- default :
310
- break;
311
- }
312
  }
 
313
 
314
- /** Trash Check ***************************************************/
315
 
316
- // If the forum is trash, or the topic_status is switched to
317
- // trash, trash it properly
318
- if ( ( get_post_field( 'post_status', $forum_id ) == bbp_get_trash_status_id() ) || ( $topic_data['post_status'] == bbp_get_trash_status_id() ) ) {
319
 
320
- // Trash the reply
321
- wp_trash_post( $topic_id );
322
 
323
- // Force view=all
324
- $view_all = true;
325
- }
326
 
327
- /** Spam Check ****************************************************/
328
 
329
- // If reply or topic are spam, officially spam this reply
330
- if ( $topic_data['post_status'] == bbp_get_spam_status_id() ) {
331
- add_post_meta( $topic_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
332
 
333
- // Force view=all
334
- $view_all = true;
335
- }
336
 
337
- /** Update counts, etc... *****************************************/
338
 
339
- do_action( 'bbp_new_topic', $topic_id, $forum_id, $anonymous_data, $topic_author );
340
 
341
- /** Additional Actions (After Save) *******************************/
342
 
343
- do_action( 'bbp_new_topic_post_extras', $topic_id );
344
 
345
- /** Redirect ******************************************************/
346
 
347
- // Redirect to
348
- $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
349
 
350
- // Get the topic URL
351
- $redirect_url = bbp_get_topic_permalink( $topic_id, $redirect_to );
352
 
353
- // Add view all?
354
- if ( bbp_get_view_all() || !empty( $view_all ) ) {
355
 
356
- // User can moderate, so redirect to topic with view all set
357
- if ( current_user_can( 'moderate' ) ) {
358
- $redirect_url = bbp_add_view_all( $redirect_url );
359
 
360
- // User cannot moderate, so redirect to forum
361
- } else {
362
- $redirect_url = bbp_get_forum_permalink( $forum_id );
363
- }
364
  }
 
365
 
366
- // Allow to be filtered
367
- $redirect_url = apply_filters( 'bbp_new_topic_redirect_to', $redirect_url, $redirect_to, $topic_id );
368
 
369
- /** Successful Save ***********************************************/
370
 
371
- // Redirect back to new topic
372
- wp_safe_redirect( $redirect_url );
373
 
374
- // For good measure
375
- exit();
376
 
377
- // Errors
378
- } else {
379
- $append_error = ( is_wp_error( $topic_id ) && $topic_id->get_error_message() ) ? $topic_id->get_error_message() . ' ' : '';
380
- bbp_add_error( 'bbp_topic_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your topic:' . $append_error, 'bbpress' ) );
381
- }
382
  }
383
  }
384
 
@@ -387,7 +385,7 @@ function bbp_new_topic_handler() {
387
  *
388
  * @uses bbPress:errors::add() To log various error messages
389
  * @uses bbp_get_topic() To get the topic
390
- * @uses check_admin_referer() To verify the nonce and check the referer
391
  * @uses bbp_is_topic_anonymous() To check if topic is by an anonymous user
392
  * @uses current_user_can() To check if the current user can edit the topic
393
  * @uses bbp_filter_anonymous_post_data() To filter anonymous data
@@ -436,6 +434,7 @@ function bbp_edit_topic_handler() {
436
  // Topic id was not passed
437
  if ( empty( $_POST['bbp_topic_id'] ) ) {
438
  bbp_add_error( 'bbp_edit_topic_id', __( '<strong>ERROR</strong>: Topic ID not found.', 'bbpress' ) );
 
439
 
440
  // Topic id was passed
441
  } elseif ( is_numeric( $_POST['bbp_topic_id'] ) ) {
@@ -446,13 +445,11 @@ function bbp_edit_topic_handler() {
446
  // Topic does not exist
447
  if ( empty( $topic ) ) {
448
  bbp_add_error( 'bbp_edit_topic_not_found', __( '<strong>ERROR</strong>: The topic you want to edit was not found.', 'bbpress' ) );
 
449
 
450
  // Topic exists
451
  } else {
452
 
453
- // Nonce check
454
- check_admin_referer( 'bbp-edit-topic_' . $topic_id );
455
-
456
  // Check users ability to create new topic
457
  if ( !bbp_is_topic_anonymous( $topic_id ) ) {
458
 
@@ -469,6 +466,12 @@ function bbp_edit_topic_handler() {
469
  }
470
  }
471
 
 
 
 
 
 
 
472
  // Remove wp_filter_kses filters from title and content for capable users and if the nonce is verified
473
  if ( current_user_can( 'unfiltered_html' ) && !empty( $_POST['_bbp_unfiltered_html_topic'] ) && ( wp_create_nonce( 'bbp-unfiltered-html-topic_' . $topic_id ) == $_POST['_bbp_unfiltered_html_topic'] ) ) {
474
  remove_filter( 'bbp_edit_topic_pre_title', 'wp_filter_kses' );
@@ -564,118 +567,117 @@ function bbp_edit_topic_handler() {
564
 
565
  do_action( 'bbp_edit_topic_pre_extras', $topic_id );
566
 
567
- /** No Errors *************************************************************/
 
 
568
 
569
- if ( !bbp_has_errors() ) {
570
 
571
- /** Stickies **********************************************************/
572
 
573
- if ( !empty( $_POST['bbp_stick_topic'] ) && in_array( $_POST['bbp_stick_topic'], array( 'stick', 'super', 'unstick' ) ) ) {
574
 
575
- // What's the dilly?
576
- switch ( $_POST['bbp_stick_topic'] ) {
577
 
578
- // Sticky in forum
579
- case 'stick' :
580
- bbp_stick_topic( $topic_id );
581
- break;
582
 
583
- // Sticky in all forums
584
- case 'super' :
585
- bbp_stick_topic( $topic_id, true );
586
- break;
587
 
588
- // Normal
589
- case 'unstick' :
590
- default :
591
- bbp_unstick_topic( $topic_id );
592
- break;
593
- }
594
  }
 
595
 
596
- /** Update the topic **************************************************/
597
-
598
- // Add the content of the form to $topic_data as an array
599
- $topic_data = array(
600
- 'ID' => $topic_id,
601
- 'post_title' => $topic_title,
602
- 'post_content' => $topic_content,
603
- 'post_status' => $post_status,
604
- 'post_parent' => $forum_id,
605
- 'tax_input' => $terms,
606
- );
607
 
608
- // Just in time manipulation of topic data before being edited
609
- $topic_data = apply_filters( 'bbp_edit_topic_pre_insert', $topic_data );
 
 
 
 
 
 
 
 
610
 
611
- // Insert topic
612
- $topic_id = wp_update_post( $topic_data );
613
 
614
- /** Revisions *********************************************************/
615
 
616
- // Revision Reason
617
- if ( !empty( $_POST['bbp_topic_edit_reason'] ) )
618
- $topic_edit_reason = esc_attr( strip_tags( $_POST['bbp_topic_edit_reason'] ) );
619
 
620
- // Update revision log
621
- if ( !empty( $_POST['bbp_log_topic_edit'] ) && ( 1 == $_POST['bbp_log_topic_edit'] ) && ( $revision_id = wp_save_post_revision( $topic_id ) ) ) {
622
- bbp_update_topic_revision_log( array(
623
- 'topic_id' => $topic_id,
624
- 'revision_id' => $revision_id,
625
- 'author_id' => bbp_get_current_user_id(),
626
- 'reason' => $topic_edit_reason
627
- ) );
628
- }
629
 
630
- /** No Errors *********************************************************/
631
 
632
- if ( !empty( $topic_id ) && !is_wp_error( $topic_id ) ) {
633
 
634
- // Update counts, etc...
635
- do_action( 'bbp_edit_topic', $topic_id, $forum_id, $anonymous_data, $topic->post_author , true /* Is edit */ );
636
 
637
- // If the new forum id is not equal to the old forum id, run the
638
- // bbp_move_topic action and pass the topic's forum id as the
639
- // first arg and topic id as the second to update counts.
640
- if ( $forum_id != $topic->post_parent )
641
- bbp_move_topic_handler( $topic_id, $topic->post_parent, $forum_id );
642
 
643
- /** Additional Actions (After Save) *******************************/
644
 
645
- do_action( 'bbp_edit_topic_post_extras', $topic_id );
646
 
647
- /** Redirect ******************************************************/
648
 
649
- // Redirect to
650
- $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
651
 
652
- // View all?
653
- $view_all = bbp_get_view_all();
654
 
655
- // Get the topic URL
656
- $topic_url = bbp_get_topic_permalink( $topic_id, $redirect_to );
657
 
658
- // Add view all?
659
- if ( !empty( $view_all ) )
660
- $topic_url = bbp_add_view_all( $topic_url );
661
 
662
- // Allow to be filtered
663
- $topic_url = apply_filters( 'bbp_edit_topic_redirect_to', $topic_url, $view_all, $redirect_to );
664
 
665
- /** Successful Edit ***********************************************/
666
 
667
- // Redirect back to new topic
668
- wp_safe_redirect( $topic_url );
669
 
670
- // For good measure
671
- exit();
672
 
673
- /** Errors ************************************************************/
674
 
675
- } else {
676
- $append_error = ( is_wp_error( $topic_id ) && $topic_id->get_error_message() ) ? $topic_id->get_error_message() . ' ' : '';
677
- bbp_add_error( 'bbp_topic_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your topic:' . $append_error . 'Please try again.', 'bbpress' ) );
678
- }
679
  }
680
  }
681
 
@@ -990,7 +992,7 @@ function bbp_move_topic_handler( $topic_id, $old_forum_id, $new_forum_id ) {
990
  *
991
  * @uses bbPress:errors::add() To log various error messages
992
  * @uses bbp_get_topic() To get the topics
993
- * @uses check_admin_referer() To verify the nonce and check the referer
994
  * @uses current_user_can() To check if the current user can edit the topics
995
  * @uses is_wp_error() To check if the value retrieved is a {@link WP_Error}
996
  * @uses do_action() Calls 'bbp_merge_topic' with the destination and source
@@ -1043,15 +1045,21 @@ function bbp_merge_topic_handler() {
1043
  $source_topic_id = (int) $_POST['bbp_topic_id'];
1044
 
1045
  // Nonce check
1046
- check_admin_referer( 'bbp-merge-topic_' . $source_topic_id );
 
 
1047
 
1048
  // Source topic not found
1049
- if ( !$source_topic = bbp_get_topic( $source_topic_id ) )
1050
  bbp_add_error( 'bbp_merge_topic_source_not_found', __( '<strong>ERROR</strong>: The topic you want to merge was not found.', 'bbpress' ) );
 
 
1051
 
1052
  // Cannot edit source topic
1053
- if ( !current_user_can( 'edit_topic', $source_topic->ID ) )
1054
  bbp_add_error( 'bbp_merge_topic_source_permission', __( '<strong>ERROR</strong>: You do not have the permissions to edit the source topic.', 'bbpress' ) );
 
 
1055
 
1056
  /** Destination Topic *****************************************************/
1057
 
@@ -1069,150 +1077,151 @@ function bbp_merge_topic_handler() {
1069
  if ( !current_user_can( 'edit_topic', $destination_topic->ID ) )
1070
  bbp_add_error( 'bbp_merge_topic_destination_permission', __( '<strong>ERROR</strong>: You do not have the permissions to edit the destination topic.', 'bbpress' ) );
1071
 
1072
- /** No Errors *************************************************************/
 
 
1073
 
1074
- if ( !bbp_has_errors() ) {
1075
 
1076
- // Update counts, etc...
1077
- do_action( 'bbp_merge_topic', $destination_topic->ID, $source_topic->ID );
1078
 
1079
- /** Date Check ********************************************************/
1080
 
1081
- // Check if the destination topic is older than the source topic
1082
- if ( strtotime( $source_topic->post_date ) < strtotime( $destination_topic->post_date ) ) {
1083
 
1084
- // Set destination topic post_date to 1 second before source topic
1085
- $destination_post_date = date( 'Y-m-d H:i:s', strtotime( $source_topic->post_date ) - 1 );
1086
 
1087
- $postarr = array(
1088
- 'ID' => $destination_topic_id,
1089
- 'post_date' => $destination_post_date,
1090
- 'post_date_gmt' => get_gmt_from_date( $destination_post_date )
1091
- );
1092
 
1093
- // Update destination topic
1094
- wp_update_post( $postarr );
1095
- }
1096
 
1097
- /** Subscriptions *****************************************************/
1098
 
1099
- // Get subscribers from source topic
1100
- $subscribers = bbp_get_topic_subscribers( $source_topic->ID );
1101
 
1102
- // Remove the topic from everybody's subscriptions
1103
- if ( !empty( $subscribers ) ) {
1104
 
1105
- // Loop through each user
1106
- foreach ( (array) $subscribers as $subscriber ) {
1107
 
1108
- // Shift the subscriber if told to
1109
- if ( !empty( $_POST['bbp_topic_subscribers'] ) && ( 1 == $_POST['bbp_topic_subscribers'] ) && bbp_is_subscriptions_active() )
1110
- bbp_add_user_subscription( $subscriber, $destination_topic->ID );
1111
 
1112
- // Remove old subscription
1113
- bbp_remove_user_subscription( $subscriber, $source_topic->ID );
1114
- }
1115
  }
 
1116
 
1117
- /** Favorites *********************************************************/
1118
 
1119
- // Get favoriters from source topic
1120
- $favoriters = bbp_get_topic_favoriters( $source_topic->ID );
1121
 
1122
- // Remove the topic from everybody's favorites
1123
- if ( !empty( $favoriters ) ) {
1124
 
1125
- // Loop through each user
1126
- foreach ( (array) $favoriters as $favoriter ) {
1127
 
1128
- // Shift the favoriter if told to
1129
- if ( !empty( $_POST['bbp_topic_favoriters'] ) && 1 == $_POST['bbp_topic_favoriters'] )
1130
- bbp_add_user_favorite( $favoriter, $destination_topic->ID );
1131
 
1132
- // Remove old favorite
1133
- bbp_remove_user_favorite( $favoriter, $source_topic->ID );
1134
- }
1135
  }
 
1136
 
1137
- /** Tags **************************************************************/
1138
 
1139
- // Get the source topic tags
1140
- $source_topic_tags = wp_get_post_terms( $source_topic->ID, bbp_get_topic_tag_tax_id(), array( 'fields' => 'names' ) );
1141
 
1142
- // Tags to possibly merge
1143
- if ( !empty( $source_topic_tags ) && !is_wp_error( $source_topic_tags ) ) {
1144
 
1145
- // Shift the tags if told to
1146
- if ( !empty( $_POST['bbp_topic_tags'] ) && ( 1 == $_POST['bbp_topic_tags'] ) )
1147
- wp_set_post_terms( $destination_topic->ID, $source_topic_tags, bbp_get_topic_tag_tax_id(), true );
1148
 
1149
- // Delete the tags from the source topic
1150
- wp_delete_object_term_relationships( $source_topic->ID, bbp_get_topic_tag_tax_id() );
1151
- }
1152
 
1153
- /** Source Topic ******************************************************/
1154
 
1155
- // Status
1156
- bbp_open_topic( $source_topic->ID );
1157
 
1158
- // Sticky
1159
- bbp_unstick_topic( $source_topic->ID );
1160
 
1161
- // Get the replies of the source topic
1162
- $replies = (array) get_posts( array(
1163
- 'post_parent' => $source_topic->ID,
1164
- 'post_type' => bbp_get_reply_post_type(),
1165
- 'posts_per_page' => -1,
1166
- 'order' => 'ASC'
1167
- ) );
1168
 
1169
- // Prepend the source topic to its replies array for processing
1170
- array_unshift( $replies, $source_topic );
1171
 
1172
- if ( !empty( $replies ) ) {
1173
 
1174
- /** Merge Replies *************************************************/
1175
 
1176
- // Change the post_parent of each reply to the destination topic id
1177
- foreach ( $replies as $reply ) {
1178
- $postarr = array(
1179
- 'ID' => $reply->ID,
1180
- 'post_title' => sprintf( __( 'Reply To: %s', 'bbpress' ), $destination_topic->post_title ),
1181
- 'post_name' => false,
1182
- 'post_type' => bbp_get_reply_post_type(),
1183
- 'post_parent' => $destination_topic->ID,
1184
- 'guid' => ''
1185
- );
1186
 
1187
- wp_update_post( $postarr );
1188
 
1189
- // Adjust reply meta values
1190
- bbp_update_reply_topic_id( $reply->ID, $destination_topic->ID );
1191
- bbp_update_reply_forum_id( $reply->ID, bbp_get_topic_forum_id( $destination_topic->ID ) );
1192
 
1193
- // Do additional actions per merged reply
1194
- do_action( 'bbp_merged_topic_reply', $reply->ID, $destination_topic->ID );
1195
- }
1196
  }
 
1197
 
1198
- /** Successful Merge **************************************************/
1199
 
1200
- // Update topic's last meta data
1201
- bbp_update_topic_last_reply_id ( $destination_topic->ID );
1202
- bbp_update_topic_last_active_id ( $destination_topic->ID );
1203
- bbp_update_topic_last_active_time( $destination_topic->ID );
1204
 
1205
- // Send the post parent of the source topic as it has been shifted
1206
- // (possibly to a new forum) so we need to update the counts of the
1207
- // old forum as well as the new one
1208
- do_action( 'bbp_merged_topic', $destination_topic->ID, $source_topic->ID, $source_topic->post_parent );
1209
 
1210
- // Redirect back to new topic
1211
- wp_safe_redirect( bbp_get_topic_permalink( $destination_topic->ID ) );
1212
 
1213
- // For good measure
1214
- exit();
1215
- }
1216
  }
1217
 
1218
  /**
@@ -1269,7 +1278,7 @@ function bbp_merge_topic_count( $destination_topic_id, $source_topic_id, $source
1269
  * @uses bbPress:errors::add() To log various error messages
1270
  * @uses bbp_get_reply() To get the reply
1271
  * @uses bbp_get_topic() To get the topics
1272
- * @uses check_admin_referer() To verify the nonce and check the referer
1273
  * @uses current_user_can() To check if the current user can edit the topics
1274
  * @uses bbp_get_topic_post_type() To get the topic post type
1275
  * @uses is_wp_error() To check if the value retrieved is a {@link WP_Error}
@@ -1337,15 +1346,17 @@ function bbp_split_topic_handler() {
1337
  if ( empty( $source_topic ) )
1338
  bbp_add_error( 'bbp_split_topic_source_not_found', __( '<strong>ERROR</strong>: The topic you want to split was not found.', 'bbpress' ) );
1339
 
1340
- // Nonce check
1341
- check_admin_referer( 'bbp-split-topic_' . $source_topic->ID );
 
 
 
1342
 
1343
  // Use cannot edit topic
1344
  if ( !current_user_can( 'edit_topic', $source_topic->ID ) )
1345
  bbp_add_error( 'bbp_split_topic_source_permission', __( '<strong>ERROR</strong>: You do not have the permissions to edit the source topic.', 'bbpress' ) );
1346
 
1347
- /** How to Split **********************************************************/
1348
-
1349
  if ( !empty( $_POST['bbp_topic_split_option'] ) )
1350
  $split_option = (string) trim( $_POST['bbp_topic_split_option'] );
1351
 
@@ -1428,114 +1439,115 @@ function bbp_split_topic_handler() {
1428
  }
1429
  }
1430
 
1431
- /** No Errors - Do the Spit ***********************************************/
 
 
1432
 
1433
- if ( !bbp_has_errors() ) {
1434
 
1435
- // Update counts, etc...
1436
- do_action( 'bbp_pre_split_topic', $from_reply->ID, $source_topic->ID, $destination_topic->ID );
1437
 
1438
- /** Subscriptions *****************************************************/
1439
 
1440
- // Copy the subscribers
1441
- if ( !empty( $_POST['bbp_topic_subscribers'] ) && 1 == $_POST['bbp_topic_subscribers'] && bbp_is_subscriptions_active() ) {
1442
 
1443
- // Get the subscribers
1444
- $subscribers = bbp_get_topic_subscribers( $source_topic->ID );
1445
 
1446
- if ( !empty( $subscribers ) ) {
1447
 
1448
- // Add subscribers to new topic
1449
- foreach ( (array) $subscribers as $subscriber ) {
1450
- bbp_add_user_subscription( $subscriber, $destination_topic->ID );
1451
- }
1452
  }
1453
  }
 
1454
 
1455
- /** Favorites *********************************************************/
1456
 
1457
- // Copy the favoriters if told to
1458
- if ( !empty( $_POST['bbp_topic_favoriters'] ) && 1 == $_POST['bbp_topic_favoriters'] ) {
1459
 
1460
- // Get the favoriters
1461
- $favoriters = bbp_get_topic_favoriters( $source_topic->ID );
1462
 
1463
- if ( !empty( $favoriters ) ) {
1464
 
1465
- // Add the favoriters to new topic
1466
- foreach ( (array) $favoriters as $favoriter ) {
1467
- bbp_add_user_favorite( $favoriter, $destination_topic->ID );
1468
- }
1469
  }
1470
  }
 
1471
 
1472
- /** Tags **************************************************************/
1473
 
1474
- // Copy the tags if told to
1475
- if ( !empty( $_POST['bbp_topic_tags'] ) && ( 1 == $_POST['bbp_topic_tags'] ) ) {
1476
 
1477
- // Get the source topic tags
1478
- $source_topic_tags = wp_get_post_terms( $source_topic->ID, bbp_get_topic_tag_tax_id(), array( 'fields' => 'names' ) );
1479
 
1480
- if ( !empty( $source_topic_tags ) ) {
1481
- wp_set_post_terms( $destination_topic->ID, $source_topic_tags, bbp_get_topic_tag_tax_id(), true );
1482
- }
1483
  }
 
1484
 
1485
- /** Split Replies *************************************************/
1486
 
1487
- // get_posts() is not used because it doesn't allow us to use '>='
1488
- // comparision without a filter.
1489
- $replies = (array) $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->posts} WHERE {$wpdb->posts}.post_date >= %s AND {$wpdb->posts}.post_parent = %d AND {$wpdb->posts}.post_type = %s ORDER BY {$wpdb->posts}.post_date ASC", $from_reply->post_date, $source_topic->ID, bbp_get_reply_post_type() ) );
1490
 
1491
- // Make sure there are replies to loop through
1492
- if ( !empty( $replies ) && !is_wp_error( $replies ) ) {
1493
 
1494
- // Change the post_parent of each reply to the destination topic id
1495
- foreach ( $replies as $reply ) {
1496
 
1497
- // New reply data
1498
- $postarr = array(
1499
- 'ID' => $reply->ID,
1500
- 'post_title' => sprintf( __( 'Reply To: %s', 'bbpress' ), $destination_topic->post_title ),
1501
- 'post_name' => false, // will be automatically generated
1502
- 'post_parent' => $destination_topic->ID,
1503
- 'guid' => ''
1504
- );
1505
 
1506
- // Update the reply
1507
- wp_update_post( $postarr );
1508
 
1509
- // Adjust reply meta values
1510
- bbp_update_reply_topic_id( $reply->ID, $destination_topic->ID );
1511
- bbp_update_reply_forum_id( $reply->ID, bbp_get_topic_forum_id( $destination_topic->ID ) );
1512
 
1513
- // Do additional actions per split reply
1514
- do_action( 'bbp_split_topic_reply', $reply->ID, $destination_topic->ID );
1515
- }
1516
  }
 
1517
 
1518
- // It is a new topic and we need to set some default metas to make
1519
- // the topic display in bbp_has_topics() list
1520
- if ( 'reply' == $split_option ) {
1521
- $last_reply_id = ( empty( $reply ) || empty( $reply->ID ) ) ? 0 : $reply->ID;
1522
- $freshness = ( empty( $reply ) || empty( $reply->post_date ) ) ? '' : $reply->post_date;
1523
 
1524
- bbp_update_topic_last_reply_id ( $destination_topic->ID, $last_reply_id );
1525
- bbp_update_topic_last_active_time( $destination_topic->ID, $freshness );
1526
- }
1527
 
1528
- /** Successful Split **************************************************/
1529
 
1530
- // Update counts, etc...
1531
- do_action( 'bbp_post_split_topic', $from_reply->ID, $source_topic->ID, $destination_topic->ID );
1532
 
1533
- // Redirect back to the topic
1534
- wp_safe_redirect( bbp_get_topic_permalink( $destination_topic->ID ) );
1535
 
1536
- // For good measure
1537
- exit();
1538
- }
1539
  }
1540
 
1541
  /**
@@ -1586,7 +1598,7 @@ function bbp_split_topic_count( $from_reply_id, $source_topic_id, $destination_t
1586
  *
1587
  * @since bbPress (r2768)
1588
  *
1589
- * @uses check_admin_referer() To verify the nonce and check the referer
1590
  * @uses current_user_can() To check if the current user can edit/delete tags
1591
  * @uses bbPress::errors::add() To log the error messages
1592
  * @uses wp_update_term() To update the topic tag
@@ -1638,7 +1650,10 @@ function bbp_edit_topic_tag_handler() {
1638
  case 'bbp-update-topic-tag' :
1639
 
1640
  // Nonce check
1641
- check_admin_referer( 'update-tag_' . $tag_id );
 
 
 
1642
 
1643
  // Can user edit topic tags?
1644
  if ( !current_user_can( 'edit_topic_tags' ) ) {
@@ -1674,7 +1689,10 @@ function bbp_edit_topic_tag_handler() {
1674
  case 'bbp-merge-topic-tag' :
1675
 
1676
  // Nonce check
1677
- check_admin_referer( 'merge-tag_' . $tag_id );
 
 
 
1678
 
1679
  // Can user edit topic tags?
1680
  if ( !current_user_can( 'edit_topic_tags' ) ) {
@@ -1728,7 +1746,10 @@ function bbp_edit_topic_tag_handler() {
1728
  case 'bbp-delete-topic-tag' :
1729
 
1730
  // Nonce check
1731
- check_admin_referer( 'delete-tag_' . $tag_id );
 
 
 
1732
 
1733
  // Can user delete topic tags?
1734
  if ( !current_user_can( 'delete_topic_tags' ) ) {
86
  * Handles the front end topic submission
87
  *
88
  * @uses bbPress:errors::add() To log various error messages
89
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the referer
90
  * @uses bbp_is_anonymous() To check if an anonymous post is being made
91
  * @uses current_user_can() To check if the current user can publish topic
92
  * @uses bbp_get_current_user_id() To get the current user id
125
  return;
126
 
127
  // Nonce check
128
+ if ( ! bbp_verify_nonce_request( 'bbp-new-topic' ) ) {
129
+ bbp_add_error( 'bbp_new_topic_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
130
+ return;
131
+ }
132
 
133
  // Define local variable(s)
134
  $view_all = false;
155
  // User cannot create topics
156
  if ( !current_user_can( 'publish_topics' ) ) {
157
  bbp_add_error( 'bbp_topic_permissions', __( '<strong>ERROR</strong>: You do not have permission to create new topics.', 'bbpress' ) );
158
+ return;
159
  }
160
 
161
  // Topic author is current user
162
  $topic_author = bbp_get_current_user_id();
 
163
  }
164
 
165
  // Remove wp_filter_kses filters from title and content for capable users and if the nonce is verified
258
  $terms = array( bbp_get_topic_tag_tax_id() => $terms );
259
  }
260
 
261
+ // Bail if errors
262
+ if ( bbp_has_errors() )
263
+ return;
264
 
265
  /** No Errors *************************************************************/
266
 
267
+ do_action( 'bbp_new_topic_pre_extras' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
 
269
+ // Add the content of the form to $topic_data as an array.
270
+ // Just in time manipulation of topic data before being created
271
+ $topic_data = apply_filters( 'bbp_new_topic_pre_insert', array(
272
+ 'post_author' => $topic_author,
273
+ 'post_title' => $topic_title,
274
+ 'post_content' => $topic_content,
275
+ 'post_parent' => $forum_id,
276
+ 'post_status' => $post_status,
277
+ 'post_type' => bbp_get_topic_post_type(),
278
+ 'tax_input' => $terms,
279
+ 'comment_status' => 'closed'
280
+ ) );
281
 
282
+ // Insert topic
283
+ $topic_id = wp_insert_post( $topic_data );
284
 
285
+ /** No Errors *************************************************************/
286
 
287
+ if ( !empty( $topic_id ) && !is_wp_error( $topic_id ) ) {
288
 
289
+ /** Stickies **********************************************************/
290
 
291
+ if ( !empty( $_POST['bbp_stick_topic'] ) && in_array( $_POST['bbp_stick_topic'], array( 'stick', 'super', 'unstick' ) ) ) {
292
 
293
+ // What's the haps?
294
+ switch ( $_POST['bbp_stick_topic'] ) {
295
 
296
+ // Sticky in this forum
297
+ case 'stick' :
298
+ bbp_stick_topic( $topic_id );
299
+ break;
300
 
301
+ // Super sticky in all forums
302
+ case 'super' :
303
+ bbp_stick_topic( $topic_id, true );
304
+ break;
305
 
306
+ // We can avoid this as it is a new topic
307
+ case 'unstick' :
308
+ default :
309
+ break;
 
310
  }
311
+ }
312
 
313
+ /** Trash Check *******************************************************/
314
 
315
+ // If the forum is trash, or the topic_status is switched to
316
+ // trash, trash it properly
317
+ if ( ( get_post_field( 'post_status', $forum_id ) == bbp_get_trash_status_id() ) || ( $topic_data['post_status'] == bbp_get_trash_status_id() ) ) {
318
 
319
+ // Trash the reply
320
+ wp_trash_post( $topic_id );
321
 
322
+ // Force view=all
323
+ $view_all = true;
324
+ }
325
 
326
+ /** Spam Check ********************************************************/
327
 
328
+ // If reply or topic are spam, officially spam this reply
329
+ if ( $topic_data['post_status'] == bbp_get_spam_status_id() ) {
330
+ add_post_meta( $topic_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
331
 
332
+ // Force view=all
333
+ $view_all = true;
334
+ }
335
 
336
+ /** Update counts, etc... *********************************************/
337
 
338
+ do_action( 'bbp_new_topic', $topic_id, $forum_id, $anonymous_data, $topic_author );
339
 
340
+ /** Additional Actions (After Save) ***********************************/
341
 
342
+ do_action( 'bbp_new_topic_post_extras', $topic_id );
343
 
344
+ /** Redirect **********************************************************/
345
 
346
+ // Redirect to
347
+ $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
348
 
349
+ // Get the topic URL
350
+ $redirect_url = bbp_get_topic_permalink( $topic_id, $redirect_to );
351
 
352
+ // Add view all?
353
+ if ( bbp_get_view_all() || !empty( $view_all ) ) {
354
 
355
+ // User can moderate, so redirect to topic with view all set
356
+ if ( current_user_can( 'moderate' ) ) {
357
+ $redirect_url = bbp_add_view_all( $redirect_url );
358
 
359
+ // User cannot moderate, so redirect to forum
360
+ } else {
361
+ $redirect_url = bbp_get_forum_permalink( $forum_id );
 
362
  }
363
+ }
364
 
365
+ // Allow to be filtered
366
+ $redirect_url = apply_filters( 'bbp_new_topic_redirect_to', $redirect_url, $redirect_to, $topic_id );
367
 
368
+ /** Successful Save ***************************************************/
369
 
370
+ // Redirect back to new topic
371
+ wp_safe_redirect( $redirect_url );
372
 
373
+ // For good measure
374
+ exit();
375
 
376
+ // Errors
377
+ } else {
378
+ $append_error = ( is_wp_error( $topic_id ) && $topic_id->get_error_message() ) ? $topic_id->get_error_message() . ' ' : '';
379
+ bbp_add_error( 'bbp_topic_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your topic:' . $append_error, 'bbpress' ) );
 
380
  }
381
  }
382
 
385
  *
386
  * @uses bbPress:errors::add() To log various error messages
387
  * @uses bbp_get_topic() To get the topic
388
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
389
  * @uses bbp_is_topic_anonymous() To check if topic is by an anonymous user
390
  * @uses current_user_can() To check if the current user can edit the topic
391
  * @uses bbp_filter_anonymous_post_data() To filter anonymous data
434
  // Topic id was not passed
435
  if ( empty( $_POST['bbp_topic_id'] ) ) {
436
  bbp_add_error( 'bbp_edit_topic_id', __( '<strong>ERROR</strong>: Topic ID not found.', 'bbpress' ) );
437
+ return;
438
 
439
  // Topic id was passed
440
  } elseif ( is_numeric( $_POST['bbp_topic_id'] ) ) {
445
  // Topic does not exist
446
  if ( empty( $topic ) ) {
447
  bbp_add_error( 'bbp_edit_topic_not_found', __( '<strong>ERROR</strong>: The topic you want to edit was not found.', 'bbpress' ) );
448
+ return;
449
 
450
  // Topic exists
451
  } else {
452
 
 
 
 
453
  // Check users ability to create new topic
454
  if ( !bbp_is_topic_anonymous( $topic_id ) ) {
455
 
466
  }
467
  }
468
 
469
+ // Nonce check
470
+ if ( ! bbp_verify_nonce_request( 'bbp-edit-topic_' . $topic_id ) ) {
471
+ bbp_add_error( 'bbp_edit_topic_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
472
+ return;
473
+ }
474
+
475
  // Remove wp_filter_kses filters from title and content for capable users and if the nonce is verified
476
  if ( current_user_can( 'unfiltered_html' ) && !empty( $_POST['_bbp_unfiltered_html_topic'] ) && ( wp_create_nonce( 'bbp-unfiltered-html-topic_' . $topic_id ) == $_POST['_bbp_unfiltered_html_topic'] ) ) {
477
  remove_filter( 'bbp_edit_topic_pre_title', 'wp_filter_kses' );
567
 
568
  do_action( 'bbp_edit_topic_pre_extras', $topic_id );
569
 
570
+ // Bail if errors
571
+ if ( bbp_has_errors() )
572
+ return;
573
 
574
+ /** No Errors *************************************************************/
575
 
576
+ /** Stickies **********************************************************/
577
 
578
+ if ( !empty( $_POST['bbp_stick_topic'] ) && in_array( $_POST['bbp_stick_topic'], array( 'stick', 'super', 'unstick' ) ) ) {
579
 
580
+ // What's the dilly?
581
+ switch ( $_POST['bbp_stick_topic'] ) {
582
 
583
+ // Sticky in forum
584
+ case 'stick' :
585
+ bbp_stick_topic( $topic_id );
586
+ break;
587
 
588
+ // Sticky in all forums
589
+ case 'super' :
590
+ bbp_stick_topic( $topic_id, true );
591
+ break;
592
 
593
+ // Normal
594
+ case 'unstick' :
595
+ default :
596
+ bbp_unstick_topic( $topic_id );
597
+ break;
 
598
  }
599
+ }
600
 
601
+ /** Update the topic ******************************************************/
 
 
 
 
 
 
 
 
 
 
602
 
603
+ // Add the content of the form to $topic_data as an array
604
+ // Just in time manipulation of topic data before being edited
605
+ $topic_data = apply_filters( 'bbp_edit_topic_pre_insert', array(
606
+ 'ID' => $topic_id,
607
+ 'post_title' => $topic_title,
608
+ 'post_content' => $topic_content,
609
+ 'post_status' => $post_status,
610
+ 'post_parent' => $forum_id,
611
+ 'tax_input' => $terms,
612
+ ) );
613
 
614
+ // Insert topic
615
+ $topic_id = wp_update_post( $topic_data );
616
 
617
+ /** Revisions *************************************************************/
618
 
619
+ // Revision Reason
620
+ if ( !empty( $_POST['bbp_topic_edit_reason'] ) )
621
+ $topic_edit_reason = esc_attr( strip_tags( $_POST['bbp_topic_edit_reason'] ) );
622
 
623
+ // Update revision log
624
+ if ( !empty( $_POST['bbp_log_topic_edit'] ) && ( 1 == $_POST['bbp_log_topic_edit'] ) && ( $revision_id = wp_save_post_revision( $topic_id ) ) ) {
625
+ bbp_update_topic_revision_log( array(
626
+ 'topic_id' => $topic_id,
627
+ 'revision_id' => $revision_id,
628
+ 'author_id' => bbp_get_current_user_id(),
629
+ 'reason' => $topic_edit_reason
630
+ ) );
631
+ }
632
 
633
+ /** No Errors *************************************************************/
634
 
635
+ if ( !empty( $topic_id ) && !is_wp_error( $topic_id ) ) {
636
 
637
+ // Update counts, etc...
638
+ do_action( 'bbp_edit_topic', $topic_id, $forum_id, $anonymous_data, $topic->post_author , true /* Is edit */ );
639
 
640
+ // If the new forum id is not equal to the old forum id, run the
641
+ // bbp_move_topic action and pass the topic's forum id as the
642
+ // first arg and topic id as the second to update counts.
643
+ if ( $forum_id != $topic->post_parent )
644
+ bbp_move_topic_handler( $topic_id, $topic->post_parent, $forum_id );
645
 
646
+ /** Additional Actions (After Save) ***********************************/
647
 
648
+ do_action( 'bbp_edit_topic_post_extras', $topic_id );
649
 
650
+ /** Redirect **********************************************************/
651
 
652
+ // Redirect to
653
+ $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
654
 
655
+ // View all?
656
+ $view_all = bbp_get_view_all();
657
 
658
+ // Get the topic URL
659
+ $topic_url = bbp_get_topic_permalink( $topic_id, $redirect_to );
660
 
661
+ // Add view all?
662
+ if ( !empty( $view_all ) )
663
+ $topic_url = bbp_add_view_all( $topic_url );
664
 
665
+ // Allow to be filtered
666
+ $topic_url = apply_filters( 'bbp_edit_topic_redirect_to', $topic_url, $view_all, $redirect_to );
667
 
668
+ /** Successful Edit ***************************************************/
669
 
670
+ // Redirect back to new topic
671
+ wp_safe_redirect( $topic_url );
672
 
673
+ // For good measure
674
+ exit();
675
 
676
+ /** Errors ****************************************************************/
677
 
678
+ } else {
679
+ $append_error = ( is_wp_error( $topic_id ) && $topic_id->get_error_message() ) ? $topic_id->get_error_message() . ' ' : '';
680
+ bbp_add_error( 'bbp_topic_error', __( '<strong>ERROR</strong>: The following problem(s) have been found with your topic:' . $append_error . 'Please try again.', 'bbpress' ) );
 
681
  }
682
  }
683
 
992
  *
993
  * @uses bbPress:errors::add() To log various error messages
994
  * @uses bbp_get_topic() To get the topics
995
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
996
  * @uses current_user_can() To check if the current user can edit the topics
997
  * @uses is_wp_error() To check if the value retrieved is a {@link WP_Error}
998
  * @uses do_action() Calls 'bbp_merge_topic' with the destination and source
1045
  $source_topic_id = (int) $_POST['bbp_topic_id'];
1046
 
1047
  // Nonce check
1048
+ if ( ! bbp_verify_nonce_request( 'bbp-merge-topic_' . $source_topic_id ) ) {
1049
+ bbp_add_error( 'bbp_merge_topic_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
1050
+ return;
1051
 
1052
  // Source topic not found
1053
+ } elseif ( !$source_topic = bbp_get_topic( $source_topic_id ) ) {
1054
  bbp_add_error( 'bbp_merge_topic_source_not_found', __( '<strong>ERROR</strong>: The topic you want to merge was not found.', 'bbpress' ) );
1055
+ return;
1056
+ }
1057
 
1058
  // Cannot edit source topic
1059
+ if ( !current_user_can( 'edit_topic', $source_topic->ID ) ) {
1060
  bbp_add_error( 'bbp_merge_topic_source_permission', __( '<strong>ERROR</strong>: You do not have the permissions to edit the source topic.', 'bbpress' ) );
1061
+ return;
1062
+ }
1063
 
1064
  /** Destination Topic *****************************************************/
1065
 
1077
  if ( !current_user_can( 'edit_topic', $destination_topic->ID ) )
1078
  bbp_add_error( 'bbp_merge_topic_destination_permission', __( '<strong>ERROR</strong>: You do not have the permissions to edit the destination topic.', 'bbpress' ) );
1079
 
1080
+ // Bail if errors
1081
+ if ( bbp_has_errors() )
1082
+ return;
1083
 
1084
+ /** No Errors *************************************************************/
1085
 
1086
+ // Update counts, etc...
1087
+ do_action( 'bbp_merge_topic', $destination_topic->ID, $source_topic->ID );
1088
 
1089
+ /** Date Check ************************************************************/
1090
 
1091
+ // Check if the destination topic is older than the source topic
1092
+ if ( strtotime( $source_topic->post_date ) < strtotime( $destination_topic->post_date ) ) {
1093
 
1094
+ // Set destination topic post_date to 1 second before source topic
1095
+ $destination_post_date = date( 'Y-m-d H:i:s', strtotime( $source_topic->post_date ) - 1 );
1096
 
1097
+ $postarr = array(
1098
+ 'ID' => $destination_topic_id,
1099
+ 'post_date' => $destination_post_date,
1100
+ 'post_date_gmt' => get_gmt_from_date( $destination_post_date )
1101
+ );
1102
 
1103
+ // Update destination topic
1104
+ wp_update_post( $postarr );
1105
+ }
1106
 
1107
+ /** Subscriptions *********************************************************/
1108
 
1109
+ // Get subscribers from source topic
1110
+ $subscribers = bbp_get_topic_subscribers( $source_topic->ID );
1111
 
1112
+ // Remove the topic from everybody's subscriptions
1113
+ if ( !empty( $subscribers ) ) {
1114
 
1115
+ // Loop through each user
1116
+ foreach ( (array) $subscribers as $subscriber ) {
1117
 
1118
+ // Shift the subscriber if told to
1119
+ if ( !empty( $_POST['bbp_topic_subscribers'] ) && ( 1 == $_POST['bbp_topic_subscribers'] ) && bbp_is_subscriptions_active() )
1120
+ bbp_add_user_subscription( $subscriber, $destination_topic->ID );
1121
 
1122
+ // Remove old subscription
1123
+ bbp_remove_user_subscription( $subscriber, $source_topic->ID );
 
1124
  }
1125
+ }
1126
 
1127
+ /** Favorites *************************************************************/
1128
 
1129
+ // Get favoriters from source topic
1130
+ $favoriters = bbp_get_topic_favoriters( $source_topic->ID );
1131
 
1132
+ // Remove the topic from everybody's favorites
1133
+ if ( !empty( $favoriters ) ) {
1134
 
1135
+ // Loop through each user
1136
+ foreach ( (array) $favoriters as $favoriter ) {
1137
 
1138
+ // Shift the favoriter if told to
1139
+ if ( !empty( $_POST['bbp_topic_favoriters'] ) && 1 == $_POST['bbp_topic_favoriters'] )
1140
+ bbp_add_user_favorite( $favoriter, $destination_topic->ID );
1141
 
1142
+ // Remove old favorite
1143
+ bbp_remove_user_favorite( $favoriter, $source_topic->ID );
 
1144
  }
1145
+ }
1146
 
1147
+ /** Tags ******************************************************************/
1148
 
1149
+ // Get the source topic tags
1150
+ $source_topic_tags = wp_get_post_terms( $source_topic->ID, bbp_get_topic_tag_tax_id(), array( 'fields' => 'names' ) );
1151
 
1152
+ // Tags to possibly merge
1153
+ if ( !empty( $source_topic_tags ) && !is_wp_error( $source_topic_tags ) ) {
1154
 
1155
+ // Shift the tags if told to
1156
+ if ( !empty( $_POST['bbp_topic_tags'] ) && ( 1 == $_POST['bbp_topic_tags'] ) )
1157
+ wp_set_post_terms( $destination_topic->ID, $source_topic_tags, bbp_get_topic_tag_tax_id(), true );
1158
 
1159
+ // Delete the tags from the source topic
1160
+ wp_delete_object_term_relationships( $source_topic->ID, bbp_get_topic_tag_tax_id() );
1161
+ }
1162
 
1163
+ /** Source Topic **********************************************************/
1164
 
1165
+ // Status
1166
+ bbp_open_topic( $source_topic->ID );
1167
 
1168
+ // Sticky
1169
+ bbp_unstick_topic( $source_topic->ID );
1170
 
1171
+ // Get the replies of the source topic
1172
+ $replies = (array) get_posts( array(
1173
+ 'post_parent' => $source_topic->ID,
1174
+ 'post_type' => bbp_get_reply_post_type(),
1175
+ 'posts_per_page' => -1,
1176
+ 'order' => 'ASC'
1177
+ ) );
1178
 
1179
+ // Prepend the source topic to its replies array for processing
1180
+ array_unshift( $replies, $source_topic );
1181
 
1182
+ if ( !empty( $replies ) ) {
1183
 
1184
+ /** Merge Replies *****************************************************/
1185
 
1186
+ // Change the post_parent of each reply to the destination topic id
1187
+ foreach ( $replies as $reply ) {
1188
+ $postarr = array(
1189
+ 'ID' => $reply->ID,
1190
+ 'post_title' => sprintf( __( 'Reply To: %s', 'bbpress' ), $destination_topic->post_title ),
1191
+ 'post_name' => false,
1192
+ 'post_type' => bbp_get_reply_post_type(),
1193
+ 'post_parent' => $destination_topic->ID,
1194
+ 'guid' => ''
1195
+ );
1196
 
1197
+ wp_update_post( $postarr );
1198
 
1199
+ // Adjust reply meta values
1200
+ bbp_update_reply_topic_id( $reply->ID, $destination_topic->ID );
1201
+ bbp_update_reply_forum_id( $reply->ID, bbp_get_topic_forum_id( $destination_topic->ID ) );
1202
 
1203
+ // Do additional actions per merged reply
1204
+ do_action( 'bbp_merged_topic_reply', $reply->ID, $destination_topic->ID );
 
1205
  }
1206
+ }
1207
 
1208
+ /** Successful Merge ******************************************************/
1209
 
1210
+ // Update topic's last meta data
1211
+ bbp_update_topic_last_reply_id ( $destination_topic->ID );
1212
+ bbp_update_topic_last_active_id ( $destination_topic->ID );
1213
+ bbp_update_topic_last_active_time( $destination_topic->ID );
1214
 
1215
+ // Send the post parent of the source topic as it has been shifted
1216
+ // (possibly to a new forum) so we need to update the counts of the
1217
+ // old forum as well as the new one
1218
+ do_action( 'bbp_merged_topic', $destination_topic->ID, $source_topic->ID, $source_topic->post_parent );
1219
 
1220
+ // Redirect back to new topic
1221
+ wp_safe_redirect( bbp_get_topic_permalink( $destination_topic->ID ) );
1222
 
1223
+ // For good measure
1224
+ exit();
 
1225
  }
1226
 
1227
  /**
1278
  * @uses bbPress:errors::add() To log various error messages
1279
  * @uses bbp_get_reply() To get the reply
1280
  * @uses bbp_get_topic() To get the topics
1281
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
1282
  * @uses current_user_can() To check if the current user can edit the topics
1283
  * @uses bbp_get_topic_post_type() To get the topic post type
1284
  * @uses is_wp_error() To check if the value retrieved is a {@link WP_Error}
1346
  if ( empty( $source_topic ) )
1347
  bbp_add_error( 'bbp_split_topic_source_not_found', __( '<strong>ERROR</strong>: The topic you want to split was not found.', 'bbpress' ) );
1348
 
1349
+ // Nonce check failed
1350
+ if ( ! bbp_verify_nonce_request( 'bbp-split-topic_' . $source_topic->ID ) ) {
1351
+ bbp_add_error( 'bbp_split_topic_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
1352
+ return;
1353
+ }
1354
 
1355
  // Use cannot edit topic
1356
  if ( !current_user_can( 'edit_topic', $source_topic->ID ) )
1357
  bbp_add_error( 'bbp_split_topic_source_permission', __( '<strong>ERROR</strong>: You do not have the permissions to edit the source topic.', 'bbpress' ) );
1358
 
1359
+ // How to Split
 
1360
  if ( !empty( $_POST['bbp_topic_split_option'] ) )
1361
  $split_option = (string) trim( $_POST['bbp_topic_split_option'] );
1362
 
1439
  }
1440
  }
1441
 
1442
+ // Bail ir there are errors
1443
+ if ( bbp_has_errors() )
1444
+ return;
1445
 
1446
+ /** No Errors - Do the Spit ***********************************************/
1447
 
1448
+ // Update counts, etc...
1449
+ do_action( 'bbp_pre_split_topic', $from_reply->ID, $source_topic->ID, $destination_topic->ID );
1450
 
1451
+ /** Subscriptions *********************************************************/
1452
 
1453
+ // Copy the subscribers
1454
+ if ( !empty( $_POST['bbp_topic_subscribers'] ) && 1 == $_POST['bbp_topic_subscribers'] && bbp_is_subscriptions_active() ) {
1455
 
1456
+ // Get the subscribers
1457
+ $subscribers = bbp_get_topic_subscribers( $source_topic->ID );
1458
 
1459
+ if ( !empty( $subscribers ) ) {
1460
 
1461
+ // Add subscribers to new topic
1462
+ foreach ( (array) $subscribers as $subscriber ) {
1463
+ bbp_add_user_subscription( $subscriber, $destination_topic->ID );
 
1464
  }
1465
  }
1466
+ }
1467
 
1468
+ /** Favorites *************************************************************/
1469
 
1470
+ // Copy the favoriters if told to
1471
+ if ( !empty( $_POST['bbp_topic_favoriters'] ) && 1 == $_POST['bbp_topic_favoriters'] ) {
1472
 
1473
+ // Get the favoriters
1474
+ $favoriters = bbp_get_topic_favoriters( $source_topic->ID );
1475
 
1476
+ if ( !empty( $favoriters ) ) {
1477
 
1478
+ // Add the favoriters to new topic
1479
+ foreach ( (array) $favoriters as $favoriter ) {
1480
+ bbp_add_user_favorite( $favoriter, $destination_topic->ID );
 
1481
  }
1482
  }
1483
+ }
1484
 
1485
+ /** Tags ******************************************************************/
1486
 
1487
+ // Copy the tags if told to
1488
+ if ( !empty( $_POST['bbp_topic_tags'] ) && ( 1 == $_POST['bbp_topic_tags'] ) ) {
1489
 
1490
+ // Get the source topic tags
1491
+ $source_topic_tags = wp_get_post_terms( $source_topic->ID, bbp_get_topic_tag_tax_id(), array( 'fields' => 'names' ) );
1492
 
1493
+ if ( !empty( $source_topic_tags ) ) {
1494
+ wp_set_post_terms( $destination_topic->ID, $source_topic_tags, bbp_get_topic_tag_tax_id(), true );
 
1495
  }
1496
+ }
1497
 
1498
+ /** Split Replies *********************************************************/
1499
 
1500
+ // get_posts() is not used because it doesn't allow us to use '>='
1501
+ // comparision without a filter.
1502
+ $replies = (array) $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->posts} WHERE {$wpdb->posts}.post_date >= %s AND {$wpdb->posts}.post_parent = %d AND {$wpdb->posts}.post_type = %s ORDER BY {$wpdb->posts}.post_date ASC", $from_reply->post_date, $source_topic->ID, bbp_get_reply_post_type() ) );
1503
 
1504
+ // Make sure there are replies to loop through
1505
+ if ( !empty( $replies ) && !is_wp_error( $replies ) ) {
1506
 
1507
+ // Change the post_parent of each reply to the destination topic id
1508
+ foreach ( $replies as $reply ) {
1509
 
1510
+ // New reply data
1511
+ $postarr = array(
1512
+ 'ID' => $reply->ID,
1513
+ 'post_title' => sprintf( __( 'Reply To: %s', 'bbpress' ), $destination_topic->post_title ),
1514
+ 'post_name' => false, // will be automatically generated
1515
+ 'post_parent' => $destination_topic->ID,
1516
+ 'guid' => ''
1517
+ );
1518
 
1519
+ // Update the reply
1520
+ wp_update_post( $postarr );
1521
 
1522
+ // Adjust reply meta values
1523
+ bbp_update_reply_topic_id( $reply->ID, $destination_topic->ID );
1524
+ bbp_update_reply_forum_id( $reply->ID, bbp_get_topic_forum_id( $destination_topic->ID ) );
1525
 
1526
+ // Do additional actions per split reply
1527
+ do_action( 'bbp_split_topic_reply', $reply->ID, $destination_topic->ID );
 
1528
  }
1529
+ }
1530
 
1531
+ // It is a new topic and we need to set some default metas to make
1532
+ // the topic display in bbp_has_topics() list
1533
+ if ( 'reply' == $split_option ) {
1534
+ $last_reply_id = ( empty( $reply ) || empty( $reply->ID ) ) ? 0 : $reply->ID;
1535
+ $freshness = ( empty( $reply ) || empty( $reply->post_date ) ) ? '' : $reply->post_date;
1536
 
1537
+ bbp_update_topic_last_reply_id ( $destination_topic->ID, $last_reply_id );
1538
+ bbp_update_topic_last_active_time( $destination_topic->ID, $freshness );
1539
+ }
1540
 
1541
+ /** Successful Split ******************************************************/
1542
 
1543
+ // Update counts, etc...
1544
+ do_action( 'bbp_post_split_topic', $from_reply->ID, $source_topic->ID, $destination_topic->ID );
1545
 
1546
+ // Redirect back to the topic
1547
+ wp_safe_redirect( bbp_get_topic_permalink( $destination_topic->ID ) );
1548
 
1549
+ // For good measure
1550
+ exit();
 
1551
  }
1552
 
1553
  /**
1598
  *
1599
  * @since bbPress (r2768)
1600
  *
1601
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
1602
  * @uses current_user_can() To check if the current user can edit/delete tags
1603
  * @uses bbPress::errors::add() To log the error messages
1604
  * @uses wp_update_term() To update the topic tag
1650
  case 'bbp-update-topic-tag' :
1651
 
1652
  // Nonce check
1653
+ if ( ! bbp_verify_nonce_request( 'update-tag_' . $tag_id ) ) {
1654
+ bbp_add_error( 'bbp_manage_topic_tag_update_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
1655
+ return;
1656
+ }
1657
 
1658
  // Can user edit topic tags?
1659
  if ( !current_user_can( 'edit_topic_tags' ) ) {
1689
  case 'bbp-merge-topic-tag' :
1690
 
1691
  // Nonce check
1692
+ if ( ! bbp_verify_nonce_request( 'merge-tag_' . $tag_id ) ) {
1693
+ bbp_add_error( 'bbp_manage_topic_tag_merge_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
1694
+ return;
1695
+ }
1696
 
1697
  // Can user edit topic tags?
1698
  if ( !current_user_can( 'edit_topic_tags' ) ) {
1746
  case 'bbp-delete-topic-tag' :
1747
 
1748
  // Nonce check
1749
+ if ( ! bbp_verify_nonce_request( 'delete-tag_' . $tag_id ) ) {
1750
+ bbp_add_error( 'bbp_manage_topic_tag_delete_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
1751
+ return;
1752
+ }
1753
 
1754
  // Can user delete topic tags?
1755
  if ( !current_user_can( 'delete_topic_tags' ) ) {
bbp-includes/bbp-user-functions.php CHANGED
@@ -422,6 +422,7 @@ function bbp_remove_user_favorite( $user_id, $topic_id ) {
422
  * Handles the front end adding and removing of favorite topics
423
  *
424
  * @uses bbp_get_user_id() To get the user id
 
425
  * @uses current_user_can() To check if the current user can edit the user
426
  * @uses bbPress:errors:add() To log the error messages
427
  * @uses bbp_is_user_favorite() To check if the topic is in user's favorites
@@ -458,62 +459,64 @@ function bbp_favorites_handler() {
458
  return;
459
 
460
  // What action is taking place?
461
- $action = $_GET['action'];
 
 
462
 
463
- // Get user_id
464
- $user_id = bbp_get_user_id( 0, true, true );
 
 
 
 
 
465
 
466
  // Check current user's ability to edit the user
467
- if ( !current_user_can( 'edit_user', $user_id ) )
468
  bbp_add_error( 'bbp_favorite_permissions', __( '<strong>ERROR</strong>: You don\'t have the permission to edit favorites of that user!', 'bbpress' ) );
 
469
 
470
- // Load favorite info
471
- $topic_id = intval( $_GET['topic_id'] );
472
- if ( empty( $topic_id ) )
473
- bbp_add_error( 'bbp_favorite_topic_id', __( '<strong>ERROR</strong>: No topic was found! Which topic are you marking/unmarking as favorite?', 'bbpress' ) );
 
474
 
475
  $is_favorite = bbp_is_user_favorite( $user_id, $topic_id );
476
  $success = false;
477
 
478
- // Handle insertion into posts table
479
- if ( !empty( $topic_id ) && !empty( $user_id ) && ( !bbp_has_errors() ) ) {
480
-
481
- if ( $is_favorite && 'bbp_favorite_remove' == $action ) {
482
- $success = bbp_remove_user_favorite( $user_id, $topic_id );
483
- } elseif ( !$is_favorite && 'bbp_favorite_add' == $action ) {
484
- $success = bbp_add_user_favorite( $user_id, $topic_id );
 
 
 
 
 
 
 
 
 
 
 
 
 
485
  }
486
 
487
- // Do additional favorites actions
488
- do_action( 'bbp_favorites_handler', $success, $user_id, $topic_id, $action );
489
-
490
- // Check for missing reply_id or error
491
- if ( true == $success ) {
492
-
493
- // Redirect back to new reply
494
- if ( bbp_is_favorites() ) {
495
- $redirect = bbp_get_favorites_permalink( $user_id );
496
- } elseif ( bbp_is_single_user() ) {
497
- $redirect = bbp_get_user_profile_url();
498
- } elseif ( is_singular( bbp_get_topic_post_type() ) ) {
499
- $redirect = bbp_get_topic_permalink( $topic_id );
500
- } elseif ( is_single() || is_page() ) {
501
- $redirect = get_permalink();
502
- }
503
-
504
- wp_safe_redirect( $redirect );
505
 
506
- // For good measure
507
- exit();
508
 
509
- // Handle errors
510
- } else {
511
- if ( $is_favorite && 'bbp_favorite_remove' == $action ) {
512
- bbp_add_error( 'bbp_favorite_remove', __( '<strong>ERROR</strong>: There was a problem removing that topic from favorites!', 'bbpress' ) );
513
- } elseif ( !$is_favorite && 'bbp_favorite_add' == $action ) {
514
- bbp_add_error( 'bbp_favorite_add', __( '<strong>ERROR</strong>: There was a problem favoriting that topic!', 'bbpress' ) );
515
- }
516
- }
517
  }
518
  }
519
 
@@ -738,6 +741,7 @@ function bbp_remove_user_subscription( $user_id, $topic_id ) {
738
  *
739
  * @uses bbp_is_subscriptions_active() To check if the subscriptions are active
740
  * @uses bbp_get_user_id() To get the user id
 
741
  * @uses current_user_can() To check if the current user can edit the user
742
  * @uses bbPress:errors:add() To log the error messages
743
  * @uses bbp_is_user_subscribed() To check if the topic is in user's
@@ -774,62 +778,65 @@ function bbp_subscriptions_handler() {
774
  if ( !in_array( $_GET['action'], $possible_actions ) )
775
  return;
776
 
777
- // What action is taking place?
778
- $action = $_GET['action'];
 
 
 
 
 
 
779
 
780
- // Get user_id
781
- $user_id = bbp_get_user_id( 0, true, true );
 
782
 
783
  // Check current user's ability to edit the user
784
- if ( !current_user_can( 'edit_user', $user_id ) )
785
  bbp_add_error( 'bbp_subscription_permissions', __( '<strong>ERROR</strong>: You don\'t have the permission to edit favorites of that user!', 'bbpress' ) );
 
786
 
787
- // Load subscription info
788
- $topic_id = intval( $_GET['topic_id'] );
789
- if ( empty( $topic_id ) )
790
- bbp_add_error( 'bbp_subscription_topic_id', __( '<strong>ERROR</strong>: No topic was found! Which topic are you subscribing/unsubscribing to?', 'bbpress' ) );
791
-
792
- if ( !bbp_has_errors() ) {
793
 
794
- $is_subscription = bbp_is_user_subscribed( $user_id, $topic_id );
795
- $success = false;
796
 
797
- if ( $is_subscription && 'bbp_unsubscribe' == $action ) {
798
- $success = bbp_remove_user_subscription( $user_id, $topic_id );
799
- } elseif ( !$is_subscription && 'bbp_subscribe' == $action ) {
800
- $success = bbp_add_user_subscription( $user_id, $topic_id );
801
- }
802
 
803
- // Do additional subscriptions actions
804
- do_action( 'bbp_subscriptions_handler', $success, $user_id, $topic_id, $action );
805
-
806
- // Check for missing reply_id or error
807
- if ( true == $success ) {
808
-
809
- // Redirect back to new reply
810
- if ( bbp_is_subscriptions() ) {
811
- $redirect = bbp_get_subscriptions_permalink( $user_id );
812
- } elseif( bbp_is_single_user() ) {
813
- $redirect = bbp_get_user_profile_url();
814
- } elseif ( is_singular( bbp_get_topic_post_type() ) ) {
815
- $redirect = bbp_get_topic_permalink( $topic_id );
816
- } elseif ( is_single() || is_page() ) {
817
- $redirect = get_permalink();
818
- }
819
 
820
- wp_safe_redirect( $redirect );
 
821
 
822
- // For good measure
823
- exit();
824
 
825
- // Handle errors
826
- } else {
827
- if ( $is_subscription && 'bbp_unsubscribe' == $action ) {
828
- bbp_add_error( 'bbp_unsubscribe', __( '<strong>ERROR</strong>: There was a problem unsubscribing from that topic!', 'bbpress' ) );
829
- } elseif ( !$is_subscription && 'bbp_subscribe' == $action ) {
830
- bbp_add_error( 'bbp_subscribe', __( '<strong>ERROR</strong>: There was a problem subscribing to that topic!', 'bbpress' ) );
831
- }
 
 
832
  }
 
 
 
 
 
 
 
 
 
 
 
833
  }
834
  }
835
 
@@ -849,7 +856,7 @@ function bbp_subscriptions_handler() {
849
  * @uses delete_option() To delete the displayed user's email id option
850
  * @uses bbp_get_user_profile_edit_url() To get the edit profile url
851
  * @uses wp_safe_redirect() To redirect to the url
852
- * @uses check_admin_referer() To verify the nonce and check the referer
853
  * @uses current_user_can() To check if the current user can edit the user
854
  * @uses do_action() Calls 'personal_options_update' or
855
  * 'edit_user_options_update' (based on if it's the user home)
@@ -907,10 +914,17 @@ function bbp_edit_user_handler() {
907
 
908
  }
909
 
910
- check_admin_referer( 'update-user_' . $user_id );
 
 
 
 
911
 
912
- if ( !current_user_can( 'edit_user', $user_id ) )
913
- wp_die( __( 'What are you doing here? You do not have the permission to edit this user.', 'bbpress' ) );
 
 
 
914
 
915
  // Do action based on who's profile you're editing
916
  $edit_action = bbp_is_user_home_edit() ? 'personal_options_update' : 'edit_user_profile_update';
@@ -1412,7 +1426,7 @@ function bbp_check_user_edit() {
1412
  $redirect = false;
1413
 
1414
  // Allow if user can manage network users, or edit-any is enabled
1415
- } elseif ( current_user_can( 'manage_network_users' ) || apply_filters( 'enable_edit_any_user_configuration', true ) ) {
1416
  $redirect = false;
1417
  }
1418
 
422
  * Handles the front end adding and removing of favorite topics
423
  *
424
  * @uses bbp_get_user_id() To get the user id
425
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
426
  * @uses current_user_can() To check if the current user can edit the user
427
  * @uses bbPress:errors:add() To log the error messages
428
  * @uses bbp_is_user_favorite() To check if the topic is in user's favorites
459
  return;
460
 
461
  // What action is taking place?
462
+ $action = $_GET['action'];
463
+ $topic_id = intval( $_GET['topic_id'] );
464
+ $user_id = bbp_get_user_id( 0, true, true );
465
 
466
+ // Check for empty topic
467
+ if ( empty( $topic_id ) ) {
468
+ bbp_add_error( 'bbp_favorite_topic_id', __( '<strong>ERROR</strong>: No topic was found! Which topic are you marking/unmarking as favorite?', 'bbpress' ) );
469
+
470
+ // Check nonce
471
+ } elseif ( ! bbp_verify_nonce_request( 'toggle-favorite_' . $topic_id ) ) {
472
+ bbp_add_error( 'bbp_favorite_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
473
 
474
  // Check current user's ability to edit the user
475
+ } elseif ( !current_user_can( 'edit_user', $user_id ) ) {
476
  bbp_add_error( 'bbp_favorite_permissions', __( '<strong>ERROR</strong>: You don\'t have the permission to edit favorites of that user!', 'bbpress' ) );
477
+ }
478
 
479
+ // Bail if errors
480
+ if ( bbp_has_errors() )
481
+ return;
482
+
483
+ /** No errors *************************************************************/
484
 
485
  $is_favorite = bbp_is_user_favorite( $user_id, $topic_id );
486
  $success = false;
487
 
488
+ if ( true == $is_favorite && 'bbp_favorite_remove' == $action )
489
+ $success = bbp_remove_user_favorite( $user_id, $topic_id );
490
+ elseif ( false == $is_favorite && 'bbp_favorite_add' == $action )
491
+ $success = bbp_add_user_favorite( $user_id, $topic_id );
492
+
493
+ // Do additional favorites actions
494
+ do_action( 'bbp_favorites_handler', $success, $user_id, $topic_id, $action );
495
+
496
+ // Success!
497
+ if ( true == $success ) {
498
+
499
+ // Redirect back from whence we came
500
+ if ( bbp_is_favorites() ) {
501
+ $redirect = bbp_get_favorites_permalink( $user_id );
502
+ } elseif ( bbp_is_single_user() ) {
503
+ $redirect = bbp_get_user_profile_url();
504
+ } elseif ( is_singular( bbp_get_topic_post_type() ) ) {
505
+ $redirect = bbp_get_topic_permalink( $topic_id );
506
+ } elseif ( is_single() || is_page() ) {
507
+ $redirect = get_permalink();
508
  }
509
 
510
+ wp_safe_redirect( $redirect );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
511
 
512
+ // For good measure
513
+ exit();
514
 
515
+ // Fail! Handle errors
516
+ } elseif ( true == $is_favorite && 'bbp_favorite_remove' == $action ) {
517
+ bbp_add_error( 'bbp_favorite_remove', __( '<strong>ERROR</strong>: There was a problem removing that topic from favorites!', 'bbpress' ) );
518
+ } elseif ( false == $is_favorite && 'bbp_favorite_add' == $action ) {
519
+ bbp_add_error( 'bbp_favorite_add', __( '<strong>ERROR</strong>: There was a problem favoriting that topic!', 'bbpress' ) );
 
 
 
520
  }
521
  }
522
 
741
  *
742
  * @uses bbp_is_subscriptions_active() To check if the subscriptions are active
743
  * @uses bbp_get_user_id() To get the user id
744
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
745
  * @uses current_user_can() To check if the current user can edit the user
746
  * @uses bbPress:errors:add() To log the error messages
747
  * @uses bbp_is_user_subscribed() To check if the topic is in user's
778
  if ( !in_array( $_GET['action'], $possible_actions ) )
779
  return;
780
 
781
+ // Get required data
782
+ $action = $_GET['action'];
783
+ $user_id = bbp_get_user_id( 0, true, true );
784
+ $topic_id = intval( $_GET['topic_id'] );
785
+
786
+ // Check for empty topic
787
+ if ( empty( $topic_id ) ) {
788
+ bbp_add_error( 'bbp_subscription_topic_id', __( '<strong>ERROR</strong>: No topic was found! Which topic are you subscribing/unsubscribing to?', 'bbpress' ) );
789
 
790
+ // Check nonce
791
+ } elseif ( ! bbp_verify_nonce_request( 'toggle-subscription_' . $topic_id ) ) {
792
+ bbp_add_error( 'bbp_subscription_topic_id', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
793
 
794
  // Check current user's ability to edit the user
795
+ } elseif ( !current_user_can( 'edit_user', $user_id ) ) {
796
  bbp_add_error( 'bbp_subscription_permissions', __( '<strong>ERROR</strong>: You don\'t have the permission to edit favorites of that user!', 'bbpress' ) );
797
+ }
798
 
799
+ // Bail if we have errors
800
+ if ( bbp_has_errors() )
801
+ return;
 
 
 
802
 
803
+ /** No errors *************************************************************/
 
804
 
805
+ $is_subscription = bbp_is_user_subscribed( $user_id, $topic_id );
806
+ $success = false;
 
 
 
807
 
808
+ if ( true == $is_subscription && 'bbp_unsubscribe' == $action )
809
+ $success = bbp_remove_user_subscription( $user_id, $topic_id );
810
+ elseif ( false == $is_subscription && 'bbp_subscribe' == $action )
811
+ $success = bbp_add_user_subscription( $user_id, $topic_id );
 
 
 
 
 
 
 
 
 
 
 
 
812
 
813
+ // Do additional subscriptions actions
814
+ do_action( 'bbp_subscriptions_handler', $success, $user_id, $topic_id, $action );
815
 
816
+ // Success!
817
+ if ( true == $success ) {
818
 
819
+ // Redirect back from whence we came
820
+ if ( bbp_is_subscriptions() ) {
821
+ $redirect = bbp_get_subscriptions_permalink( $user_id );
822
+ } elseif( bbp_is_single_user() ) {
823
+ $redirect = bbp_get_user_profile_url();
824
+ } elseif ( is_singular( bbp_get_topic_post_type() ) ) {
825
+ $redirect = bbp_get_topic_permalink( $topic_id );
826
+ } elseif ( is_single() || is_page() ) {
827
+ $redirect = get_permalink();
828
  }
829
+
830
+ wp_safe_redirect( $redirect );
831
+
832
+ // For good measure
833
+ exit();
834
+
835
+ // Fail! Handle errors
836
+ } elseif ( true == $is_subscription && 'bbp_unsubscribe' == $action ) {
837
+ bbp_add_error( 'bbp_unsubscribe', __( '<strong>ERROR</strong>: There was a problem unsubscribing from that topic!', 'bbpress' ) );
838
+ } elseif ( false == $is_subscription && 'bbp_subscribe' == $action ) {
839
+ bbp_add_error( 'bbp_subscribe', __( '<strong>ERROR</strong>: There was a problem subscribing to that topic!', 'bbpress' ) );
840
  }
841
  }
842
 
856
  * @uses delete_option() To delete the displayed user's email id option
857
  * @uses bbp_get_user_profile_edit_url() To get the edit profile url
858
  * @uses wp_safe_redirect() To redirect to the url
859
+ * @uses bbp_verify_nonce_request() To verify the nonce and check the request
860
  * @uses current_user_can() To check if the current user can edit the user
861
  * @uses do_action() Calls 'personal_options_update' or
862
  * 'edit_user_options_update' (based on if it's the user home)
914
 
915
  }
916
 
917
+ // Nonce check
918
+ if ( ! bbp_verify_nonce_request( 'update-user_' . $user_id ) ) {
919
+ bbp_add_error( 'bbp_update_user_nonce', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
920
+ return;
921
+ }
922
 
923
+ // Cap check
924
+ if ( ! current_user_can( 'edit_user', $user_id ) ) {
925
+ bbp_add_error( 'bbp_update_user_capability', __( '<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress' ) );
926
+ return;
927
+ }
928
 
929
  // Do action based on who's profile you're editing
930
  $edit_action = bbp_is_user_home_edit() ? 'personal_options_update' : 'edit_user_profile_update';
1426
  $redirect = false;
1427
 
1428
  // Allow if user can manage network users, or edit-any is enabled
1429
+ } elseif ( current_user_can( 'manage_network_users' ) || apply_filters( 'enable_edit_any_user_configuration', false ) ) {
1430
  $redirect = false;
1431
  }
1432
 
bbp-languages/bbpress.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the bbPress package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: bbPress 2.1-rc1\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/bbpress\n"
7
- "POT-Creation-Date: 2012-06-27 04:01:25+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -22,7 +22,7 @@ msgid "Forum Repair"
22
  msgstr ""
23
 
24
  #: bbp-admin/bbp-admin.php:186 bbp-admin/bbp-functions.php:195
25
- #: bbp-admin/bbp-settings.php:1211
26
  msgid "Import Forums"
27
  msgstr ""
28
 
@@ -110,7 +110,7 @@ msgid ""
110
  msgstr ""
111
 
112
  #: bbp-admin/bbp-converter.php:63 bbp-admin/bbp-settings.php:24
113
- #: bbp-admin/bbp-settings.php:1259
114
  msgid "Main Settings"
115
  msgstr ""
116
 
@@ -239,7 +239,7 @@ msgid "<span title=\"%s\">View Query</span>%s"
239
  msgstr ""
240
 
241
  #: bbp-admin/bbp-forums.php:118 bbp-admin/bbp-replies.php:130
242
- #: bbp-admin/bbp-settings.php:1251 bbp-admin/bbp-topics.php:130
243
  msgid "Overview"
244
  msgstr ""
245
 
@@ -349,14 +349,14 @@ msgstr ""
349
 
350
  #: bbp-admin/bbp-forums.php:163 bbp-admin/bbp-forums.php:243
351
  #: bbp-admin/bbp-replies.php:175 bbp-admin/bbp-replies.php:252
352
- #: bbp-admin/bbp-settings.php:1296 bbp-admin/bbp-topics.php:175
353
  #: bbp-admin/bbp-topics.php:252
354
  msgid "For more information:"
355
  msgstr ""
356
 
357
  #: bbp-admin/bbp-forums.php:164 bbp-admin/bbp-forums.php:244
358
  #: bbp-admin/bbp-replies.php:176 bbp-admin/bbp-replies.php:253
359
- #: bbp-admin/bbp-settings.php:1297 bbp-admin/bbp-topics.php:176
360
  #: bbp-admin/bbp-topics.php:253
361
  msgid ""
362
  "<a href=\"http://bbpress.org/documentation/\" target=\"_blank\">bbPress "
@@ -365,7 +365,7 @@ msgstr ""
365
 
366
  #: bbp-admin/bbp-forums.php:165 bbp-admin/bbp-forums.php:245
367
  #: bbp-admin/bbp-replies.php:177 bbp-admin/bbp-replies.php:254
368
- #: bbp-admin/bbp-settings.php:1298 bbp-admin/bbp-topics.php:177
369
  #: bbp-admin/bbp-topics.php:254
370
  msgid ""
371
  "<a href=\"http://bbpress.org/forums/\" target=\"_blank\">bbPress Support "
@@ -514,8 +514,8 @@ msgstr ""
514
  msgid "Forum"
515
  msgstr ""
516
 
517
- #: bbp-admin/bbp-forums.php:423 bbp-admin/bbp-settings.php:181
518
- #: bbp-admin/bbp-settings.php:204 bbp-admin/bbp-topics.php:677
519
  #: bbp-includes/bbp-extend-buddypress.php:432
520
  #: bbp-includes/bbp-extend-buddypress.php:1434
521
  #: bbp-includes/bbp-forum-template.php:2272
@@ -527,8 +527,8 @@ msgstr ""
527
  msgid "Topics"
528
  msgstr ""
529
 
530
- #: bbp-admin/bbp-forums.php:424 bbp-admin/bbp-settings.php:190
531
- #: bbp-admin/bbp-settings.php:213 bbp-admin/bbp-topics.php:679
532
  #: bbp-includes/bbp-extend-buddypress.php:433
533
  #: bbp-includes/bbp-forum-template.php:2336
534
  #: bbp-includes/bbp-theme-compatibility.php:493
@@ -1072,7 +1072,7 @@ msgstr ""
1072
  msgid "Theme Packages"
1073
  msgstr ""
1074
 
1075
- #: bbp-admin/bbp-settings.php:34 bbp-admin/bbp-settings.php:1278
1076
  msgid "Per Page"
1077
  msgstr ""
1078
 
@@ -1100,415 +1100,415 @@ msgstr ""
1100
  msgid "Lock post editing after"
1101
  msgstr ""
1102
 
1103
- #: bbp-admin/bbp-settings.php:90
1104
  msgid "Throttle time"
1105
  msgstr ""
1106
 
1107
- #: bbp-admin/bbp-settings.php:99
1108
  msgid "Allow Revisions"
1109
  msgstr ""
1110
 
1111
- #: bbp-admin/bbp-settings.php:108
1112
  msgid "Allow Favorites"
1113
  msgstr ""
1114
 
1115
- #: bbp-admin/bbp-settings.php:117
1116
  msgid "Allow Subscriptions"
1117
  msgstr ""
1118
 
1119
- #: bbp-admin/bbp-settings.php:126
1120
  msgid "Allow Anonymous Posting"
1121
  msgstr ""
1122
 
1123
- #: bbp-admin/bbp-settings.php:135
1124
  msgid "Allow Global Access"
1125
  msgstr ""
1126
 
1127
- #: bbp-admin/bbp-settings.php:144
1128
  msgid "Fancy Editor"
1129
  msgstr ""
1130
 
1131
- #: bbp-admin/bbp-settings.php:153
1132
  msgid "Auto-embed Links"
1133
  msgstr ""
1134
 
1135
- #: bbp-admin/bbp-settings.php:167
1136
  msgid "Current Package"
1137
  msgstr ""
1138
 
1139
- #: bbp-admin/bbp-settings.php:227 bbp-admin/bbp-settings.php:1391
1140
  msgid "Forums base"
1141
  msgstr ""
1142
 
1143
- #: bbp-admin/bbp-settings.php:236 bbp-admin/bbp-settings.php:1394
1144
  msgid "Topics base"
1145
  msgstr ""
1146
 
1147
- #: bbp-admin/bbp-settings.php:250
1148
  msgid "Forum Prefix"
1149
  msgstr ""
1150
 
1151
- #: bbp-admin/bbp-settings.php:259 bbp-admin/bbp-settings.php:1397
1152
  msgid "Forum slug"
1153
  msgstr ""
1154
 
1155
- #: bbp-admin/bbp-settings.php:268 bbp-admin/bbp-settings.php:1400
1156
  msgid "Topic slug"
1157
  msgstr ""
1158
 
1159
- #: bbp-admin/bbp-settings.php:277 bbp-admin/bbp-settings.php:1412
1160
  msgid "Topic tag slug"
1161
  msgstr ""
1162
 
1163
- #: bbp-admin/bbp-settings.php:286 bbp-admin/bbp-settings.php:1403
1164
  msgid "Reply slug"
1165
  msgstr ""
1166
 
1167
- #: bbp-admin/bbp-settings.php:295
1168
  msgid "User slug"
1169
  msgstr ""
1170
 
1171
- #: bbp-admin/bbp-settings.php:304
1172
  msgid "Topic view slug"
1173
  msgstr ""
1174
 
1175
- #: bbp-admin/bbp-settings.php:318
1176
  msgid "Enable Group Forums"
1177
  msgstr ""
1178
 
1179
- #: bbp-admin/bbp-settings.php:327
1180
  msgid "Group Forums Parent"
1181
  msgstr ""
1182
 
1183
- #: bbp-admin/bbp-settings.php:341
1184
  msgid "Use Akismet"
1185
  msgstr ""
1186
 
1187
- #: bbp-admin/bbp-settings.php:380
1188
  msgid "Main forum settings for enabling features and setting time limits"
1189
  msgstr ""
1190
 
1191
- #: bbp-admin/bbp-settings.php:396 bbp-includes/bbp-common-functions.php:121
1192
  msgid "minutes"
1193
  msgstr ""
1194
 
1195
- #: bbp-admin/bbp-settings.php:412 bbp-includes/bbp-common-functions.php:122
1196
  msgid "seconds"
1197
  msgstr ""
1198
 
1199
- #: bbp-admin/bbp-settings.php:428
1200
  msgid "Allow users to mark topics as favorites"
1201
  msgstr ""
1202
 
1203
- #: bbp-admin/bbp-settings.php:444
1204
  msgid "Allow users to subscribe to topics"
1205
  msgstr ""
1206
 
1207
- #: bbp-admin/bbp-settings.php:460
1208
  msgid "Allow topic and reply revision logging"
1209
  msgstr ""
1210
 
1211
- #: bbp-admin/bbp-settings.php:476
1212
  msgid "Allow guest users without accounts to create topics and replies"
1213
  msgstr ""
1214
 
1215
- #: bbp-admin/bbp-settings.php:492
1216
  msgid ""
1217
  "Allow all users of your multisite installation to create topics and replies"
1218
  msgstr ""
1219
 
1220
- #: bbp-admin/bbp-settings.php:508 bbp-admin/bbp-settings.php:556
1221
  msgid "Use the fancy WordPress editor to create and edit topics and replies"
1222
  msgstr ""
1223
 
1224
- #: bbp-admin/bbp-settings.php:521
1225
  msgid "How your forum content is displayed within your existing theme."
1226
  msgstr ""
1227
 
1228
- #: bbp-admin/bbp-settings.php:545
1229
  msgid "%1$s - %2$s"
1230
  msgstr ""
1231
 
1232
- #: bbp-admin/bbp-settings.php:551
1233
  msgid "will serve all bbPress templates"
1234
  msgstr ""
1235
 
1236
- #: bbp-admin/bbp-settings.php:572
1237
  msgid ""
1238
  "Embed media (YouTube, Twitter, Flickr, etc...) directly into topics and "
1239
  "replies."
1240
  msgstr ""
1241
 
1242
- #: bbp-admin/bbp-settings.php:587
1243
  msgid "How many topics and replies to show per page"
1244
  msgstr ""
1245
 
1246
- #: bbp-admin/bbp-settings.php:603 bbp-admin/bbp-settings.php:619
1247
- #: bbp-admin/bbp-settings.php:650 bbp-admin/bbp-settings.php:666
1248
  msgid "per page"
1249
  msgstr ""
1250
 
1251
- #: bbp-admin/bbp-settings.php:634
1252
  msgid "How many topics and replies to show per RSS page"
1253
  msgstr ""
1254
 
1255
- #: bbp-admin/bbp-settings.php:684
1256
  msgid ""
1257
  "Custom root slugs to prefix your forums and topics with. These can be "
1258
  "partnered with WordPress pages to allow more flexibility."
1259
  msgstr ""
1260
 
1261
- #: bbp-admin/bbp-settings.php:733
1262
  msgid ""
1263
  "Custom slugs for single forums, topics, replies, tags, users, and views "
1264
  "here. If you change these, existing permalinks will also change."
1265
  msgstr ""
1266
 
1267
- #: bbp-admin/bbp-settings.php:749
1268
  msgid "Prefix your forum area with the Forum Base slug (Recommended)"
1269
  msgstr ""
1270
 
1271
- #: bbp-admin/bbp-settings.php:869
1272
  msgid "Forum settings for BuddyPress"
1273
  msgstr ""
1274
 
1275
- #: bbp-admin/bbp-settings.php:885
1276
  msgid "Allow BuddyPress Groups to have their own forums"
1277
  msgstr ""
1278
 
1279
- #: bbp-admin/bbp-settings.php:903
1280
  msgid "(Forum Root)"
1281
  msgstr ""
1282
 
1283
- #: bbp-admin/bbp-settings.php:909
1284
  msgid "is the parent for all group forums"
1285
  msgstr ""
1286
 
1287
- #: bbp-admin/bbp-settings.php:910
1288
  msgid ""
1289
  "Using the Forum Root is not recommended. Changing this does not move "
1290
  "existing forums."
1291
  msgstr ""
1292
 
1293
- #: bbp-admin/bbp-settings.php:925
1294
  msgid "Forum settings for Akismet"
1295
  msgstr ""
1296
 
1297
- #: bbp-admin/bbp-settings.php:942
1298
  msgid "Allow Akismet to actively prevent forum spam."
1299
  msgstr ""
1300
 
1301
- #: bbp-admin/bbp-settings.php:965
1302
  msgid "bbPress Settings"
1303
  msgstr ""
1304
 
1305
- #: bbp-admin/bbp-settings.php:974
1306
  #: bbp-theme-compat/bbpress/form-user-edit.php:169
1307
  #: bbp-themes/bbp-twentyten/bbpress/form-user-edit.php:169
1308
  msgid "Save Changes"
1309
  msgstr ""
1310
 
1311
- #: bbp-admin/bbp-settings.php:993
1312
  msgid ""
1313
  "Information about your previous forums database so that they can be "
1314
  "converted. <strong>Backup your database before proceeding.</strong>"
1315
  msgstr ""
1316
 
1317
- #: bbp-admin/bbp-settings.php:1018
1318
  msgid "is the previous forum software"
1319
  msgstr ""
1320
 
1321
- #: bbp-admin/bbp-settings.php:1032
1322
  msgid "IP or hostname"
1323
  msgstr ""
1324
 
1325
- #: bbp-admin/bbp-settings.php:1046
1326
  msgid "Use default 3306 if unsure"
1327
  msgstr ""
1328
 
1329
- #: bbp-admin/bbp-settings.php:1060
1330
  msgid "User for your database connection"
1331
  msgstr ""
1332
 
1333
- #: bbp-admin/bbp-settings.php:1074
1334
  msgid "Password to access the database"
1335
  msgstr ""
1336
 
1337
- #: bbp-admin/bbp-settings.php:1088
1338
  msgid "Name of the database with your old forum data"
1339
  msgstr ""
1340
 
1341
- #: bbp-admin/bbp-settings.php:1101
1342
  msgid "Some optional parameters to help tune the convertion process."
1343
  msgstr ""
1344
 
1345
- #: bbp-admin/bbp-settings.php:1115
1346
  msgid ""
1347
  "(If converting from BuddyPress Forums, use \"wp_bb_\" or your custom prefix)"
1348
  msgstr ""
1349
 
1350
- #: bbp-admin/bbp-settings.php:1129
1351
  msgid "rows to process at a time"
1352
  msgstr ""
1353
 
1354
- #: bbp-admin/bbp-settings.php:1130
1355
  msgid "Keep this low if you experience out-of-memory issues."
1356
  msgstr ""
1357
 
1358
- #: bbp-admin/bbp-settings.php:1144
1359
  msgid "second(s) delay between each group of rows"
1360
  msgstr ""
1361
 
1362
- #: bbp-admin/bbp-settings.php:1145
1363
  msgid "Keep this high to prevent too-many-connection issues."
1364
  msgstr ""
1365
 
1366
- #: bbp-admin/bbp-settings.php:1159
1367
  msgid "Purge all information from a previously attempted import"
1368
  msgstr ""
1369
 
1370
- #: bbp-admin/bbp-settings.php:1160
1371
  msgid "Use this if an import failed and you want to start over from scratch."
1372
  msgstr ""
1373
 
1374
- #: bbp-admin/bbp-settings.php:1174
1375
  msgid "Restart the conversion process"
1376
  msgstr ""
1377
 
1378
- #: bbp-admin/bbp-settings.php:1175
1379
  msgid "The importer keeps track of where it left off in the event of failure."
1380
  msgstr ""
1381
 
1382
- #: bbp-admin/bbp-settings.php:1189
1383
  msgid "Attempt to import user accounts from previous forums"
1384
  msgstr ""
1385
 
1386
- #: bbp-admin/bbp-settings.php:1190
1387
  msgid ""
1388
  "Non-bbPress passwords cannot be automatically converted. They will be "
1389
  "converted as each user logs in."
1390
  msgstr ""
1391
 
1392
- #: bbp-admin/bbp-settings.php:1220
1393
  msgid "Start"
1394
  msgstr ""
1395
 
1396
- #: bbp-admin/bbp-settings.php:1221
1397
  msgid "Stop"
1398
  msgstr ""
1399
 
1400
- #: bbp-admin/bbp-settings.php:1252
1401
  msgid "This screen provides access to all of the bbPress settings."
1402
  msgstr ""
1403
 
1404
- #: bbp-admin/bbp-settings.php:1253
1405
  msgid ""
1406
  "Please see the additional help tabs for more information on each indiviual "
1407
  "section."
1408
  msgstr ""
1409
 
1410
- #: bbp-admin/bbp-settings.php:1260
1411
  msgid "In the Main Settings you have a number of options:"
1412
  msgstr ""
1413
 
1414
- #: bbp-admin/bbp-settings.php:1263
1415
  msgid ""
1416
  "You can choose to lock a post after a certain number of minutes. \"Locking "
1417
  "post editing\" will prevent the author from editing some amount of time "
1418
  "after saving a post."
1419
  msgstr ""
1420
 
1421
- #: bbp-admin/bbp-settings.php:1264
1422
  msgid ""
1423
  "\"Throttle time\" is the amount of time required between posts from a single "
1424
  "author. The higher the throttle time, the longer a user will need to wait "
1425
  "between posting to the forum."
1426
  msgstr ""
1427
 
1428
- #: bbp-admin/bbp-settings.php:1265
1429
  msgid ""
1430
  "Favorites are a way for users to save and later return to topics they favor. "
1431
  "This is enabled by default."
1432
  msgstr ""
1433
 
1434
- #: bbp-admin/bbp-settings.php:1266
1435
  msgid ""
1436
  "Subscriptions allow users to subscribe for notifications to topics that "
1437
  "interest them. This is enabled by default."
1438
  msgstr ""
1439
 
1440
- #: bbp-admin/bbp-settings.php:1267
1441
  msgid ""
1442
  "\"Anonymous Posting\" allows guest users who do not have accounts on your "
1443
  "site to both create topics as well as replies."
1444
  msgstr ""
1445
 
1446
- #: bbp-admin/bbp-settings.php:1268
1447
  msgid ""
1448
  "The Fancy Editor brings the luxury of the Visual editor and HTML editor from "
1449
  "the traditional WordPress dashboard into your theme."
1450
  msgstr ""
1451
 
1452
- #: bbp-admin/bbp-settings.php:1269
1453
  msgid ""
1454
  "Auto-embed will embed the media content from a URL directly into the "
1455
  "replies. For example: links to Flickr and YouTube."
1456
  msgstr ""
1457
 
1458
- #: bbp-admin/bbp-settings.php:1272
1459
  msgid ""
1460
  "You must click the Save Changes button at the bottom of the screen for new "
1461
  "settings to take effect."
1462
  msgstr ""
1463
 
1464
- #: bbp-admin/bbp-settings.php:1279
1465
  msgid ""
1466
  "Per Page settings allow you to control the number of topics and replies "
1467
  "appear on each page."
1468
  msgstr ""
1469
 
1470
- #: bbp-admin/bbp-settings.php:1280
1471
  msgid ""
1472
  "This is comparable to the WordPress \"Reading Settings\" page, where you can "
1473
  "set the number of posts that should show on blog pages and in feeds."
1474
  msgstr ""
1475
 
1476
- #: bbp-admin/bbp-settings.php:1281
1477
  msgid ""
1478
  "These are broken up into two separate groups: one for what appears in your "
1479
  "theme, another for RSS feeds."
1480
  msgstr ""
1481
 
1482
- #: bbp-admin/bbp-settings.php:1287
1483
  msgid "Slugs"
1484
  msgstr ""
1485
 
1486
- #: bbp-admin/bbp-settings.php:1288
1487
  msgid ""
1488
  "The Slugs section allows you to control the permalink structure for your "
1489
  "forums."
1490
  msgstr ""
1491
 
1492
- #: bbp-admin/bbp-settings.php:1289
1493
  msgid ""
1494
  "\"Archive Slugs\" are used as the \"root\" for your forums and topics. If "
1495
  "you combine these values with existing page slugs, bbPress will attempt to "
1496
  "output the most correct title and content."
1497
  msgstr ""
1498
 
1499
- #: bbp-admin/bbp-settings.php:1290
1500
  msgid ""
1501
  "\"Single Slugs\" are used as a prefix when viewing an individual forum, "
1502
  "topic, reply, user, or view."
1503
  msgstr ""
1504
 
1505
- #: bbp-admin/bbp-settings.php:1291
1506
  msgid ""
1507
  "In the event of a slug collision with WordPress or BuddyPress, a warning "
1508
  "will appear next to the problem slug(s)."
1509
  msgstr ""
1510
 
1511
- #: bbp-admin/bbp-settings.php:1376 bbp-theme-compat/bbpress/loop-forums.php:21
1512
  #: bbp-theme-compat/bbpress/loop-replies.php:24
1513
  #: bbp-theme-compat/bbpress/loop-replies.php:58
1514
  #: bbp-theme-compat/bbpress/loop-topics.php:21
@@ -1519,43 +1519,43 @@ msgstr ""
1519
  msgid "Posts"
1520
  msgstr ""
1521
 
1522
- #: bbp-admin/bbp-settings.php:1377
1523
  msgid "Pages"
1524
  msgstr ""
1525
 
1526
- #: bbp-admin/bbp-settings.php:1378
1527
  msgid "Revisions"
1528
  msgstr ""
1529
 
1530
- #: bbp-admin/bbp-settings.php:1379
1531
  msgid "Attachments"
1532
  msgstr ""
1533
 
1534
- #: bbp-admin/bbp-settings.php:1380
1535
  msgid "Menus"
1536
  msgstr ""
1537
 
1538
- #: bbp-admin/bbp-settings.php:1383
1539
  msgid "Tag base"
1540
  msgstr ""
1541
 
1542
- #: bbp-admin/bbp-settings.php:1386
1543
  msgid "Category base"
1544
  msgstr ""
1545
 
1546
- #: bbp-admin/bbp-settings.php:1406
1547
  msgid "User base"
1548
  msgstr ""
1549
 
1550
- #: bbp-admin/bbp-settings.php:1409
1551
  msgid "View base"
1552
  msgstr ""
1553
 
1554
- #: bbp-admin/bbp-settings.php:1424
1555
  msgid "%s page"
1556
  msgstr ""
1557
 
1558
- #: bbp-admin/bbp-settings.php:1443
1559
  msgid "Possible %1$s conflict: <strong>%2$s</strong>"
1560
  msgstr ""
1561
 
@@ -1718,12 +1718,12 @@ msgstr ""
1718
  msgid "All Forums"
1719
  msgstr ""
1720
 
1721
- #: bbp-admin/bbp-tools.php:816 bbp-includes/bbp-topic-functions.php:3088
1722
  #: bbpress.php:535
1723
  msgid "All Topics"
1724
  msgstr ""
1725
 
1726
- #: bbp-admin/bbp-tools.php:817 bbp-includes/bbp-reply-functions.php:1408
1727
  #: bbpress.php:592
1728
  msgid "All Replies"
1729
  msgstr ""
@@ -2207,7 +2207,7 @@ msgid ""
2207
  "Login and visit the topic to unsubscribe from these emails."
2208
  msgstr ""
2209
 
2210
- #: bbp-includes/bbp-common-functions.php:1628
2211
  msgid ""
2212
  "Conditional query tags do not work before the query is run. Before then, "
2213
  "they always return false."
@@ -2227,8 +2227,8 @@ msgstr ""
2227
 
2228
  #: bbp-includes/bbp-common-template.php:1344
2229
  #: bbp-includes/bbp-common-template.php:1355
2230
- #: bbp-includes/bbp-topic-functions.php:1180
2231
- #: bbp-includes/bbp-topic-functions.php:1500
2232
  #: bbp-theme-compat/bbpress/form-reply.php:29
2233
  #: bbp-themes/bbp-twentyten/bbpress/form-reply.php:29
2234
  msgid "Reply To: %s"
@@ -2460,28 +2460,28 @@ msgstr ""
2460
  msgid "Maximum replies to show:"
2461
  msgstr ""
2462
 
2463
- #: bbp-includes/bbp-extend-akismet.php:302
2464
  msgid "%1$s reported this %2$s as spam"
2465
  msgstr ""
2466
 
2467
- #: bbp-includes/bbp-extend-akismet.php:309
2468
  msgid "%1$s reported this %2$s as not spam"
2469
  msgstr ""
2470
 
2471
- #: bbp-includes/bbp-extend-akismet.php:451
2472
  msgid "Akismet caught this post as spam"
2473
  msgstr ""
2474
 
2475
- #: bbp-includes/bbp-extend-akismet.php:455
2476
- #: bbp-includes/bbp-extend-akismet.php:470
2477
  msgid "Post status was changed to %s"
2478
  msgstr ""
2479
 
2480
- #: bbp-includes/bbp-extend-akismet.php:463
2481
  msgid "Akismet cleared this post"
2482
  msgstr ""
2483
 
2484
- #: bbp-includes/bbp-extend-akismet.php:477
2485
  msgid ""
2486
  "Akismet was unable to check this post (response: %s), will automatically "
2487
  "retry again later."
@@ -2558,77 +2558,95 @@ msgstr ""
2558
  msgid "Forum:"
2559
  msgstr ""
2560
 
2561
- #: bbp-includes/bbp-forum-functions.php:131
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2562
  msgid ""
2563
  "<strong>ERROR</strong>: You do not have permission to create new forums."
2564
  msgstr ""
2565
 
2566
- #: bbp-includes/bbp-forum-functions.php:153
2567
- #: bbp-includes/bbp-forum-functions.php:457
2568
  msgid "<strong>ERROR</strong>: Your forum needs a title."
2569
  msgstr ""
2570
 
2571
- #: bbp-includes/bbp-forum-functions.php:165
2572
- #: bbp-includes/bbp-forum-functions.php:469
2573
  msgid "<strong>ERROR</strong>: Your forum description cannot be empty."
2574
  msgstr ""
2575
 
2576
- #: bbp-includes/bbp-forum-functions.php:178
2577
  msgid "<strong>ERROR</strong>: Your forum must have a parent."
2578
  msgstr ""
2579
 
2580
- #: bbp-includes/bbp-forum-functions.php:185
2581
  msgid ""
2582
  "<strong>ERROR</strong>: This forum is a category. No forums can be created "
2583
  "in this forum."
2584
  msgstr ""
2585
 
2586
- #: bbp-includes/bbp-forum-functions.php:190
2587
- #: bbp-includes/bbp-forum-functions.php:433
2588
  msgid "<strong>ERROR</strong>: This forum has been closed to new forums."
2589
  msgstr ""
2590
 
2591
- #: bbp-includes/bbp-forum-functions.php:195
2592
- #: bbp-includes/bbp-forum-functions.php:438
2593
  msgid ""
2594
  "<strong>ERROR</strong>: This forum is private and you do not have the "
2595
  "capability to read or create new forums in it."
2596
  msgstr ""
2597
 
2598
- #: bbp-includes/bbp-forum-functions.php:200
2599
- #: bbp-includes/bbp-forum-functions.php:443
2600
  msgid ""
2601
  "<strong>ERROR</strong>: This forum is hidden and you do not have the "
2602
  "capability to read or create new forums in it."
2603
  msgstr ""
2604
 
2605
- #: bbp-includes/bbp-forum-functions.php:207
2606
- #: bbp-includes/bbp-reply-functions.php:203
2607
- #: bbp-includes/bbp-topic-functions.php:225
2608
  msgid "<strong>ERROR</strong>: Slow down; you move too fast."
2609
  msgstr ""
2610
 
2611
- #: bbp-includes/bbp-forum-functions.php:212
2612
  msgid "<strong>ERROR</strong>: This forum already exists."
2613
  msgstr ""
2614
 
2615
- #: bbp-includes/bbp-forum-functions.php:217
2616
  msgid "<strong>ERROR</strong>: Your forum cannot be created at this time."
2617
  msgstr ""
2618
 
2619
- #: bbp-includes/bbp-forum-functions.php:388
2620
  msgid "<strong>ERROR</strong>: Forum ID not found."
2621
  msgstr ""
2622
 
2623
- #: bbp-includes/bbp-forum-functions.php:398
2624
  msgid "<strong>ERROR</strong>: The forum you want to edit was not found."
2625
  msgstr ""
2626
 
2627
- #: bbp-includes/bbp-forum-functions.php:408
2628
  msgid "<strong>ERROR</strong>: You do not have permission to edit that forum."
2629
  msgstr ""
2630
 
2631
- #: bbp-includes/bbp-forum-functions.php:474
2632
  msgid "<strong>ERROR</strong>: Your forum cannot be edited at this time."
2633
  msgstr ""
2634
 
@@ -2716,115 +2734,115 @@ msgstr ""
2716
  msgid "Hidden"
2717
  msgstr ""
2718
 
2719
- #: bbp-includes/bbp-reply-functions.php:140
2720
  msgid "<strong>ERROR</strong>: You do not have permission to reply."
2721
  msgstr ""
2722
 
2723
- #: bbp-includes/bbp-reply-functions.php:154
2724
  msgid "<strong>ERROR</strong>: Topic ID is missing."
2725
  msgstr ""
2726
 
2727
- #: bbp-includes/bbp-reply-functions.php:165
2728
- #: bbp-includes/bbp-topic-functions.php:196
2729
- #: bbp-includes/bbp-topic-functions.php:482
2730
  msgid "<strong>ERROR</strong>: Forum ID is missing."
2731
  msgstr ""
2732
 
2733
- #: bbp-includes/bbp-reply-functions.php:186
2734
  msgid "<strong>ERROR</strong>: Your reply needs a title."
2735
  msgstr ""
2736
 
2737
- #: bbp-includes/bbp-reply-functions.php:198
2738
- #: bbp-includes/bbp-reply-functions.php:468
2739
  msgid "<strong>ERROR</strong>: Your reply cannot be empty."
2740
  msgstr ""
2741
 
2742
- #: bbp-includes/bbp-reply-functions.php:208
2743
  msgid ""
2744
  "<strong>ERROR</strong>: Duplicate reply detected; it looks as though "
2745
  "you&#8217;ve already said that!"
2746
  msgstr ""
2747
 
2748
- #: bbp-includes/bbp-reply-functions.php:213
2749
  msgid "<strong>ERROR</strong>: Your reply cannot be created at this time."
2750
  msgstr ""
2751
 
2752
  #: bbp-includes/bbp-reply-functions.php:270
2753
- #: bbp-includes/bbp-reply-functions.php:519
2754
  msgid ""
2755
  "<strong>ERROR</strong>: There was a problem adding the tags to the topic."
2756
  msgstr ""
2757
 
2758
- #: bbp-includes/bbp-reply-functions.php:382
2759
  msgid "<strong>ERROR</strong>: Reply ID not found."
2760
  msgstr ""
2761
 
2762
- #: bbp-includes/bbp-reply-functions.php:392
2763
  msgid "<strong>ERROR</strong>: The reply you want to edit was not found."
2764
  msgstr ""
2765
 
2766
- #: bbp-includes/bbp-reply-functions.php:405
2767
  msgid "<strong>ERROR</strong>: You do not have permission to edit that reply."
2768
  msgstr ""
2769
 
2770
- #: bbp-includes/bbp-reply-functions.php:435
2771
  msgid ""
2772
  "<strong>ERROR</strong>: This forum is a category. No topics or replies can "
2773
  "be created in it."
2774
  msgstr ""
2775
 
2776
- #: bbp-includes/bbp-reply-functions.php:439
2777
  msgid ""
2778
  "<strong>ERROR</strong>: This forum has been closed to new topics and replies."
2779
  msgstr ""
2780
 
2781
- #: bbp-includes/bbp-reply-functions.php:443
2782
  msgid ""
2783
  "<strong>ERROR</strong>: This forum is private and you do not have the "
2784
  "capability to read or create new replies in it."
2785
  msgstr ""
2786
 
2787
- #: bbp-includes/bbp-reply-functions.php:447
2788
  msgid ""
2789
  "<strong>ERROR</strong>: This forum is hidden and you do not have the "
2790
  "capability to read or create new replies in it."
2791
  msgstr ""
2792
 
2793
- #: bbp-includes/bbp-reply-functions.php:473
2794
  msgid "<strong>ERROR</strong>: Your reply cannot be edited at this time."
2795
  msgstr ""
2796
 
2797
- #: bbp-includes/bbp-reply-functions.php:1013
2798
  msgid "<strong>ERROR:</strong> You do not have the permission to do that!"
2799
  msgstr ""
2800
 
2801
- #: bbp-includes/bbp-reply-functions.php:1026
2802
  msgid ""
2803
  "<strong>ERROR</strong>: There was a problem unmarking the reply as spam!"
2804
  msgstr ""
2805
 
2806
- #: bbp-includes/bbp-reply-functions.php:1026
2807
  msgid "<strong>ERROR</strong>: There was a problem marking the reply as spam!"
2808
  msgstr ""
2809
 
2810
- #: bbp-includes/bbp-reply-functions.php:1045
2811
  msgid "<strong>ERROR</strong>: There was a problem trashing the reply!"
2812
  msgstr ""
2813
 
2814
- #: bbp-includes/bbp-reply-functions.php:1053
2815
  msgid "<strong>ERROR</strong>: There was a problem untrashing the reply!"
2816
  msgstr ""
2817
 
2818
- #: bbp-includes/bbp-reply-functions.php:1061
2819
  msgid "<strong>ERROR</strong>: There was a problem deleting the reply!"
2820
  msgstr ""
2821
 
2822
- #: bbp-includes/bbp-reply-functions.php:1406
2823
  msgid "All Posts"
2824
  msgstr ""
2825
 
2826
- #: bbp-includes/bbp-reply-functions.php:1448
2827
- #: bbp-includes/bbp-topic-functions.php:3113
2828
  msgid "Replies: %s"
2829
  msgstr ""
2830
 
@@ -2905,232 +2923,232 @@ msgid_plural "Viewing %1$s posts - %2$s through %3$s (of %4$s total)"
2905
  msgstr[0] ""
2906
  msgstr[1] ""
2907
 
2908
- #: bbp-includes/bbp-topic-functions.php:154
2909
  msgid ""
2910
  "<strong>ERROR</strong>: You do not have permission to create new topics."
2911
  msgstr ""
2912
 
2913
- #: bbp-includes/bbp-topic-functions.php:178
2914
- #: bbp-includes/bbp-topic-functions.php:522
2915
  msgid "<strong>ERROR</strong>: Your topic needs a title."
2916
  msgstr ""
2917
 
2918
- #: bbp-includes/bbp-topic-functions.php:190
2919
- #: bbp-includes/bbp-topic-functions.php:534
2920
  msgid "<strong>ERROR</strong>: Your topic cannot be empty."
2921
  msgstr ""
2922
 
2923
- #: bbp-includes/bbp-topic-functions.php:207
2924
  msgid ""
2925
  "<strong>ERROR</strong>: This forum is a category. No topics can be created "
2926
  "in this forum."
2927
  msgstr ""
2928
 
2929
- #: bbp-includes/bbp-topic-functions.php:211
2930
- #: bbp-includes/bbp-topic-functions.php:501
2931
  msgid "<strong>ERROR</strong>: This forum has been closed to new topics."
2932
  msgstr ""
2933
 
2934
- #: bbp-includes/bbp-topic-functions.php:215
2935
- #: bbp-includes/bbp-topic-functions.php:505
2936
  msgid ""
2937
  "<strong>ERROR</strong>: This forum is private and you do not have the "
2938
  "capability to read or create new topics in it."
2939
  msgstr ""
2940
 
2941
- #: bbp-includes/bbp-topic-functions.php:219
2942
- #: bbp-includes/bbp-topic-functions.php:509
2943
  msgid ""
2944
  "<strong>ERROR</strong>: This forum is hidden and you do not have the "
2945
  "capability to read or create new topics in it."
2946
  msgstr ""
2947
 
2948
- #: bbp-includes/bbp-topic-functions.php:230
2949
  msgid ""
2950
  "<strong>ERROR</strong>: Duplicate topic detected; it looks as though "
2951
  "you&#8217;ve already said that!"
2952
  msgstr ""
2953
 
2954
- #: bbp-includes/bbp-topic-functions.php:235
2955
  msgid "<strong>ERROR</strong>: Your topic cannot be created at this time."
2956
  msgstr ""
2957
 
2958
- #: bbp-includes/bbp-topic-functions.php:438
2959
- #: bbp-includes/bbp-topic-functions.php:1041
2960
  msgid "<strong>ERROR</strong>: Topic ID not found."
2961
  msgstr ""
2962
 
2963
- #: bbp-includes/bbp-topic-functions.php:448
2964
  msgid "<strong>ERROR</strong>: The topic you want to edit was not found."
2965
  msgstr ""
2966
 
2967
- #: bbp-includes/bbp-topic-functions.php:461
2968
  msgid "<strong>ERROR</strong>: You do not have permission to edit that topic."
2969
  msgstr ""
2970
 
2971
- #: bbp-includes/bbp-topic-functions.php:497
2972
  msgid ""
2973
  "<strong>ERROR</strong>: This forum is a category. No topics can be created "
2974
  "in it."
2975
  msgstr ""
2976
 
2977
- #: bbp-includes/bbp-topic-functions.php:539
2978
  msgid "<strong>ERROR</strong>: Your topic cannot be edited at this time."
2979
  msgstr ""
2980
 
2981
- #: bbp-includes/bbp-topic-functions.php:1050
2982
  msgid "<strong>ERROR</strong>: The topic you want to merge was not found."
2983
  msgstr ""
2984
 
2985
- #: bbp-includes/bbp-topic-functions.php:1054
2986
- #: bbp-includes/bbp-topic-functions.php:1345
2987
  msgid ""
2988
  "<strong>ERROR</strong>: You do not have the permissions to edit the source "
2989
  "topic."
2990
  msgstr ""
2991
 
2992
- #: bbp-includes/bbp-topic-functions.php:1060
2993
  msgid "<strong>ERROR</strong>: Destination topic ID not found."
2994
  msgstr ""
2995
 
2996
- #: bbp-includes/bbp-topic-functions.php:1066
2997
  msgid "<strong>ERROR</strong>: The topic you want to merge to was not found."
2998
  msgstr ""
2999
 
3000
- #: bbp-includes/bbp-topic-functions.php:1070
3001
  msgid ""
3002
  "<strong>ERROR</strong>: You do not have the permissions to edit the "
3003
  "destination topic."
3004
  msgstr ""
3005
 
3006
- #: bbp-includes/bbp-topic-functions.php:1321
3007
  msgid "<strong>ERROR</strong>: Reply ID to split the topic from not found!"
3008
  msgstr ""
3009
 
3010
- #: bbp-includes/bbp-topic-functions.php:1329
3011
  msgid "<strong>ERROR</strong>: The reply you want to split from was not found."
3012
  msgstr ""
3013
 
3014
- #: bbp-includes/bbp-topic-functions.php:1338
3015
  msgid "<strong>ERROR</strong>: The topic you want to split was not found."
3016
  msgstr ""
3017
 
3018
- #: bbp-includes/bbp-topic-functions.php:1354
3019
  msgid "<strong>ERROR</strong>: You need to choose a valid split option."
3020
  msgstr ""
3021
 
3022
- #: bbp-includes/bbp-topic-functions.php:1367
3023
  msgid "<strong>ERROR</strong>: Destination topic ID not found!"
3024
  msgstr ""
3025
 
3026
- #: bbp-includes/bbp-topic-functions.php:1376
3027
  msgid "<strong>ERROR</strong>: The topic you want to split to was not found!"
3028
  msgstr ""
3029
 
3030
- #: bbp-includes/bbp-topic-functions.php:1380
3031
  msgid ""
3032
  "<strong>ERROR</strong>: You do not have the permissions to edit the "
3033
  "destination topic!"
3034
  msgstr ""
3035
 
3036
- #: bbp-includes/bbp-topic-functions.php:1419
3037
  msgid ""
3038
  "<strong>ERROR</strong>: There was a problem converting the reply into the "
3039
  "topic. Please try again."
3040
  msgstr ""
3041
 
3042
- #: bbp-includes/bbp-topic-functions.php:1424
3043
  msgid ""
3044
  "<strong>ERROR</strong>: You do not have the permissions to create new "
3045
  "topics. The reply could not be converted into a topic."
3046
  msgstr ""
3047
 
3048
- #: bbp-includes/bbp-topic-functions.php:1630
3049
  msgid ""
3050
  "<strong>ERROR</strong>: The following problem(s) have been found while "
3051
  "getting the tag: %s"
3052
  msgstr ""
3053
 
3054
- #: bbp-includes/bbp-topic-functions.php:1645
3055
- #: bbp-includes/bbp-topic-functions.php:1681
3056
  msgid ""
3057
  "<strong>ERROR</strong>: You do not have the permissions to edit the topic "
3058
  "tags."
3059
  msgstr ""
3060
 
3061
- #: bbp-includes/bbp-topic-functions.php:1651
3062
- #: bbp-includes/bbp-topic-functions.php:1687
3063
  msgid "<strong>ERROR</strong>: You need to enter a tag name."
3064
  msgstr ""
3065
 
3066
- #: bbp-includes/bbp-topic-functions.php:1661
3067
  msgid ""
3068
  "<strong>ERROR</strong>: The following problem(s) have been found while "
3069
  "updating the tag: %s"
3070
  msgstr ""
3071
 
3072
- #: bbp-includes/bbp-topic-functions.php:1697
3073
  #: bbp-includes/bbp-topic-functions.php:1715
 
3074
  msgid ""
3075
  "<strong>ERROR</strong>: The following problem(s) have been found while "
3076
  "merging the tags: %s"
3077
  msgstr ""
3078
 
3079
- #: bbp-includes/bbp-topic-functions.php:1706
3080
  msgid ""
3081
  "<strong>ERROR</strong>: The tags which are being merged can not be the same."
3082
  msgstr ""
3083
 
3084
- #: bbp-includes/bbp-topic-functions.php:1735
3085
  msgid ""
3086
  "<strong>ERROR</strong>: You do not have the permissions to delete the topic "
3087
  "tags."
3088
  msgstr ""
3089
 
3090
- #: bbp-includes/bbp-topic-functions.php:1744
3091
  msgid ""
3092
  "<strong>ERROR</strong>: The following problem(s) have been found while "
3093
  "deleting the tag: %s"
3094
  msgstr ""
3095
 
3096
- #: bbp-includes/bbp-topic-functions.php:1873
3097
  msgid "<strong>ERROR:</strong> You do not have the permission to do that."
3098
  msgstr ""
3099
 
3100
- #: bbp-includes/bbp-topic-functions.php:1886
3101
  msgid "<strong>ERROR</strong>: There was a problem closing the topic."
3102
  msgstr ""
3103
 
3104
- #: bbp-includes/bbp-topic-functions.php:1886
3105
  msgid "<strong>ERROR</strong>: There was a problem opening the topic."
3106
  msgstr ""
3107
 
3108
- #: bbp-includes/bbp-topic-functions.php:1897
3109
  msgid "<strong>ERROR</strong>: There was a problem unsticking the topic."
3110
  msgstr ""
3111
 
3112
- #: bbp-includes/bbp-topic-functions.php:1897
3113
  msgid "<strong>ERROR</strong>: There was a problem sticking the topic."
3114
  msgstr ""
3115
 
3116
- #: bbp-includes/bbp-topic-functions.php:1907
3117
  msgid ""
3118
  "<strong>ERROR</strong>: There was a problem unmarking the topic as spam."
3119
  msgstr ""
3120
 
3121
- #: bbp-includes/bbp-topic-functions.php:1907
3122
  msgid "<strong>ERROR</strong>: There was a problem marking the topic as spam."
3123
  msgstr ""
3124
 
3125
- #: bbp-includes/bbp-topic-functions.php:1926
3126
  msgid "<strong>ERROR</strong>: There was a problem trashing the topic."
3127
  msgstr ""
3128
 
3129
- #: bbp-includes/bbp-topic-functions.php:1934
3130
  msgid "<strong>ERROR</strong>: There was a problem untrashing the topic."
3131
  msgstr ""
3132
 
3133
- #: bbp-includes/bbp-topic-functions.php:1942
3134
  msgid "<strong>ERROR</strong>: There was a problem deleting the topic."
3135
  msgstr ""
3136
 
@@ -3215,48 +3233,43 @@ msgid "This topic has no replies."
3215
  msgstr ""
3216
 
3217
  #: bbp-includes/bbp-user-functions.php:468
3218
- #: bbp-includes/bbp-user-functions.php:785
3219
  msgid ""
3220
- "<strong>ERROR</strong>: You don't have the permission to edit favorites of "
3221
- "that user!"
3222
  msgstr ""
3223
 
3224
- #: bbp-includes/bbp-user-functions.php:473
 
3225
  msgid ""
3226
- "<strong>ERROR</strong>: No topic was found! Which topic are you marking/"
3227
- "unmarking as favorite?"
3228
  msgstr ""
3229
 
3230
- #: bbp-includes/bbp-user-functions.php:512
3231
  msgid ""
3232
  "<strong>ERROR</strong>: There was a problem removing that topic from "
3233
  "favorites!"
3234
  msgstr ""
3235
 
3236
- #: bbp-includes/bbp-user-functions.php:514
3237
  msgid "<strong>ERROR</strong>: There was a problem favoriting that topic!"
3238
  msgstr ""
3239
 
3240
- #: bbp-includes/bbp-user-functions.php:790
3241
  msgid ""
3242
  "<strong>ERROR</strong>: No topic was found! Which topic are you subscribing/"
3243
  "unsubscribing to?"
3244
  msgstr ""
3245
 
3246
- #: bbp-includes/bbp-user-functions.php:828
3247
  msgid ""
3248
  "<strong>ERROR</strong>: There was a problem unsubscribing from that topic!"
3249
  msgstr ""
3250
 
3251
- #: bbp-includes/bbp-user-functions.php:830
3252
  msgid "<strong>ERROR</strong>: There was a problem subscribing to that topic!"
3253
  msgstr ""
3254
 
3255
- #: bbp-includes/bbp-user-functions.php:913
3256
- msgid ""
3257
- "What are you doing here? You do not have the permission to edit this user."
3258
- msgstr ""
3259
-
3260
  #: bbp-includes/bbp-user-template.php:437
3261
  msgid "Key Master"
3262
  msgstr ""
@@ -4332,9 +4345,9 @@ msgstr ""
4332
  msgid "bbPress"
4333
  msgstr ""
4334
 
4335
- #. #-#-#-#-# plugin.pot (bbPress 2.1-rc1) #-#-#-#-#
4336
  #. Plugin URI of the plugin/theme
4337
- #. #-#-#-#-# plugin.pot (bbPress 2.1-rc1) #-#-#-#-#
4338
  #. Author URI of the plugin/theme
4339
  msgid "http://bbpress.org"
4340
  msgstr ""
2
  # This file is distributed under the same license as the bbPress package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: bbPress 2.1-rc3\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/bbpress\n"
7
+ "POT-Creation-Date: 2012-06-28 20:12:03+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
22
  msgstr ""
23
 
24
  #: bbp-admin/bbp-admin.php:186 bbp-admin/bbp-functions.php:195
25
+ #: bbp-admin/bbp-settings.php:1185
26
  msgid "Import Forums"
27
  msgstr ""
28
 
110
  msgstr ""
111
 
112
  #: bbp-admin/bbp-converter.php:63 bbp-admin/bbp-settings.php:24
113
+ #: bbp-admin/bbp-settings.php:1233
114
  msgid "Main Settings"
115
  msgstr ""
116
 
239
  msgstr ""
240
 
241
  #: bbp-admin/bbp-forums.php:118 bbp-admin/bbp-replies.php:130
242
+ #: bbp-admin/bbp-settings.php:1225 bbp-admin/bbp-topics.php:130
243
  msgid "Overview"
244
  msgstr ""
245
 
349
 
350
  #: bbp-admin/bbp-forums.php:163 bbp-admin/bbp-forums.php:243
351
  #: bbp-admin/bbp-replies.php:175 bbp-admin/bbp-replies.php:252
352
+ #: bbp-admin/bbp-settings.php:1270 bbp-admin/bbp-topics.php:175
353
  #: bbp-admin/bbp-topics.php:252
354
  msgid "For more information:"
355
  msgstr ""
356
 
357
  #: bbp-admin/bbp-forums.php:164 bbp-admin/bbp-forums.php:244
358
  #: bbp-admin/bbp-replies.php:176 bbp-admin/bbp-replies.php:253
359
+ #: bbp-admin/bbp-settings.php:1271 bbp-admin/bbp-topics.php:176
360
  #: bbp-admin/bbp-topics.php:253
361
  msgid ""
362
  "<a href=\"http://bbpress.org/documentation/\" target=\"_blank\">bbPress "
365
 
366
  #: bbp-admin/bbp-forums.php:165 bbp-admin/bbp-forums.php:245
367
  #: bbp-admin/bbp-replies.php:177 bbp-admin/bbp-replies.php:254
368
+ #: bbp-admin/bbp-settings.php:1272 bbp-admin/bbp-topics.php:177
369
  #: bbp-admin/bbp-topics.php:254
370
  msgid ""
371
  "<a href=\"http://bbpress.org/forums/\" target=\"_blank\">bbPress Support "
514
  msgid "Forum"
515
  msgstr ""
516
 
517
+ #: bbp-admin/bbp-forums.php:423 bbp-admin/bbp-settings.php:171
518
+ #: bbp-admin/bbp-settings.php:192 bbp-admin/bbp-topics.php:677
519
  #: bbp-includes/bbp-extend-buddypress.php:432
520
  #: bbp-includes/bbp-extend-buddypress.php:1434
521
  #: bbp-includes/bbp-forum-template.php:2272
527
  msgid "Topics"
528
  msgstr ""
529
 
530
+ #: bbp-admin/bbp-forums.php:424 bbp-admin/bbp-settings.php:179
531
+ #: bbp-admin/bbp-settings.php:200 bbp-admin/bbp-topics.php:679
532
  #: bbp-includes/bbp-extend-buddypress.php:433
533
  #: bbp-includes/bbp-forum-template.php:2336
534
  #: bbp-includes/bbp-theme-compatibility.php:493
1072
  msgid "Theme Packages"
1073
  msgstr ""
1074
 
1075
+ #: bbp-admin/bbp-settings.php:34 bbp-admin/bbp-settings.php:1252
1076
  msgid "Per Page"
1077
  msgstr ""
1078
 
1100
  msgid "Lock post editing after"
1101
  msgstr ""
1102
 
1103
+ #: bbp-admin/bbp-settings.php:89
1104
  msgid "Throttle time"
1105
  msgstr ""
1106
 
1107
+ #: bbp-admin/bbp-settings.php:97
1108
  msgid "Allow Revisions"
1109
  msgstr ""
1110
 
1111
+ #: bbp-admin/bbp-settings.php:105
1112
  msgid "Allow Favorites"
1113
  msgstr ""
1114
 
1115
+ #: bbp-admin/bbp-settings.php:113
1116
  msgid "Allow Subscriptions"
1117
  msgstr ""
1118
 
1119
+ #: bbp-admin/bbp-settings.php:121
1120
  msgid "Allow Anonymous Posting"
1121
  msgstr ""
1122
 
1123
+ #: bbp-admin/bbp-settings.php:129
1124
  msgid "Allow Global Access"
1125
  msgstr ""
1126
 
1127
+ #: bbp-admin/bbp-settings.php:137
1128
  msgid "Fancy Editor"
1129
  msgstr ""
1130
 
1131
+ #: bbp-admin/bbp-settings.php:145
1132
  msgid "Auto-embed Links"
1133
  msgstr ""
1134
 
1135
+ #: bbp-admin/bbp-settings.php:158
1136
  msgid "Current Package"
1137
  msgstr ""
1138
 
1139
+ #: bbp-admin/bbp-settings.php:213 bbp-admin/bbp-settings.php:1365
1140
  msgid "Forums base"
1141
  msgstr ""
1142
 
1143
+ #: bbp-admin/bbp-settings.php:221 bbp-admin/bbp-settings.php:1368
1144
  msgid "Topics base"
1145
  msgstr ""
1146
 
1147
+ #: bbp-admin/bbp-settings.php:234
1148
  msgid "Forum Prefix"
1149
  msgstr ""
1150
 
1151
+ #: bbp-admin/bbp-settings.php:242 bbp-admin/bbp-settings.php:1371
1152
  msgid "Forum slug"
1153
  msgstr ""
1154
 
1155
+ #: bbp-admin/bbp-settings.php:250 bbp-admin/bbp-settings.php:1374
1156
  msgid "Topic slug"
1157
  msgstr ""
1158
 
1159
+ #: bbp-admin/bbp-settings.php:258 bbp-admin/bbp-settings.php:1386
1160
  msgid "Topic tag slug"
1161
  msgstr ""
1162
 
1163
+ #: bbp-admin/bbp-settings.php:266 bbp-admin/bbp-settings.php:1377
1164
  msgid "Reply slug"
1165
  msgstr ""
1166
 
1167
+ #: bbp-admin/bbp-settings.php:274
1168
  msgid "User slug"
1169
  msgstr ""
1170
 
1171
+ #: bbp-admin/bbp-settings.php:282
1172
  msgid "Topic view slug"
1173
  msgstr ""
1174
 
1175
+ #: bbp-admin/bbp-settings.php:295
1176
  msgid "Enable Group Forums"
1177
  msgstr ""
1178
 
1179
+ #: bbp-admin/bbp-settings.php:303
1180
  msgid "Group Forums Parent"
1181
  msgstr ""
1182
 
1183
+ #: bbp-admin/bbp-settings.php:316
1184
  msgid "Use Akismet"
1185
  msgstr ""
1186
 
1187
+ #: bbp-admin/bbp-settings.php:354
1188
  msgid "Main forum settings for enabling features and setting time limits"
1189
  msgstr ""
1190
 
1191
+ #: bbp-admin/bbp-settings.php:370 bbp-includes/bbp-common-functions.php:121
1192
  msgid "minutes"
1193
  msgstr ""
1194
 
1195
+ #: bbp-admin/bbp-settings.php:386 bbp-includes/bbp-common-functions.php:122
1196
  msgid "seconds"
1197
  msgstr ""
1198
 
1199
+ #: bbp-admin/bbp-settings.php:402
1200
  msgid "Allow users to mark topics as favorites"
1201
  msgstr ""
1202
 
1203
+ #: bbp-admin/bbp-settings.php:418
1204
  msgid "Allow users to subscribe to topics"
1205
  msgstr ""
1206
 
1207
+ #: bbp-admin/bbp-settings.php:434
1208
  msgid "Allow topic and reply revision logging"
1209
  msgstr ""
1210
 
1211
+ #: bbp-admin/bbp-settings.php:450
1212
  msgid "Allow guest users without accounts to create topics and replies"
1213
  msgstr ""
1214
 
1215
+ #: bbp-admin/bbp-settings.php:466
1216
  msgid ""
1217
  "Allow all users of your multisite installation to create topics and replies"
1218
  msgstr ""
1219
 
1220
+ #: bbp-admin/bbp-settings.php:482 bbp-admin/bbp-settings.php:530
1221
  msgid "Use the fancy WordPress editor to create and edit topics and replies"
1222
  msgstr ""
1223
 
1224
+ #: bbp-admin/bbp-settings.php:495
1225
  msgid "How your forum content is displayed within your existing theme."
1226
  msgstr ""
1227
 
1228
+ #: bbp-admin/bbp-settings.php:519
1229
  msgid "%1$s - %2$s"
1230
  msgstr ""
1231
 
1232
+ #: bbp-admin/bbp-settings.php:525
1233
  msgid "will serve all bbPress templates"
1234
  msgstr ""
1235
 
1236
+ #: bbp-admin/bbp-settings.php:546
1237
  msgid ""
1238
  "Embed media (YouTube, Twitter, Flickr, etc...) directly into topics and "
1239
  "replies."
1240
  msgstr ""
1241
 
1242
+ #: bbp-admin/bbp-settings.php:561
1243
  msgid "How many topics and replies to show per page"
1244
  msgstr ""
1245
 
1246
+ #: bbp-admin/bbp-settings.php:577 bbp-admin/bbp-settings.php:593
1247
+ #: bbp-admin/bbp-settings.php:624 bbp-admin/bbp-settings.php:640
1248
  msgid "per page"
1249
  msgstr ""
1250
 
1251
+ #: bbp-admin/bbp-settings.php:608
1252
  msgid "How many topics and replies to show per RSS page"
1253
  msgstr ""
1254
 
1255
+ #: bbp-admin/bbp-settings.php:658
1256
  msgid ""
1257
  "Custom root slugs to prefix your forums and topics with. These can be "
1258
  "partnered with WordPress pages to allow more flexibility."
1259
  msgstr ""
1260
 
1261
+ #: bbp-admin/bbp-settings.php:707
1262
  msgid ""
1263
  "Custom slugs for single forums, topics, replies, tags, users, and views "
1264
  "here. If you change these, existing permalinks will also change."
1265
  msgstr ""
1266
 
1267
+ #: bbp-admin/bbp-settings.php:723
1268
  msgid "Prefix your forum area with the Forum Base slug (Recommended)"
1269
  msgstr ""
1270
 
1271
+ #: bbp-admin/bbp-settings.php:843
1272
  msgid "Forum settings for BuddyPress"
1273
  msgstr ""
1274
 
1275
+ #: bbp-admin/bbp-settings.php:859
1276
  msgid "Allow BuddyPress Groups to have their own forums"
1277
  msgstr ""
1278
 
1279
+ #: bbp-admin/bbp-settings.php:877
1280
  msgid "(Forum Root)"
1281
  msgstr ""
1282
 
1283
+ #: bbp-admin/bbp-settings.php:883
1284
  msgid "is the parent for all group forums"
1285
  msgstr ""
1286
 
1287
+ #: bbp-admin/bbp-settings.php:884
1288
  msgid ""
1289
  "Using the Forum Root is not recommended. Changing this does not move "
1290
  "existing forums."
1291
  msgstr ""
1292
 
1293
+ #: bbp-admin/bbp-settings.php:899
1294
  msgid "Forum settings for Akismet"
1295
  msgstr ""
1296
 
1297
+ #: bbp-admin/bbp-settings.php:916
1298
  msgid "Allow Akismet to actively prevent forum spam."
1299
  msgstr ""
1300
 
1301
+ #: bbp-admin/bbp-settings.php:939
1302
  msgid "bbPress Settings"
1303
  msgstr ""
1304
 
1305
+ #: bbp-admin/bbp-settings.php:948
1306
  #: bbp-theme-compat/bbpress/form-user-edit.php:169
1307
  #: bbp-themes/bbp-twentyten/bbpress/form-user-edit.php:169
1308
  msgid "Save Changes"
1309
  msgstr ""
1310
 
1311
+ #: bbp-admin/bbp-settings.php:967
1312
  msgid ""
1313
  "Information about your previous forums database so that they can be "
1314
  "converted. <strong>Backup your database before proceeding.</strong>"
1315
  msgstr ""
1316
 
1317
+ #: bbp-admin/bbp-settings.php:992
1318
  msgid "is the previous forum software"
1319
  msgstr ""
1320
 
1321
+ #: bbp-admin/bbp-settings.php:1006
1322
  msgid "IP or hostname"
1323
  msgstr ""
1324
 
1325
+ #: bbp-admin/bbp-settings.php:1020
1326
  msgid "Use default 3306 if unsure"
1327
  msgstr ""
1328
 
1329
+ #: bbp-admin/bbp-settings.php:1034
1330
  msgid "User for your database connection"
1331
  msgstr ""
1332
 
1333
+ #: bbp-admin/bbp-settings.php:1048
1334
  msgid "Password to access the database"
1335
  msgstr ""
1336
 
1337
+ #: bbp-admin/bbp-settings.php:1062
1338
  msgid "Name of the database with your old forum data"
1339
  msgstr ""
1340
 
1341
+ #: bbp-admin/bbp-settings.php:1075
1342
  msgid "Some optional parameters to help tune the convertion process."
1343
  msgstr ""
1344
 
1345
+ #: bbp-admin/bbp-settings.php:1089
1346
  msgid ""
1347
  "(If converting from BuddyPress Forums, use \"wp_bb_\" or your custom prefix)"
1348
  msgstr ""
1349
 
1350
+ #: bbp-admin/bbp-settings.php:1103
1351
  msgid "rows to process at a time"
1352
  msgstr ""
1353
 
1354
+ #: bbp-admin/bbp-settings.php:1104
1355
  msgid "Keep this low if you experience out-of-memory issues."
1356
  msgstr ""
1357
 
1358
+ #: bbp-admin/bbp-settings.php:1118
1359
  msgid "second(s) delay between each group of rows"
1360
  msgstr ""
1361
 
1362
+ #: bbp-admin/bbp-settings.php:1119
1363
  msgid "Keep this high to prevent too-many-connection issues."
1364
  msgstr ""
1365
 
1366
+ #: bbp-admin/bbp-settings.php:1133
1367
  msgid "Purge all information from a previously attempted import"
1368
  msgstr ""
1369
 
1370
+ #: bbp-admin/bbp-settings.php:1134
1371
  msgid "Use this if an import failed and you want to start over from scratch."
1372
  msgstr ""
1373
 
1374
+ #: bbp-admin/bbp-settings.php:1148
1375
  msgid "Restart the conversion process"
1376
  msgstr ""
1377
 
1378
+ #: bbp-admin/bbp-settings.php:1149
1379
  msgid "The importer keeps track of where it left off in the event of failure."
1380
  msgstr ""
1381
 
1382
+ #: bbp-admin/bbp-settings.php:1163
1383
  msgid "Attempt to import user accounts from previous forums"
1384
  msgstr ""
1385
 
1386
+ #: bbp-admin/bbp-settings.php:1164
1387
  msgid ""
1388
  "Non-bbPress passwords cannot be automatically converted. They will be "
1389
  "converted as each user logs in."
1390
  msgstr ""
1391
 
1392
+ #: bbp-admin/bbp-settings.php:1194
1393
  msgid "Start"
1394
  msgstr ""
1395
 
1396
+ #: bbp-admin/bbp-settings.php:1195
1397
  msgid "Stop"
1398
  msgstr ""
1399
 
1400
+ #: bbp-admin/bbp-settings.php:1226
1401
  msgid "This screen provides access to all of the bbPress settings."
1402
  msgstr ""
1403
 
1404
+ #: bbp-admin/bbp-settings.php:1227
1405
  msgid ""
1406
  "Please see the additional help tabs for more information on each indiviual "
1407
  "section."
1408
  msgstr ""
1409
 
1410
+ #: bbp-admin/bbp-settings.php:1234
1411
  msgid "In the Main Settings you have a number of options:"
1412
  msgstr ""
1413
 
1414
+ #: bbp-admin/bbp-settings.php:1237
1415
  msgid ""
1416
  "You can choose to lock a post after a certain number of minutes. \"Locking "
1417
  "post editing\" will prevent the author from editing some amount of time "
1418
  "after saving a post."
1419
  msgstr ""
1420
 
1421
+ #: bbp-admin/bbp-settings.php:1238
1422
  msgid ""
1423
  "\"Throttle time\" is the amount of time required between posts from a single "
1424
  "author. The higher the throttle time, the longer a user will need to wait "
1425
  "between posting to the forum."
1426
  msgstr ""
1427
 
1428
+ #: bbp-admin/bbp-settings.php:1239
1429
  msgid ""
1430
  "Favorites are a way for users to save and later return to topics they favor. "
1431
  "This is enabled by default."
1432
  msgstr ""
1433
 
1434
+ #: bbp-admin/bbp-settings.php:1240
1435
  msgid ""
1436
  "Subscriptions allow users to subscribe for notifications to topics that "
1437
  "interest them. This is enabled by default."
1438
  msgstr ""
1439
 
1440
+ #: bbp-admin/bbp-settings.php:1241
1441
  msgid ""
1442
  "\"Anonymous Posting\" allows guest users who do not have accounts on your "
1443
  "site to both create topics as well as replies."
1444
  msgstr ""
1445
 
1446
+ #: bbp-admin/bbp-settings.php:1242
1447
  msgid ""
1448
  "The Fancy Editor brings the luxury of the Visual editor and HTML editor from "
1449
  "the traditional WordPress dashboard into your theme."
1450
  msgstr ""
1451
 
1452
+ #: bbp-admin/bbp-settings.php:1243
1453
  msgid ""
1454
  "Auto-embed will embed the media content from a URL directly into the "
1455
  "replies. For example: links to Flickr and YouTube."
1456
  msgstr ""
1457
 
1458
+ #: bbp-admin/bbp-settings.php:1246
1459
  msgid ""
1460
  "You must click the Save Changes button at the bottom of the screen for new "
1461
  "settings to take effect."
1462
  msgstr ""
1463
 
1464
+ #: bbp-admin/bbp-settings.php:1253
1465
  msgid ""
1466
  "Per Page settings allow you to control the number of topics and replies "
1467
  "appear on each page."
1468
  msgstr ""
1469
 
1470
+ #: bbp-admin/bbp-settings.php:1254
1471
  msgid ""
1472
  "This is comparable to the WordPress \"Reading Settings\" page, where you can "
1473
  "set the number of posts that should show on blog pages and in feeds."
1474
  msgstr ""
1475
 
1476
+ #: bbp-admin/bbp-settings.php:1255
1477
  msgid ""
1478
  "These are broken up into two separate groups: one for what appears in your "
1479
  "theme, another for RSS feeds."
1480
  msgstr ""
1481
 
1482
+ #: bbp-admin/bbp-settings.php:1261
1483
  msgid "Slugs"
1484
  msgstr ""
1485
 
1486
+ #: bbp-admin/bbp-settings.php:1262
1487
  msgid ""
1488
  "The Slugs section allows you to control the permalink structure for your "
1489
  "forums."
1490
  msgstr ""
1491
 
1492
+ #: bbp-admin/bbp-settings.php:1263
1493
  msgid ""
1494
  "\"Archive Slugs\" are used as the \"root\" for your forums and topics. If "
1495
  "you combine these values with existing page slugs, bbPress will attempt to "
1496
  "output the most correct title and content."
1497
  msgstr ""
1498
 
1499
+ #: bbp-admin/bbp-settings.php:1264
1500
  msgid ""
1501
  "\"Single Slugs\" are used as a prefix when viewing an individual forum, "
1502
  "topic, reply, user, or view."
1503
  msgstr ""
1504
 
1505
+ #: bbp-admin/bbp-settings.php:1265
1506
  msgid ""
1507
  "In the event of a slug collision with WordPress or BuddyPress, a warning "
1508
  "will appear next to the problem slug(s)."
1509
  msgstr ""
1510
 
1511
+ #: bbp-admin/bbp-settings.php:1350 bbp-theme-compat/bbpress/loop-forums.php:21
1512
  #: bbp-theme-compat/bbpress/loop-replies.php:24
1513
  #: bbp-theme-compat/bbpress/loop-replies.php:58
1514
  #: bbp-theme-compat/bbpress/loop-topics.php:21
1519
  msgid "Posts"
1520
  msgstr ""
1521
 
1522
+ #: bbp-admin/bbp-settings.php:1351
1523
  msgid "Pages"
1524
  msgstr ""
1525
 
1526
+ #: bbp-admin/bbp-settings.php:1352
1527
  msgid "Revisions"
1528
  msgstr ""
1529
 
1530
+ #: bbp-admin/bbp-settings.php:1353
1531
  msgid "Attachments"
1532
  msgstr ""
1533
 
1534
+ #: bbp-admin/bbp-settings.php:1354
1535
  msgid "Menus"
1536
  msgstr ""
1537
 
1538
+ #: bbp-admin/bbp-settings.php:1357
1539
  msgid "Tag base"
1540
  msgstr ""
1541
 
1542
+ #: bbp-admin/bbp-settings.php:1360
1543
  msgid "Category base"
1544
  msgstr ""
1545
 
1546
+ #: bbp-admin/bbp-settings.php:1380
1547
  msgid "User base"
1548
  msgstr ""
1549
 
1550
+ #: bbp-admin/bbp-settings.php:1383
1551
  msgid "View base"
1552
  msgstr ""
1553
 
1554
+ #: bbp-admin/bbp-settings.php:1398
1555
  msgid "%s page"
1556
  msgstr ""
1557
 
1558
+ #: bbp-admin/bbp-settings.php:1417
1559
  msgid "Possible %1$s conflict: <strong>%2$s</strong>"
1560
  msgstr ""
1561
 
1718
  msgid "All Forums"
1719
  msgstr ""
1720
 
1721
+ #: bbp-admin/bbp-tools.php:816 bbp-includes/bbp-topic-functions.php:3109
1722
  #: bbpress.php:535
1723
  msgid "All Topics"
1724
  msgstr ""
1725
 
1726
+ #: bbp-admin/bbp-tools.php:817 bbp-includes/bbp-reply-functions.php:1411
1727
  #: bbpress.php:592
1728
  msgid "All Replies"
1729
  msgstr ""
2207
  "Login and visit the topic to unsubscribe from these emails."
2208
  msgstr ""
2209
 
2210
+ #: bbp-includes/bbp-common-functions.php:1663
2211
  msgid ""
2212
  "Conditional query tags do not work before the query is run. Before then, "
2213
  "they always return false."
2227
 
2228
  #: bbp-includes/bbp-common-template.php:1344
2229
  #: bbp-includes/bbp-common-template.php:1355
2230
+ #: bbp-includes/bbp-topic-functions.php:1190
2231
+ #: bbp-includes/bbp-topic-functions.php:1513
2232
  #: bbp-theme-compat/bbpress/form-reply.php:29
2233
  #: bbp-themes/bbp-twentyten/bbpress/form-reply.php:29
2234
  msgid "Reply To: %s"
2460
  msgid "Maximum replies to show:"
2461
  msgstr ""
2462
 
2463
+ #: bbp-includes/bbp-extend-akismet.php:304
2464
  msgid "%1$s reported this %2$s as spam"
2465
  msgstr ""
2466
 
2467
+ #: bbp-includes/bbp-extend-akismet.php:311
2468
  msgid "%1$s reported this %2$s as not spam"
2469
  msgstr ""
2470
 
2471
+ #: bbp-includes/bbp-extend-akismet.php:453
2472
  msgid "Akismet caught this post as spam"
2473
  msgstr ""
2474
 
2475
+ #: bbp-includes/bbp-extend-akismet.php:457
2476
+ #: bbp-includes/bbp-extend-akismet.php:472
2477
  msgid "Post status was changed to %s"
2478
  msgstr ""
2479
 
2480
+ #: bbp-includes/bbp-extend-akismet.php:465
2481
  msgid "Akismet cleared this post"
2482
  msgstr ""
2483
 
2484
+ #: bbp-includes/bbp-extend-akismet.php:479
2485
  msgid ""
2486
  "Akismet was unable to check this post (response: %s), will automatically "
2487
  "retry again later."
2558
  msgid "Forum:"
2559
  msgstr ""
2560
 
2561
+ #: bbp-includes/bbp-forum-functions.php:121
2562
+ #: bbp-includes/bbp-forum-functions.php:400
2563
+ #: bbp-includes/bbp-reply-functions.php:117
2564
+ #: bbp-includes/bbp-reply-functions.php:392
2565
+ #: bbp-includes/bbp-topic-functions.php:129
2566
+ #: bbp-includes/bbp-topic-functions.php:471
2567
+ #: bbp-includes/bbp-topic-functions.php:1049
2568
+ #: bbp-includes/bbp-topic-functions.php:1351
2569
+ #: bbp-includes/bbp-topic-functions.php:1654
2570
+ #: bbp-includes/bbp-topic-functions.php:1693
2571
+ #: bbp-includes/bbp-topic-functions.php:1750
2572
+ #: bbp-includes/bbp-user-functions.php:472
2573
+ #: bbp-includes/bbp-user-functions.php:792
2574
+ #: bbp-includes/bbp-user-functions.php:919
2575
+ #: bbp-includes/bbp-user-functions.php:925
2576
+ msgid "<strong>ERROR</strong>: Are you sure you wanted to do that?"
2577
+ msgstr ""
2578
+
2579
+ #: bbp-includes/bbp-forum-functions.php:134
2580
  msgid ""
2581
  "<strong>ERROR</strong>: You do not have permission to create new forums."
2582
  msgstr ""
2583
 
2584
+ #: bbp-includes/bbp-forum-functions.php:157
2585
+ #: bbp-includes/bbp-forum-functions.php:459
2586
  msgid "<strong>ERROR</strong>: Your forum needs a title."
2587
  msgstr ""
2588
 
2589
+ #: bbp-includes/bbp-forum-functions.php:169
2590
+ #: bbp-includes/bbp-forum-functions.php:471
2591
  msgid "<strong>ERROR</strong>: Your forum description cannot be empty."
2592
  msgstr ""
2593
 
2594
+ #: bbp-includes/bbp-forum-functions.php:182
2595
  msgid "<strong>ERROR</strong>: Your forum must have a parent."
2596
  msgstr ""
2597
 
2598
+ #: bbp-includes/bbp-forum-functions.php:189
2599
  msgid ""
2600
  "<strong>ERROR</strong>: This forum is a category. No forums can be created "
2601
  "in this forum."
2602
  msgstr ""
2603
 
2604
+ #: bbp-includes/bbp-forum-functions.php:194
2605
+ #: bbp-includes/bbp-forum-functions.php:435
2606
  msgid "<strong>ERROR</strong>: This forum has been closed to new forums."
2607
  msgstr ""
2608
 
2609
+ #: bbp-includes/bbp-forum-functions.php:199
2610
+ #: bbp-includes/bbp-forum-functions.php:440
2611
  msgid ""
2612
  "<strong>ERROR</strong>: This forum is private and you do not have the "
2613
  "capability to read or create new forums in it."
2614
  msgstr ""
2615
 
2616
+ #: bbp-includes/bbp-forum-functions.php:204
2617
+ #: bbp-includes/bbp-forum-functions.php:445
2618
  msgid ""
2619
  "<strong>ERROR</strong>: This forum is hidden and you do not have the "
2620
  "capability to read or create new forums in it."
2621
  msgstr ""
2622
 
2623
+ #: bbp-includes/bbp-forum-functions.php:211
2624
+ #: bbp-includes/bbp-reply-functions.php:206
2625
+ #: bbp-includes/bbp-topic-functions.php:228
2626
  msgid "<strong>ERROR</strong>: Slow down; you move too fast."
2627
  msgstr ""
2628
 
2629
+ #: bbp-includes/bbp-forum-functions.php:216
2630
  msgid "<strong>ERROR</strong>: This forum already exists."
2631
  msgstr ""
2632
 
2633
+ #: bbp-includes/bbp-forum-functions.php:221
2634
  msgid "<strong>ERROR</strong>: Your forum cannot be created at this time."
2635
  msgstr ""
2636
 
2637
+ #: bbp-includes/bbp-forum-functions.php:389
2638
  msgid "<strong>ERROR</strong>: Forum ID not found."
2639
  msgstr ""
2640
 
2641
+ #: bbp-includes/bbp-forum-functions.php:405
2642
  msgid "<strong>ERROR</strong>: The forum you want to edit was not found."
2643
  msgstr ""
2644
 
2645
+ #: bbp-includes/bbp-forum-functions.php:410
2646
  msgid "<strong>ERROR</strong>: You do not have permission to edit that forum."
2647
  msgstr ""
2648
 
2649
+ #: bbp-includes/bbp-forum-functions.php:476
2650
  msgid "<strong>ERROR</strong>: Your forum cannot be edited at this time."
2651
  msgstr ""
2652
 
2734
  msgid "Hidden"
2735
  msgstr ""
2736
 
2737
+ #: bbp-includes/bbp-reply-functions.php:143
2738
  msgid "<strong>ERROR</strong>: You do not have permission to reply."
2739
  msgstr ""
2740
 
2741
+ #: bbp-includes/bbp-reply-functions.php:157
2742
  msgid "<strong>ERROR</strong>: Topic ID is missing."
2743
  msgstr ""
2744
 
2745
+ #: bbp-includes/bbp-reply-functions.php:168
2746
+ #: bbp-includes/bbp-topic-functions.php:199
2747
+ #: bbp-includes/bbp-topic-functions.php:485
2748
  msgid "<strong>ERROR</strong>: Forum ID is missing."
2749
  msgstr ""
2750
 
2751
+ #: bbp-includes/bbp-reply-functions.php:189
2752
  msgid "<strong>ERROR</strong>: Your reply needs a title."
2753
  msgstr ""
2754
 
2755
+ #: bbp-includes/bbp-reply-functions.php:201
2756
+ #: bbp-includes/bbp-reply-functions.php:473
2757
  msgid "<strong>ERROR</strong>: Your reply cannot be empty."
2758
  msgstr ""
2759
 
2760
+ #: bbp-includes/bbp-reply-functions.php:211
2761
  msgid ""
2762
  "<strong>ERROR</strong>: Duplicate reply detected; it looks as though "
2763
  "you&#8217;ve already said that!"
2764
  msgstr ""
2765
 
2766
+ #: bbp-includes/bbp-reply-functions.php:216
2767
  msgid "<strong>ERROR</strong>: Your reply cannot be created at this time."
2768
  msgstr ""
2769
 
2770
  #: bbp-includes/bbp-reply-functions.php:270
2771
+ #: bbp-includes/bbp-reply-functions.php:523
2772
  msgid ""
2773
  "<strong>ERROR</strong>: There was a problem adding the tags to the topic."
2774
  msgstr ""
2775
 
2776
+ #: bbp-includes/bbp-reply-functions.php:381
2777
  msgid "<strong>ERROR</strong>: Reply ID not found."
2778
  msgstr ""
2779
 
2780
+ #: bbp-includes/bbp-reply-functions.php:398
2781
  msgid "<strong>ERROR</strong>: The reply you want to edit was not found."
2782
  msgstr ""
2783
 
2784
+ #: bbp-includes/bbp-reply-functions.php:409
2785
  msgid "<strong>ERROR</strong>: You do not have permission to edit that reply."
2786
  msgstr ""
2787
 
2788
+ #: bbp-includes/bbp-reply-functions.php:440
2789
  msgid ""
2790
  "<strong>ERROR</strong>: This forum is a category. No topics or replies can "
2791
  "be created in it."
2792
  msgstr ""
2793
 
2794
+ #: bbp-includes/bbp-reply-functions.php:444
2795
  msgid ""
2796
  "<strong>ERROR</strong>: This forum has been closed to new topics and replies."
2797
  msgstr ""
2798
 
2799
+ #: bbp-includes/bbp-reply-functions.php:448
2800
  msgid ""
2801
  "<strong>ERROR</strong>: This forum is private and you do not have the "
2802
  "capability to read or create new replies in it."
2803
  msgstr ""
2804
 
2805
+ #: bbp-includes/bbp-reply-functions.php:452
2806
  msgid ""
2807
  "<strong>ERROR</strong>: This forum is hidden and you do not have the "
2808
  "capability to read or create new replies in it."
2809
  msgstr ""
2810
 
2811
+ #: bbp-includes/bbp-reply-functions.php:478
2812
  msgid "<strong>ERROR</strong>: Your reply cannot be edited at this time."
2813
  msgstr ""
2814
 
2815
+ #: bbp-includes/bbp-reply-functions.php:1016
2816
  msgid "<strong>ERROR:</strong> You do not have the permission to do that!"
2817
  msgstr ""
2818
 
2819
+ #: bbp-includes/bbp-reply-functions.php:1029
2820
  msgid ""
2821
  "<strong>ERROR</strong>: There was a problem unmarking the reply as spam!"
2822
  msgstr ""
2823
 
2824
+ #: bbp-includes/bbp-reply-functions.php:1029
2825
  msgid "<strong>ERROR</strong>: There was a problem marking the reply as spam!"
2826
  msgstr ""
2827
 
2828
+ #: bbp-includes/bbp-reply-functions.php:1048
2829
  msgid "<strong>ERROR</strong>: There was a problem trashing the reply!"
2830
  msgstr ""
2831
 
2832
+ #: bbp-includes/bbp-reply-functions.php:1056
2833
  msgid "<strong>ERROR</strong>: There was a problem untrashing the reply!"
2834
  msgstr ""
2835
 
2836
+ #: bbp-includes/bbp-reply-functions.php:1064
2837
  msgid "<strong>ERROR</strong>: There was a problem deleting the reply!"
2838
  msgstr ""
2839
 
2840
+ #: bbp-includes/bbp-reply-functions.php:1409
2841
  msgid "All Posts"
2842
  msgstr ""
2843
 
2844
+ #: bbp-includes/bbp-reply-functions.php:1451
2845
+ #: bbp-includes/bbp-topic-functions.php:3134
2846
  msgid "Replies: %s"
2847
  msgstr ""
2848
 
2923
  msgstr[0] ""
2924
  msgstr[1] ""
2925
 
2926
+ #: bbp-includes/bbp-topic-functions.php:157
2927
  msgid ""
2928
  "<strong>ERROR</strong>: You do not have permission to create new topics."
2929
  msgstr ""
2930
 
2931
+ #: bbp-includes/bbp-topic-functions.php:181
2932
+ #: bbp-includes/bbp-topic-functions.php:525
2933
  msgid "<strong>ERROR</strong>: Your topic needs a title."
2934
  msgstr ""
2935
 
2936
+ #: bbp-includes/bbp-topic-functions.php:193
2937
+ #: bbp-includes/bbp-topic-functions.php:537
2938
  msgid "<strong>ERROR</strong>: Your topic cannot be empty."
2939
  msgstr ""
2940
 
2941
+ #: bbp-includes/bbp-topic-functions.php:210
2942
  msgid ""
2943
  "<strong>ERROR</strong>: This forum is a category. No topics can be created "
2944
  "in this forum."
2945
  msgstr ""
2946
 
2947
+ #: bbp-includes/bbp-topic-functions.php:214
2948
+ #: bbp-includes/bbp-topic-functions.php:504
2949
  msgid "<strong>ERROR</strong>: This forum has been closed to new topics."
2950
  msgstr ""
2951
 
2952
+ #: bbp-includes/bbp-topic-functions.php:218
2953
+ #: bbp-includes/bbp-topic-functions.php:508
2954
  msgid ""
2955
  "<strong>ERROR</strong>: This forum is private and you do not have the "
2956
  "capability to read or create new topics in it."
2957
  msgstr ""
2958
 
2959
+ #: bbp-includes/bbp-topic-functions.php:222
2960
+ #: bbp-includes/bbp-topic-functions.php:512
2961
  msgid ""
2962
  "<strong>ERROR</strong>: This forum is hidden and you do not have the "
2963
  "capability to read or create new topics in it."
2964
  msgstr ""
2965
 
2966
+ #: bbp-includes/bbp-topic-functions.php:233
2967
  msgid ""
2968
  "<strong>ERROR</strong>: Duplicate topic detected; it looks as though "
2969
  "you&#8217;ve already said that!"
2970
  msgstr ""
2971
 
2972
+ #: bbp-includes/bbp-topic-functions.php:238
2973
  msgid "<strong>ERROR</strong>: Your topic cannot be created at this time."
2974
  msgstr ""
2975
 
2976
+ #: bbp-includes/bbp-topic-functions.php:436
2977
+ #: bbp-includes/bbp-topic-functions.php:1043
2978
  msgid "<strong>ERROR</strong>: Topic ID not found."
2979
  msgstr ""
2980
 
2981
+ #: bbp-includes/bbp-topic-functions.php:447
2982
  msgid "<strong>ERROR</strong>: The topic you want to edit was not found."
2983
  msgstr ""
2984
 
2985
+ #: bbp-includes/bbp-topic-functions.php:458
2986
  msgid "<strong>ERROR</strong>: You do not have permission to edit that topic."
2987
  msgstr ""
2988
 
2989
+ #: bbp-includes/bbp-topic-functions.php:500
2990
  msgid ""
2991
  "<strong>ERROR</strong>: This forum is a category. No topics can be created "
2992
  "in it."
2993
  msgstr ""
2994
 
2995
+ #: bbp-includes/bbp-topic-functions.php:542
2996
  msgid "<strong>ERROR</strong>: Your topic cannot be edited at this time."
2997
  msgstr ""
2998
 
2999
+ #: bbp-includes/bbp-topic-functions.php:1054
3000
  msgid "<strong>ERROR</strong>: The topic you want to merge was not found."
3001
  msgstr ""
3002
 
3003
+ #: bbp-includes/bbp-topic-functions.php:1060
3004
+ #: bbp-includes/bbp-topic-functions.php:1357
3005
  msgid ""
3006
  "<strong>ERROR</strong>: You do not have the permissions to edit the source "
3007
  "topic."
3008
  msgstr ""
3009
 
3010
+ #: bbp-includes/bbp-topic-functions.php:1068
3011
  msgid "<strong>ERROR</strong>: Destination topic ID not found."
3012
  msgstr ""
3013
 
3014
+ #: bbp-includes/bbp-topic-functions.php:1074
3015
  msgid "<strong>ERROR</strong>: The topic you want to merge to was not found."
3016
  msgstr ""
3017
 
3018
+ #: bbp-includes/bbp-topic-functions.php:1078
3019
  msgid ""
3020
  "<strong>ERROR</strong>: You do not have the permissions to edit the "
3021
  "destination topic."
3022
  msgstr ""
3023
 
3024
+ #: bbp-includes/bbp-topic-functions.php:1330
3025
  msgid "<strong>ERROR</strong>: Reply ID to split the topic from not found!"
3026
  msgstr ""
3027
 
3028
+ #: bbp-includes/bbp-topic-functions.php:1338
3029
  msgid "<strong>ERROR</strong>: The reply you want to split from was not found."
3030
  msgstr ""
3031
 
3032
+ #: bbp-includes/bbp-topic-functions.php:1347
3033
  msgid "<strong>ERROR</strong>: The topic you want to split was not found."
3034
  msgstr ""
3035
 
3036
+ #: bbp-includes/bbp-topic-functions.php:1365
3037
  msgid "<strong>ERROR</strong>: You need to choose a valid split option."
3038
  msgstr ""
3039
 
3040
+ #: bbp-includes/bbp-topic-functions.php:1378
3041
  msgid "<strong>ERROR</strong>: Destination topic ID not found!"
3042
  msgstr ""
3043
 
3044
+ #: bbp-includes/bbp-topic-functions.php:1387
3045
  msgid "<strong>ERROR</strong>: The topic you want to split to was not found!"
3046
  msgstr ""
3047
 
3048
+ #: bbp-includes/bbp-topic-functions.php:1391
3049
  msgid ""
3050
  "<strong>ERROR</strong>: You do not have the permissions to edit the "
3051
  "destination topic!"
3052
  msgstr ""
3053
 
3054
+ #: bbp-includes/bbp-topic-functions.php:1430
3055
  msgid ""
3056
  "<strong>ERROR</strong>: There was a problem converting the reply into the "
3057
  "topic. Please try again."
3058
  msgstr ""
3059
 
3060
+ #: bbp-includes/bbp-topic-functions.php:1435
3061
  msgid ""
3062
  "<strong>ERROR</strong>: You do not have the permissions to create new "
3063
  "topics. The reply could not be converted into a topic."
3064
  msgstr ""
3065
 
3066
+ #: bbp-includes/bbp-topic-functions.php:1642
3067
  msgid ""
3068
  "<strong>ERROR</strong>: The following problem(s) have been found while "
3069
  "getting the tag: %s"
3070
  msgstr ""
3071
 
3072
+ #: bbp-includes/bbp-topic-functions.php:1660
3073
+ #: bbp-includes/bbp-topic-functions.php:1699
3074
  msgid ""
3075
  "<strong>ERROR</strong>: You do not have the permissions to edit the topic "
3076
  "tags."
3077
  msgstr ""
3078
 
3079
+ #: bbp-includes/bbp-topic-functions.php:1666
3080
+ #: bbp-includes/bbp-topic-functions.php:1705
3081
  msgid "<strong>ERROR</strong>: You need to enter a tag name."
3082
  msgstr ""
3083
 
3084
+ #: bbp-includes/bbp-topic-functions.php:1676
3085
  msgid ""
3086
  "<strong>ERROR</strong>: The following problem(s) have been found while "
3087
  "updating the tag: %s"
3088
  msgstr ""
3089
 
 
3090
  #: bbp-includes/bbp-topic-functions.php:1715
3091
+ #: bbp-includes/bbp-topic-functions.php:1733
3092
  msgid ""
3093
  "<strong>ERROR</strong>: The following problem(s) have been found while "
3094
  "merging the tags: %s"
3095
  msgstr ""
3096
 
3097
+ #: bbp-includes/bbp-topic-functions.php:1724
3098
  msgid ""
3099
  "<strong>ERROR</strong>: The tags which are being merged can not be the same."
3100
  msgstr ""
3101
 
3102
+ #: bbp-includes/bbp-topic-functions.php:1756
3103
  msgid ""
3104
  "<strong>ERROR</strong>: You do not have the permissions to delete the topic "
3105
  "tags."
3106
  msgstr ""
3107
 
3108
+ #: bbp-includes/bbp-topic-functions.php:1765
3109
  msgid ""
3110
  "<strong>ERROR</strong>: The following problem(s) have been found while "
3111
  "deleting the tag: %s"
3112
  msgstr ""
3113
 
3114
+ #: bbp-includes/bbp-topic-functions.php:1894
3115
  msgid "<strong>ERROR:</strong> You do not have the permission to do that."
3116
  msgstr ""
3117
 
3118
+ #: bbp-includes/bbp-topic-functions.php:1907
3119
  msgid "<strong>ERROR</strong>: There was a problem closing the topic."
3120
  msgstr ""
3121
 
3122
+ #: bbp-includes/bbp-topic-functions.php:1907
3123
  msgid "<strong>ERROR</strong>: There was a problem opening the topic."
3124
  msgstr ""
3125
 
3126
+ #: bbp-includes/bbp-topic-functions.php:1918
3127
  msgid "<strong>ERROR</strong>: There was a problem unsticking the topic."
3128
  msgstr ""
3129
 
3130
+ #: bbp-includes/bbp-topic-functions.php:1918
3131
  msgid "<strong>ERROR</strong>: There was a problem sticking the topic."
3132
  msgstr ""
3133
 
3134
+ #: bbp-includes/bbp-topic-functions.php:1928
3135
  msgid ""
3136
  "<strong>ERROR</strong>: There was a problem unmarking the topic as spam."
3137
  msgstr ""
3138
 
3139
+ #: bbp-includes/bbp-topic-functions.php:1928
3140
  msgid "<strong>ERROR</strong>: There was a problem marking the topic as spam."
3141
  msgstr ""
3142
 
3143
+ #: bbp-includes/bbp-topic-functions.php:1947
3144
  msgid "<strong>ERROR</strong>: There was a problem trashing the topic."
3145
  msgstr ""
3146
 
3147
+ #: bbp-includes/bbp-topic-functions.php:1955
3148
  msgid "<strong>ERROR</strong>: There was a problem untrashing the topic."
3149
  msgstr ""
3150
 
3151
+ #: bbp-includes/bbp-topic-functions.php:1963
3152
  msgid "<strong>ERROR</strong>: There was a problem deleting the topic."
3153
  msgstr ""
3154
 
3233
  msgstr ""
3234
 
3235
  #: bbp-includes/bbp-user-functions.php:468
 
3236
  msgid ""
3237
+ "<strong>ERROR</strong>: No topic was found! Which topic are you marking/"
3238
+ "unmarking as favorite?"
3239
  msgstr ""
3240
 
3241
+ #: bbp-includes/bbp-user-functions.php:476
3242
+ #: bbp-includes/bbp-user-functions.php:796
3243
  msgid ""
3244
+ "<strong>ERROR</strong>: You don't have the permission to edit favorites of "
3245
+ "that user!"
3246
  msgstr ""
3247
 
3248
+ #: bbp-includes/bbp-user-functions.php:517
3249
  msgid ""
3250
  "<strong>ERROR</strong>: There was a problem removing that topic from "
3251
  "favorites!"
3252
  msgstr ""
3253
 
3254
+ #: bbp-includes/bbp-user-functions.php:519
3255
  msgid "<strong>ERROR</strong>: There was a problem favoriting that topic!"
3256
  msgstr ""
3257
 
3258
+ #: bbp-includes/bbp-user-functions.php:788
3259
  msgid ""
3260
  "<strong>ERROR</strong>: No topic was found! Which topic are you subscribing/"
3261
  "unsubscribing to?"
3262
  msgstr ""
3263
 
3264
+ #: bbp-includes/bbp-user-functions.php:837
3265
  msgid ""
3266
  "<strong>ERROR</strong>: There was a problem unsubscribing from that topic!"
3267
  msgstr ""
3268
 
3269
+ #: bbp-includes/bbp-user-functions.php:839
3270
  msgid "<strong>ERROR</strong>: There was a problem subscribing to that topic!"
3271
  msgstr ""
3272
 
 
 
 
 
 
3273
  #: bbp-includes/bbp-user-template.php:437
3274
  msgid "Key Master"
3275
  msgstr ""
4345
  msgid "bbPress"
4346
  msgstr ""
4347
 
4348
+ #. #-#-#-#-# plugin.pot (bbPress 2.1-rc3) #-#-#-#-#
4349
  #. Plugin URI of the plugin/theme
4350
+ #. #-#-#-#-# plugin.pot (bbPress 2.1-rc3) #-#-#-#-#
4351
  #. Author URI of the plugin/theme
4352
  msgid "http://bbpress.org"
4353
  msgstr ""
bbpress.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * bbPress is forum software with a twist from the creators of WordPress.
7
  *
8
- * $Id: bbpress.php 4021 2012-06-27 21:28:12Z johnjamesjacoby $
9
  *
10
  * @package bbPress
11
  * @subpackage Main
@@ -17,7 +17,7 @@
17
  * Description: bbPress is forum software with a twist from the creators of WordPress.
18
  * Author: The bbPress Community
19
  * Author URI: http://bbpress.org
20
- * Version: 2.1-rc2
21
  * Text Domain: bbpress
22
  * Domain Path: /bbp-languages/
23
  */
@@ -173,7 +173,7 @@ final class bbPress {
173
 
174
  /** Versions **********************************************************/
175
 
176
- $this->version = '2.1-rc2'; // bbPress version
177
  $this->db_version = '203'; // bbPress DB version
178
 
179
  /** Paths *************************************************************/
5
  *
6
  * bbPress is forum software with a twist from the creators of WordPress.
7
  *
8
+ * $Id: bbpress.php 4027 2012-06-28 20:07:18Z johnjamesjacoby $
9
  *
10
  * @package bbPress
11
  * @subpackage Main
17
  * Description: bbPress is forum software with a twist from the creators of WordPress.
18
  * Author: The bbPress Community
19
  * Author URI: http://bbpress.org
20
+ * Version: 2.1-rc3
21
  * Text Domain: bbpress
22
  * Domain Path: /bbp-languages/
23
  */
173
 
174
  /** Versions **********************************************************/
175
 
176
+ $this->version = '2.1-rc3'; // bbPress version
177
  $this->db_version = '203'; // bbPress DB version
178
 
179
  /** Paths *************************************************************/
readme.txt CHANGED
@@ -26,6 +26,10 @@ We're keeping things as small and light as possible while still allowing for gre
26
 
27
  == Changelog ==
28
 
 
 
 
 
29
  = 2.1-rc-2 =
30
  * Fix settings screen regressions
31
  * Run topic and reply edits through Akismet
26
 
27
  == Changelog ==
28
 
29
+ = 2.1-rc-3 =
30
+ * Improve nonce checks
31
+ * Fixed user-edit bug
32
+
33
  = 2.1-rc-2 =
34
  * Fix settings screen regressions
35
  * Run topic and reply edits through Akismet