bbPress - Version 2.6-rc-7

Version Description

Download this release

Release Info

Developer johnjamesjacoby
Plugin Icon 128x128 bbPress
Version 2.6-rc-7
Comparing to
See all releases

Code changes from version 2.6-rc-6 to 2.6-rc-7

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 6854 2018-08-10 22:01:46Z 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 Contributors
19
  * Author URI: https://bbpress.org
20
- * Version: 2.6-rc-6
21
  * Text Domain: bbpress
22
  * Domain Path: /languages/
23
  * License: GPLv2 or later (license.txt)
@@ -203,7 +203,7 @@ final class bbPress {
203
 
204
  /** Versions **********************************************************/
205
 
206
- $this->version = '2.6-rc-6838';
207
  $this->db_version = '262';
208
 
209
  /** Paths *************************************************************/
@@ -298,10 +298,6 @@ final class bbPress {
298
  $this->extend = new stdClass(); // Plugins add data here
299
  $this->errors = new WP_Error(); // Feedback
300
 
301
- /** Engagements *******************************************************/
302
-
303
- $this->engagements = new BBP_User_Engagements_Meta(); // Meta strategy interface
304
-
305
  /** Deprecated ********************************************************/
306
 
307
  $this->tab_index = apply_filters( 'bbp_default_tab_index', 100 );
@@ -406,6 +402,7 @@ final class bbPress {
406
  $actions = array(
407
  'setup_theme', // Setup the default theme compat
408
  'setup_current_user', // Setup currently logged in user
 
409
  'roles_init', // User roles init
410
  'register_meta', // Register meta (forum|topic|reply|user)
411
  'register_post_types', // Register post types (forum|topic|reply)
@@ -790,6 +787,21 @@ final class bbPress {
790
  $this->current_user = wp_get_current_user();
791
  }
792
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
793
  /**
794
  * Initialize forum-specific roles
795
  *
5
  *
6
  * bbPress is forum software with a twist from the creators of WordPress.
7
  *
8
+ * $Id: bbpress.php 6878 2018-12-05 18:37:32Z 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 Contributors
19
  * Author URI: https://bbpress.org
20
+ * Version: 2.6-rc-7
21
  * Text Domain: bbpress
22
  * Domain Path: /languages/
23
  * License: GPLv2 or later (license.txt)
203
 
204
  /** Versions **********************************************************/
205
 
206
+ $this->version = '2.6-rc-6878';
207
  $this->db_version = '262';
208
 
209
  /** Paths *************************************************************/
298
  $this->extend = new stdClass(); // Plugins add data here
299
  $this->errors = new WP_Error(); // Feedback
300
 
 
 
 
 
301
  /** Deprecated ********************************************************/
302
 
303
  $this->tab_index = apply_filters( 'bbp_default_tab_index', 100 );
402
  $actions = array(
403
  'setup_theme', // Setup the default theme compat
404
  'setup_current_user', // Setup currently logged in user
405
+ 'setup_engagements', // Setup user engagements strategy
406
  'roles_init', // User roles init
407
  'register_meta', // Register meta (forum|topic|reply|user)
408
  'register_post_types', // Register post types (forum|topic|reply)
787
  $this->current_user = wp_get_current_user();
788
  }
789
 
790
+ /**
791
+ * Setup the user engagements strategy
792
+ *
793
+ * @since 2.6.0 bbPress (r6875)
794
+ */
795
+ public function setup_engagements() {
796
+
797
+ // Setup the class name
798
+ $strategy = ucwords( bbp_engagements_strategy() );
799
+ $class_name = "BBP_User_Engagements_{$strategy}";
800
+
801
+ // Setup the engagements interface
802
+ $this->engagements = new $class_name;
803
+ }
804
+
805
  /**
806
  * Initialize forum-specific roles
807
  *
bbpress.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the GPLv2 or later (license.txt).
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: bbPress 2.6-rc-6\n"
6
  "Report-Msgid-Bugs-To: https://bbpress.trac.wordpress.org\n"
7
- "POT-Creation-Date: 2018-09-03 21:22:01+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -17,27 +17,27 @@ msgstr ""
17
  msgid "Cheatin’ huh?"
18
  msgstr ""
19
 
20
- #: bbpress.php:516
21
  msgid "bbPress Forums"
22
  msgstr ""
23
 
24
- #: bbpress.php:542
25
  msgid "bbPress Topics"
26
  msgstr ""
27
 
28
- #: bbpress.php:568
29
  msgid "bbPress Replies"
30
  msgstr ""
31
 
32
- #: bbpress.php:712
33
  msgid "Most popular topics"
34
  msgstr ""
35
 
36
- #: bbpress.php:725
37
  msgid "Topics with no replies"
38
  msgstr ""
39
 
40
- #: bbpress.php:758
41
  msgid "bbPress Item Count"
42
  msgstr ""
43
 
@@ -46,7 +46,7 @@ msgstr ""
46
  #: includes/admin/tools/common.php:269 includes/admin/topics.php:854
47
  #: includes/extend/buddypress/activity.php:197
48
  #: includes/extend/buddypress/activity.php:391
49
- #: includes/forums/template.php:2592 includes/topics/template.php:47
50
  #: includes/topics/template.php:48
51
  #: templates/default/bbpress/content-statistics.php:30
52
  #: templates/default/bbpress/loop-forums.php:21
@@ -60,7 +60,7 @@ msgstr ""
60
  #: includes/core/theme-compat.php:694
61
  #: includes/extend/buddypress/activity.php:207
62
  #: includes/extend/buddypress/activity.php:392
63
- #: includes/forums/template.php:2646 includes/replies/template.php:49
64
  #: includes/replies/template.php:50
65
  #: templates/default/bbpress/content-statistics.php:35
66
  #: templates/default/bbpress/loop-forums.php:23
@@ -621,13 +621,13 @@ msgstr ""
621
  #: includes/admin/classes/class-bbp-topic-replies-list-table.php:91
622
  #: includes/admin/replies.php:235 includes/admin/replies.php:818
623
  #: includes/admin/topics.php:240 includes/admin/topics.php:1023
624
- #: includes/replies/template.php:2028 includes/topics/template.php:2833
625
  msgid "Spam"
626
  msgstr ""
627
 
628
  #: includes/admin/classes/class-bbp-topic-replies-list-table.php:92
629
  #: includes/admin/replies.php:833 includes/admin/topics.php:1037
630
- #: includes/replies/template.php:1960 includes/topics/template.php:2541
631
  msgid "Trash"
632
  msgstr ""
633
 
@@ -639,8 +639,8 @@ msgstr ""
639
 
640
  #: includes/admin/classes/class-bbp-topic-replies-list-table.php:149
641
  #: includes/common/template.php:2262 includes/forums/template.php:54
642
- #: includes/replies/template.php:55 includes/replies/template.php:1848
643
- #: includes/topics/template.php:53 includes/topics/template.php:2429
644
  #: templates/default/bbpress/user-details.php:74
645
  msgid "Edit"
646
  msgstr ""
@@ -1050,7 +1050,7 @@ msgstr[0] ""
1050
  msgstr[1] ""
1051
 
1052
  #: includes/admin/metaboxes.php:166 includes/admin/settings.php:367
1053
- #: includes/topics/template.php:3393
1054
  msgid "Topic Tag"
1055
  msgid_plural "Topic Tags"
1056
  msgstr[0] ""
@@ -1395,7 +1395,7 @@ msgid "<strong>Reply To</strong> determines the threading of the reply."
1395
  msgstr ""
1396
 
1397
  #: includes/admin/replies.php:233 includes/admin/topics.php:238
1398
- #: includes/replies/template.php:2029 includes/topics/template.php:2834
1399
  msgid "Unspam"
1400
  msgstr ""
1401
 
@@ -1514,22 +1514,22 @@ msgid "Not Spam"
1514
  msgstr ""
1515
 
1516
  #: includes/admin/replies.php:831 includes/admin/topics.php:1035
1517
- #: includes/replies/template.php:1978 includes/topics/template.php:2558
1518
  msgid "Restore this item from the Trash"
1519
  msgstr ""
1520
 
1521
  #: includes/admin/replies.php:831 includes/admin/topics.php:1035
1522
- #: includes/replies/template.php:1961 includes/topics/template.php:2542
1523
  msgid "Restore"
1524
  msgstr ""
1525
 
1526
  #: includes/admin/replies.php:833 includes/admin/topics.php:1037
1527
- #: includes/replies/template.php:1982 includes/topics/template.php:2560
1528
  msgid "Move this item to the Trash"
1529
  msgstr ""
1530
 
1531
  #: includes/admin/replies.php:837 includes/admin/topics.php:1041
1532
- #: includes/replies/template.php:1987 includes/topics/template.php:2564
1533
  msgid "Delete this item permanently"
1534
  msgstr ""
1535
 
@@ -1649,7 +1649,7 @@ msgstr ""
1649
  msgid "Anonymous"
1650
  msgstr ""
1651
 
1652
- #: includes/admin/settings.php:168 includes/admin/settings.php:1998
1653
  msgid "Revisions"
1654
  msgstr ""
1655
 
@@ -2264,7 +2264,7 @@ msgid ""
2264
  "will appear next to the problem slug(s)."
2265
  msgstr ""
2266
 
2267
- #: includes/admin/settings.php:1996
2268
  #: templates/default/bbpress/loop-forums.php:24
2269
  #: templates/default/bbpress/loop-replies.php:21
2270
  #: templates/default/bbpress/loop-replies.php:47
@@ -2272,63 +2272,63 @@ msgstr ""
2272
  msgid "Posts"
2273
  msgstr ""
2274
 
2275
- #: includes/admin/settings.php:1997
2276
  msgid "Pages"
2277
  msgstr ""
2278
 
2279
- #: includes/admin/settings.php:1999
2280
  msgid "Attachments"
2281
  msgstr ""
2282
 
2283
- #: includes/admin/settings.php:2000
2284
  msgid "Menus"
2285
  msgstr ""
2286
 
2287
- #: includes/admin/settings.php:2003
2288
  msgid "Tag base"
2289
  msgstr ""
2290
 
2291
- #: includes/admin/settings.php:2006
2292
  msgid "Category base"
2293
  msgstr ""
2294
 
2295
- #: includes/admin/settings.php:2011
2296
  msgid "Forums base"
2297
  msgstr ""
2298
 
2299
- #: includes/admin/settings.php:2014
2300
  msgid "Topics base"
2301
  msgstr ""
2302
 
2303
- #: includes/admin/settings.php:2017
2304
  msgid "Forum slug"
2305
  msgstr ""
2306
 
2307
- #: includes/admin/settings.php:2020
2308
  msgid "Topic slug"
2309
  msgstr ""
2310
 
2311
- #: includes/admin/settings.php:2023
2312
  msgid "Reply slug"
2313
  msgstr ""
2314
 
2315
- #: includes/admin/settings.php:2026
2316
  msgid "User base"
2317
  msgstr ""
2318
 
2319
- #: includes/admin/settings.php:2029
2320
  msgid "View base"
2321
  msgstr ""
2322
 
2323
- #: includes/admin/settings.php:2032
2324
  msgid "Topic tag slug"
2325
  msgstr ""
2326
 
2327
- #: includes/admin/settings.php:2044
2328
  msgid "%s page"
2329
  msgstr ""
2330
 
2331
- #: includes/admin/settings.php:2067
2332
  msgid "Possible %1$s conflict: %2$s"
2333
  msgstr ""
2334
 
@@ -2368,8 +2368,8 @@ msgstr ""
2368
  msgid "Users"
2369
  msgstr ""
2370
 
2371
- #: includes/admin/tools/common.php:275 includes/topics/template.php:3391
2372
- #: includes/topics/template.php:3392
2373
  #: templates/default/bbpress/content-statistics.php:40
2374
  msgid "Topic Tags"
2375
  msgstr ""
@@ -3439,7 +3439,7 @@ msgstr ""
3439
  msgid "Voices"
3440
  msgstr ""
3441
 
3442
- #: includes/admin/topics.php:935 includes/topics/template.php:2014
3443
  msgid "No Replies"
3444
  msgstr ""
3445
 
@@ -3463,7 +3463,7 @@ msgstr ""
3463
  msgid "Unstick this topic"
3464
  msgstr ""
3465
 
3466
- #: includes/admin/topics.php:1013 includes/topics/template.php:2715
3467
  msgid "Unstick"
3468
  msgstr ""
3469
 
@@ -3471,7 +3471,7 @@ msgstr ""
3471
  msgid "Stick this topic to its forum"
3472
  msgstr ""
3473
 
3474
- #: includes/admin/topics.php:1016 includes/topics/template.php:2714
3475
  msgid "Stick"
3476
  msgstr ""
3477
 
@@ -3479,7 +3479,7 @@ msgstr ""
3479
  msgid "Stick this topic to front"
3480
  msgstr ""
3481
 
3482
- #: includes/admin/topics.php:1016 includes/topics/template.php:2716
3483
  msgid "(to front)"
3484
  msgstr ""
3485
 
@@ -3543,7 +3543,7 @@ msgstr ""
3543
  msgid "Site Role"
3544
  msgstr ""
3545
 
3546
- #: includes/common/classes.php:493 includes/replies/template.php:2564
3547
  msgid "%1$s - %2$s"
3548
  msgstr ""
3549
 
@@ -3601,31 +3601,31 @@ msgid_plural "%s seconds"
3601
  msgstr[0] ""
3602
  msgstr[1] ""
3603
 
3604
- #: includes/common/functions.php:376 includes/common/functions.php:434
3605
  msgid "Pending: %s"
3606
  msgstr ""
3607
 
3608
- #: includes/common/functions.php:380 includes/common/functions.php:437
3609
  msgid "Private: %s"
3610
  msgstr ""
3611
 
3612
- #: includes/common/functions.php:384 includes/common/functions.php:441
3613
  msgid "Spammed: %s"
3614
  msgstr ""
3615
 
3616
- #: includes/common/functions.php:388 includes/common/functions.php:445
3617
  msgid "Trashed: %s"
3618
  msgstr ""
3619
 
3620
- #: includes/common/functions.php:529
3621
  msgid "<strong>ERROR</strong>: Invalid author name."
3622
  msgstr ""
3623
 
3624
- #: includes/common/functions.php:535
3625
  msgid "<strong>ERROR</strong>: Invalid email address."
3626
  msgstr ""
3627
 
3628
- #: includes/common/functions.php:1039
3629
  msgid ""
3630
  "%1$s wrote:\n"
3631
  "\n"
@@ -3640,7 +3640,7 @@ msgid ""
3640
  "Login and visit the topic to unsubscribe from these emails."
3641
  msgstr ""
3642
 
3643
- #: includes/common/functions.php:1195
3644
  msgid ""
3645
  "%1$s wrote:\n"
3646
  "\n"
@@ -3969,63 +3969,63 @@ msgstr ""
3969
  msgid "And this is the very first reply."
3970
  msgstr ""
3971
 
3972
- #: includes/extend/akismet.php:315
 
 
 
 
3973
  #. translators: %s: reporter name
3974
  msgid "%s reported this topic as spam"
3975
  msgstr ""
3976
 
3977
- #: includes/extend/akismet.php:320
3978
  #. translators: %s: reporter name
3979
  msgid "%s reported this reply as spam"
3980
  msgstr ""
3981
 
3982
- #: includes/extend/akismet.php:325
3983
  #. translators: 1: reporter name, 2: comment type
3984
  msgid "%1$s reported this %2$s as spam"
3985
  msgstr ""
3986
 
3987
- #: includes/extend/akismet.php:340
3988
  #. translators: %s: reporter name
3989
  msgid "%s reported this topic as not spam"
3990
  msgstr ""
3991
 
3992
- #: includes/extend/akismet.php:345
3993
  #. translators: %s: reporter name
3994
  msgid "%s reported this reply as not spam"
3995
  msgstr ""
3996
 
3997
- #: includes/extend/akismet.php:350
3998
  #. translators: 1: reporter name, 2: comment type
3999
  msgid "%1$s reported this %2$s as not spam"
4000
  msgstr ""
4001
 
4002
- #: includes/extend/akismet.php:441
4003
- msgid "No response"
4004
- msgstr ""
4005
-
4006
- #: includes/extend/akismet.php:495
4007
  msgid "Akismet caught this post as spam"
4008
  msgstr ""
4009
 
4010
- #: includes/extend/akismet.php:499 includes/extend/akismet.php:511
4011
  msgid "Post status was changed to %s"
4012
  msgstr ""
4013
 
4014
- #: includes/extend/akismet.php:507
4015
  msgid "Akismet cleared this post as not spam"
4016
  msgstr ""
4017
 
4018
- #: includes/extend/akismet.php:518
4019
  msgid ""
4020
  "Akismet was unable to check this post (response: %s), will automatically "
4021
  "retry again later."
4022
  msgstr ""
4023
 
4024
- #: includes/extend/akismet.php:720 includes/extend/akismet.php:730
4025
  msgid "Akismet History"
4026
  msgstr ""
4027
 
4028
- #: includes/extend/akismet.php:774
4029
  msgid "No recorded history. Akismet has not checked this post."
4030
  msgstr ""
4031
 
@@ -4089,7 +4089,7 @@ msgstr ""
4089
  #: includes/topics/functions.php:468 includes/topics/functions.php:1084
4090
  #: includes/topics/functions.php:1359 includes/topics/functions.php:1695
4091
  #: includes/topics/functions.php:1739 includes/topics/functions.php:1800
4092
- #: includes/users/engagements.php:604 includes/users/engagements.php:841
4093
  #: includes/users/functions.php:196 includes/users/functions.php:202
4094
  #: includes/users/functions.php:382
4095
  msgid "<strong>ERROR</strong>: Are you sure you wanted to do that?"
@@ -4301,67 +4301,67 @@ msgstr ""
4301
  msgid "Forum list"
4302
  msgstr ""
4303
 
4304
- #: includes/forums/template.php:806 includes/topics/template.php:1807
4305
  #: includes/users/template.php:1273
4306
  msgid "Subscribe"
4307
  msgstr ""
4308
 
4309
- #: includes/forums/template.php:807 includes/topics/template.php:1808
4310
  #: includes/users/template.php:1274
4311
  msgid "Unsubscribe"
4312
  msgstr ""
4313
 
4314
- #: includes/forums/template.php:1143 includes/forums/template.php:1944
4315
  msgid "%s topic"
4316
  msgid_plural "%s topics"
4317
  msgstr[0] ""
4318
  msgstr[1] ""
4319
 
4320
- #: includes/forums/template.php:1158 includes/topics/template.php:2057
4321
  msgid "(+%s hidden)"
4322
  msgid_plural "(+%s hidden)"
4323
  msgstr[0] ""
4324
  msgstr[1] ""
4325
 
4326
- #: includes/forums/template.php:1933 includes/topics/template.php:2042
4327
  msgid "%s reply"
4328
  msgid_plural "%s replies"
4329
  msgstr[0] ""
4330
  msgstr[1] ""
4331
 
4332
- #: includes/forums/template.php:1953
4333
  msgid "This category has %1$s, %2$s, and was last updated %3$s by %4$s."
4334
  msgstr ""
4335
 
4336
- #: includes/forums/template.php:1954
4337
  msgid "This forum has %1$s, %2$s, and was last updated %3$s by %4$s."
4338
  msgstr ""
4339
 
4340
- #: includes/forums/template.php:1959
4341
  msgid "This category has %1$s, and was last updated %2$s by %3$s."
4342
  msgstr ""
4343
 
4344
- #: includes/forums/template.php:1960
4345
  msgid "This forum has %1$s, and was last updated %2$s by %3$s."
4346
  msgstr ""
4347
 
4348
- #: includes/forums/template.php:1966
4349
  msgid "This category has %1$s and %2$s."
4350
  msgstr ""
4351
 
4352
- #: includes/forums/template.php:1967
4353
  msgid "This forum has %1$s and %2$s."
4354
  msgstr ""
4355
 
4356
- #: includes/forums/template.php:1972
4357
  msgid "This category has %1$s."
4358
  msgstr ""
4359
 
4360
- #: includes/forums/template.php:1973
4361
  msgid "This forum has %1$s."
4362
  msgstr ""
4363
 
4364
- #: includes/forums/template.php:1977
4365
  msgid "This forum is empty."
4366
  msgstr ""
4367
 
@@ -4670,62 +4670,62 @@ msgstr ""
4670
  msgid "Visit %s's website"
4671
  msgstr ""
4672
 
4673
- #: includes/replies/template.php:1652
4674
  #: templates/default/bbpress/form-user-passwords.php:31
4675
  msgid "Cancel"
4676
  msgstr ""
4677
 
4678
- #: includes/replies/template.php:1962 includes/topics/template.php:2543
4679
  #: templates/default/bbpress/form-topic-tag.php:100
4680
  #: templates/default/bbpress/form-topic-tag.php:117
4681
  msgid "Delete"
4682
  msgstr ""
4683
 
4684
- #: includes/replies/template.php:1987 includes/topics/template.php:2564
4685
  msgid "Are you sure you want to delete that permanently?"
4686
  msgstr ""
4687
 
4688
- #: includes/replies/template.php:2084
4689
  msgid "Move"
4690
  msgstr ""
4691
 
4692
- #: includes/replies/template.php:2085
4693
  msgid "Move this reply"
4694
  msgstr ""
4695
 
4696
- #: includes/replies/template.php:2143
4697
  msgid "Split"
4698
  msgstr ""
4699
 
4700
- #: includes/replies/template.php:2144
4701
  msgid "Split the topic from this reply"
4702
  msgstr ""
4703
 
4704
- #: includes/replies/template.php:2378
4705
  msgid "Viewing %1$s reply thread"
4706
  msgid_plural "Viewing %1$s reply threads"
4707
  msgstr[0] ""
4708
  msgstr[1] ""
4709
 
4710
- #: includes/replies/template.php:2385
4711
  msgid "Viewing %1$s reply"
4712
  msgid_plural "Viewing %1$s replies"
4713
  msgstr[0] ""
4714
  msgstr[1] ""
4715
 
4716
- #: includes/replies/template.php:2389
4717
  msgid "Viewing %2$s replies (of %4$s total)"
4718
  msgid_plural "Viewing %1$s replies - %2$s through %3$s (of %4$s total)"
4719
  msgstr[0] ""
4720
  msgstr[1] ""
4721
 
4722
- #: includes/replies/template.php:2397
4723
  msgid "Viewing %1$s post"
4724
  msgid_plural "Viewing %1$s posts"
4725
  msgstr[0] ""
4726
  msgstr[1] ""
4727
 
4728
- #: includes/replies/template.php:2401
4729
  msgid "Viewing %2$s post (of %4$s total)"
4730
  msgid_plural "Viewing %1$s posts - %2$s through %3$s (of %4$s total)"
4731
  msgstr[0] ""
@@ -5029,185 +5029,185 @@ msgstr ""
5029
  msgid "This topic was modified %1$s by %2$s."
5030
  msgstr ""
5031
 
5032
- #: includes/topics/template.php:1855 includes/users/template.php:1075
5033
  msgid "Favorite"
5034
  msgstr ""
5035
 
5036
- #: includes/topics/template.php:1856 includes/users/template.php:1076
5037
  msgid "Unfavorite"
5038
  msgstr ""
5039
 
5040
- #: includes/topics/template.php:2221
5041
  msgid "Tagged:"
5042
  msgstr ""
5043
 
5044
- #: includes/topics/template.php:2782
5045
  #: templates/default/bbpress/form-topic-tag.php:69
5046
  #: templates/default/bbpress/form-topic-tag.php:85
5047
  msgid "Merge"
5048
  msgstr ""
5049
 
5050
- #: includes/topics/template.php:3014
5051
  msgid "Viewing %1$s topic"
5052
  msgid_plural "Viewing %1$s topics"
5053
  msgstr[0] ""
5054
  msgstr[1] ""
5055
 
5056
- #: includes/topics/template.php:3018
5057
  msgid "Viewing topic %2$s (of %4$s total)"
5058
  msgid_plural "Viewing %1$s topics - %2$s through %3$s (of %4$s total)"
5059
  msgstr[0] ""
5060
  msgstr[1] ""
5061
 
5062
- #: includes/topics/template.php:3075
5063
  msgid "This topic is marked as spam."
5064
  msgstr ""
5065
 
5066
- #: includes/topics/template.php:3080
5067
  msgid "This topic is in the trash."
5068
  msgstr ""
5069
 
5070
- #: includes/topics/template.php:3330
5071
  msgid "%s voice"
5072
  msgid_plural "%s voices"
5073
  msgstr[0] ""
5074
  msgstr[1] ""
5075
 
5076
- #: includes/topics/template.php:3336
5077
  msgid "This topic has %1$s, %2$s, and was last updated %3$s by %4$s."
5078
  msgstr ""
5079
 
5080
- #: includes/topics/template.php:3340
5081
  msgid "This topic has %1$s and %2$s."
5082
  msgstr ""
5083
 
5084
- #: includes/topics/template.php:3344
5085
  msgid "This topic has no replies."
5086
  msgstr ""
5087
 
5088
- #: includes/topics/template.php:3394
5089
  msgid "Search Tags"
5090
  msgstr ""
5091
 
5092
- #: includes/topics/template.php:3395
5093
  msgid "Popular Tags"
5094
  msgstr ""
5095
 
5096
- #: includes/topics/template.php:3396
5097
  msgid "All Tags"
5098
  msgstr ""
5099
 
5100
- #: includes/topics/template.php:3397
5101
  msgid "Parent Tag"
5102
  msgstr ""
5103
 
5104
- #: includes/topics/template.php:3398
5105
  msgid "Parent Tag:"
5106
  msgstr ""
5107
 
5108
- #: includes/topics/template.php:3399
5109
  msgid "Edit Tag"
5110
  msgstr ""
5111
 
5112
- #: includes/topics/template.php:3400
5113
  msgid "View Topic Tag"
5114
  msgstr ""
5115
 
5116
- #: includes/topics/template.php:3401
5117
  msgid "Update Tag"
5118
  msgstr ""
5119
 
5120
- #: includes/topics/template.php:3402
5121
  msgid "Add New Tag"
5122
  msgstr ""
5123
 
5124
- #: includes/topics/template.php:3403
5125
  msgid "New Tag Name"
5126
  msgstr ""
5127
 
5128
- #: includes/topics/template.php:3404
5129
  msgid "Separate topic tags with commas"
5130
  msgstr ""
5131
 
5132
- #: includes/topics/template.php:3405
5133
  msgid "Add or remove tags"
5134
  msgstr ""
5135
 
5136
- #: includes/topics/template.php:3406
5137
  msgid "Choose from the most used tags"
5138
  msgstr ""
5139
 
5140
- #: includes/topics/template.php:3407
5141
  msgid "No topic tags found."
5142
  msgstr ""
5143
 
5144
- #: includes/topics/template.php:3408
5145
  msgid "No topic tags"
5146
  msgstr ""
5147
 
5148
- #: includes/topics/template.php:3409
5149
  msgid "Topic tags list navigation"
5150
  msgstr ""
5151
 
5152
- #: includes/topics/template.php:3410
5153
  msgid "Topic tags list"
5154
  msgstr ""
5155
 
5156
- #: includes/topics/template.php:3411
5157
  msgid "Most used topic tags"
5158
  msgstr ""
5159
 
5160
- #: includes/topics/template.php:3412
5161
  msgid "&larr; Back to Tags"
5162
  msgstr ""
5163
 
5164
- #: includes/topics/template.php:4027
5165
  msgid "Nobody"
5166
  msgstr ""
5167
 
5168
- #: includes/topics/template.php:4031
5169
  msgid "%1$s is currently editing this topic."
5170
  msgstr ""
5171
 
5172
- #: includes/users/engagements.php:600
5173
  msgid ""
5174
  "<strong>ERROR</strong>: No topic was found. Which topic are you "
5175
  "marking/unmarking as favorite?"
5176
  msgstr ""
5177
 
5178
- #: includes/users/engagements.php:608
5179
  msgid ""
5180
  "<strong>ERROR</strong>: You do not have permission to edit favorites for "
5181
  "that user!."
5182
  msgstr ""
5183
 
5184
- #: includes/users/engagements.php:649
5185
  msgid ""
5186
  "<strong>ERROR</strong>: There was a problem removing that topic from "
5187
  "favorites."
5188
  msgstr ""
5189
 
5190
- #: includes/users/engagements.php:651
5191
  msgid "<strong>ERROR</strong>: There was a problem favoriting that topic."
5192
  msgstr ""
5193
 
5194
- #: includes/users/engagements.php:837
5195
  msgid ""
5196
  "<strong>ERROR</strong>: Not found. What are you subscribing/unsubscribing "
5197
  "to?"
5198
  msgstr ""
5199
 
5200
- #: includes/users/engagements.php:845
5201
  msgid ""
5202
  "<strong>ERROR</strong>: You do not have permission to edit subscriptions of "
5203
  "that user."
5204
  msgstr ""
5205
 
5206
- #: includes/users/engagements.php:888
5207
  msgid "<strong>ERROR</strong>: There was a problem unsubscribing."
5208
  msgstr ""
5209
 
5210
- #: includes/users/engagements.php:890
5211
  msgid "<strong>ERROR</strong>: There was a problem subscribing."
5212
  msgstr ""
5213
 
@@ -5302,7 +5302,7 @@ msgstr ""
5302
  msgid "Registration complete. Please check your e-mail."
5303
  msgstr ""
5304
 
5305
- #: includes/users/template.php:2362
5306
  msgid "Moderators:"
5307
  msgstr ""
5308
 
@@ -5964,46 +5964,46 @@ msgstr ""
5964
  msgid "Forum Topics Started"
5965
  msgstr ""
5966
 
5967
- #: templates/default/bbpress-functions.php:220
5968
  msgid "Something went wrong. Refresh your browser and try again."
5969
  msgstr ""
5970
 
5971
- #: templates/default/bbpress-functions.php:235
5972
  msgid "Favorites are no longer active."
5973
  msgstr ""
5974
 
5975
- #: templates/default/bbpress-functions.php:240
5976
  msgid "Please login to favorite."
5977
  msgstr ""
5978
 
5979
- #: templates/default/bbpress-functions.php:250
5980
- #: templates/default/bbpress-functions.php:314
5981
  msgid "You do not have permission to do this."
5982
  msgstr ""
5983
 
5984
- #: templates/default/bbpress-functions.php:260
5985
  msgid "Favorite failed."
5986
  msgstr ""
5987
 
5988
- #: templates/default/bbpress-functions.php:265
5989
- #: templates/default/bbpress-functions.php:329
5990
  msgid "Are you sure you meant to do that?"
5991
  msgstr ""
5992
 
5993
- #: templates/default/bbpress-functions.php:275
5994
- #: templates/default/bbpress-functions.php:339
5995
  msgid "The request was unsuccessful. Please try again."
5996
  msgstr ""
5997
 
5998
- #: templates/default/bbpress-functions.php:299
5999
  msgid "Subscriptions are no longer active."
6000
  msgstr ""
6001
 
6002
- #: templates/default/bbpress-functions.php:304
6003
  msgid "Please login to subscribe."
6004
  msgstr ""
6005
 
6006
- #: templates/default/bbpress-functions.php:324
6007
  msgid "Subcription failed."
6008
  msgstr ""
6009
 
@@ -6031,48 +6031,48 @@ msgstr ""
6031
  msgid "The bbPress Contributors"
6032
  msgstr ""
6033
 
6034
- #: bbpress.php:600
6035
  msgctxt "post"
6036
  msgid "Closed"
6037
  msgstr ""
6038
 
6039
- #: bbpress.php:601
6040
  msgctxt "post"
6041
  msgid "Closed <span class=\"count\">(%s)</span>"
6042
  msgid_plural "Closed <span class=\"count\">(%s)</span>"
6043
  msgstr[0] ""
6044
  msgstr[1] ""
6045
 
6046
- #: bbpress.php:613
6047
  msgctxt "post"
6048
  msgid "Spam"
6049
  msgstr ""
6050
 
6051
- #: bbpress.php:614
6052
  msgctxt "post"
6053
  msgid "Spam <span class=\"count\">(%s)</span>"
6054
  msgid_plural "Spam <span class=\"count\">(%s)</span>"
6055
  msgstr[0] ""
6056
  msgstr[1] ""
6057
 
6058
- #: bbpress.php:627
6059
  msgctxt "post"
6060
  msgid "Orphan"
6061
  msgstr ""
6062
 
6063
- #: bbpress.php:628
6064
  msgctxt "post"
6065
  msgid "Orphan <span class=\"count\">(%s)</span>"
6066
  msgid_plural "Orphans <span class=\"count\">(%s)</span>"
6067
  msgstr[0] ""
6068
  msgstr[1] ""
6069
 
6070
- #: bbpress.php:641
6071
  msgctxt "post"
6072
  msgid "Hidden"
6073
  msgstr ""
6074
 
6075
- #: bbpress.php:642
6076
  msgctxt "post"
6077
  msgid "Hidden <span class=\"count\">(%s)</span>"
6078
  msgid_plural "Hidden <span class=\"count\">(%s)</span>"
@@ -6134,7 +6134,7 @@ msgctxt "Open a Topic"
6134
  msgid "Open"
6135
  msgstr ""
6136
 
6137
- #: includes/common/formatting.php:693
6138
  msgctxt "Separator in time since"
6139
  msgid ","
6140
  msgstr ""
@@ -6251,27 +6251,27 @@ msgctxt "date at time"
6251
  msgid "%1$s at %2$s"
6252
  msgstr ""
6253
 
6254
- #: includes/replies/template.php:1579 includes/topics/template.php:2879
6255
  msgctxt "verb"
6256
  msgid "Reply"
6257
  msgstr ""
6258
 
6259
- #: includes/replies/template.php:2200
6260
  msgctxt "Pending Status"
6261
  msgid "Approve"
6262
  msgstr ""
6263
 
6264
- #: includes/replies/template.php:2201
6265
  msgctxt "Pending Status"
6266
  msgid "Unapprove"
6267
  msgstr ""
6268
 
6269
- #: includes/replies/template.php:2563
6270
  msgctxt "Default reply to dropdown text"
6271
  msgid "None"
6272
  msgstr ""
6273
 
6274
- #: includes/topics/functions.php:1850 includes/topics/template.php:2607
6275
  msgctxt "Open the topic"
6276
  msgid "Open"
6277
  msgstr ""
@@ -6281,7 +6281,7 @@ msgctxt "Close the topic"
6281
  msgid "Closed"
6282
  msgstr ""
6283
 
6284
- #: includes/topics/template.php:2606
6285
  msgctxt "Close the topic"
6286
  msgid "Close"
6287
  msgstr ""
@@ -6301,7 +6301,7 @@ msgctxt "Unapprove the topic"
6301
  msgid "Pending"
6302
  msgstr ""
6303
 
6304
- #: includes/topics/template.php:2661
6305
  msgctxt "Unapprove the topic"
6306
  msgid "Unapprove"
6307
  msgstr ""
@@ -6321,7 +6321,7 @@ msgctxt "Make topic super sticky"
6321
  msgid "Super Sticky"
6322
  msgstr ""
6323
 
6324
- #: includes/topics/template.php:2660
6325
  msgctxt "Approve the topic"
6326
  msgid "Approve"
6327
  msgstr ""
2
  # This file is distributed under the GPLv2 or later (license.txt).
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: bbPress 2.6-rc-7\n"
6
  "Report-Msgid-Bugs-To: https://bbpress.trac.wordpress.org\n"
7
+ "POT-Creation-Date: 2018-12-05 18:40:05+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
17
  msgid "Cheatin&#8217; huh?"
18
  msgstr ""
19
 
20
+ #: bbpress.php:513
21
  msgid "bbPress Forums"
22
  msgstr ""
23
 
24
+ #: bbpress.php:539
25
  msgid "bbPress Topics"
26
  msgstr ""
27
 
28
+ #: bbpress.php:565
29
  msgid "bbPress Replies"
30
  msgstr ""
31
 
32
+ #: bbpress.php:709
33
  msgid "Most popular topics"
34
  msgstr ""
35
 
36
+ #: bbpress.php:722
37
  msgid "Topics with no replies"
38
  msgstr ""
39
 
40
+ #: bbpress.php:755
41
  msgid "bbPress Item Count"
42
  msgstr ""
43
 
46
  #: includes/admin/tools/common.php:269 includes/admin/topics.php:854
47
  #: includes/extend/buddypress/activity.php:197
48
  #: includes/extend/buddypress/activity.php:391
49
+ #: includes/forums/template.php:2610 includes/topics/template.php:47
50
  #: includes/topics/template.php:48
51
  #: templates/default/bbpress/content-statistics.php:30
52
  #: templates/default/bbpress/loop-forums.php:21
60
  #: includes/core/theme-compat.php:694
61
  #: includes/extend/buddypress/activity.php:207
62
  #: includes/extend/buddypress/activity.php:392
63
+ #: includes/forums/template.php:2664 includes/replies/template.php:49
64
  #: includes/replies/template.php:50
65
  #: templates/default/bbpress/content-statistics.php:35
66
  #: templates/default/bbpress/loop-forums.php:23
621
  #: includes/admin/classes/class-bbp-topic-replies-list-table.php:91
622
  #: includes/admin/replies.php:235 includes/admin/replies.php:818
623
  #: includes/admin/topics.php:240 includes/admin/topics.php:1023
624
+ #: includes/replies/template.php:2031 includes/topics/template.php:2836
625
  msgid "Spam"
626
  msgstr ""
627
 
628
  #: includes/admin/classes/class-bbp-topic-replies-list-table.php:92
629
  #: includes/admin/replies.php:833 includes/admin/topics.php:1037
630
+ #: includes/replies/template.php:1963 includes/topics/template.php:2544
631
  msgid "Trash"
632
  msgstr ""
633
 
639
 
640
  #: includes/admin/classes/class-bbp-topic-replies-list-table.php:149
641
  #: includes/common/template.php:2262 includes/forums/template.php:54
642
+ #: includes/replies/template.php:55 includes/replies/template.php:1851
643
+ #: includes/topics/template.php:53 includes/topics/template.php:2432
644
  #: templates/default/bbpress/user-details.php:74
645
  msgid "Edit"
646
  msgstr ""
1050
  msgstr[1] ""
1051
 
1052
  #: includes/admin/metaboxes.php:166 includes/admin/settings.php:367
1053
+ #: includes/topics/template.php:3396
1054
  msgid "Topic Tag"
1055
  msgid_plural "Topic Tags"
1056
  msgstr[0] ""
1395
  msgstr ""
1396
 
1397
  #: includes/admin/replies.php:233 includes/admin/topics.php:238
1398
+ #: includes/replies/template.php:2032 includes/topics/template.php:2837
1399
  msgid "Unspam"
1400
  msgstr ""
1401
 
1514
  msgstr ""
1515
 
1516
  #: includes/admin/replies.php:831 includes/admin/topics.php:1035
1517
+ #: includes/replies/template.php:1981 includes/topics/template.php:2561
1518
  msgid "Restore this item from the Trash"
1519
  msgstr ""
1520
 
1521
  #: includes/admin/replies.php:831 includes/admin/topics.php:1035
1522
+ #: includes/replies/template.php:1964 includes/topics/template.php:2545
1523
  msgid "Restore"
1524
  msgstr ""
1525
 
1526
  #: includes/admin/replies.php:833 includes/admin/topics.php:1037
1527
+ #: includes/replies/template.php:1985 includes/topics/template.php:2563
1528
  msgid "Move this item to the Trash"
1529
  msgstr ""
1530
 
1531
  #: includes/admin/replies.php:837 includes/admin/topics.php:1041
1532
+ #: includes/replies/template.php:1990 includes/topics/template.php:2567
1533
  msgid "Delete this item permanently"
1534
  msgstr ""
1535
 
1649
  msgid "Anonymous"
1650
  msgstr ""
1651
 
1652
+ #: includes/admin/settings.php:168 includes/admin/settings.php:2000
1653
  msgid "Revisions"
1654
  msgstr ""
1655
 
2264
  "will appear next to the problem slug(s)."
2265
  msgstr ""
2266
 
2267
+ #: includes/admin/settings.php:1998
2268
  #: templates/default/bbpress/loop-forums.php:24
2269
  #: templates/default/bbpress/loop-replies.php:21
2270
  #: templates/default/bbpress/loop-replies.php:47
2272
  msgid "Posts"
2273
  msgstr ""
2274
 
2275
+ #: includes/admin/settings.php:1999
2276
  msgid "Pages"
2277
  msgstr ""
2278
 
2279
+ #: includes/admin/settings.php:2001
2280
  msgid "Attachments"
2281
  msgstr ""
2282
 
2283
+ #: includes/admin/settings.php:2002
2284
  msgid "Menus"
2285
  msgstr ""
2286
 
2287
+ #: includes/admin/settings.php:2005
2288
  msgid "Tag base"
2289
  msgstr ""
2290
 
2291
+ #: includes/admin/settings.php:2008
2292
  msgid "Category base"
2293
  msgstr ""
2294
 
2295
+ #: includes/admin/settings.php:2013
2296
  msgid "Forums base"
2297
  msgstr ""
2298
 
2299
+ #: includes/admin/settings.php:2016
2300
  msgid "Topics base"
2301
  msgstr ""
2302
 
2303
+ #: includes/admin/settings.php:2019
2304
  msgid "Forum slug"
2305
  msgstr ""
2306
 
2307
+ #: includes/admin/settings.php:2022
2308
  msgid "Topic slug"
2309
  msgstr ""
2310
 
2311
+ #: includes/admin/settings.php:2025
2312
  msgid "Reply slug"
2313
  msgstr ""
2314
 
2315
+ #: includes/admin/settings.php:2028
2316
  msgid "User base"
2317
  msgstr ""
2318
 
2319
+ #: includes/admin/settings.php:2031
2320
  msgid "View base"
2321
  msgstr ""
2322
 
2323
+ #: includes/admin/settings.php:2034
2324
  msgid "Topic tag slug"
2325
  msgstr ""
2326
 
2327
+ #: includes/admin/settings.php:2046
2328
  msgid "%s page"
2329
  msgstr ""
2330
 
2331
+ #: includes/admin/settings.php:2069
2332
  msgid "Possible %1$s conflict: %2$s"
2333
  msgstr ""
2334
 
2368
  msgid "Users"
2369
  msgstr ""
2370
 
2371
+ #: includes/admin/tools/common.php:275 includes/topics/template.php:3394
2372
+ #: includes/topics/template.php:3395
2373
  #: templates/default/bbpress/content-statistics.php:40
2374
  msgid "Topic Tags"
2375
  msgstr ""
3439
  msgid "Voices"
3440
  msgstr ""
3441
 
3442
+ #: includes/admin/topics.php:935 includes/topics/template.php:2017
3443
  msgid "No Replies"
3444
  msgstr ""
3445
 
3463
  msgid "Unstick this topic"
3464
  msgstr ""
3465
 
3466
+ #: includes/admin/topics.php:1013 includes/topics/template.php:2718
3467
  msgid "Unstick"
3468
  msgstr ""
3469
 
3471
  msgid "Stick this topic to its forum"
3472
  msgstr ""
3473
 
3474
+ #: includes/admin/topics.php:1016 includes/topics/template.php:2717
3475
  msgid "Stick"
3476
  msgstr ""
3477
 
3479
  msgid "Stick this topic to front"
3480
  msgstr ""
3481
 
3482
+ #: includes/admin/topics.php:1016 includes/topics/template.php:2719
3483
  msgid "(to front)"
3484
  msgstr ""
3485
 
3543
  msgid "Site Role"
3544
  msgstr ""
3545
 
3546
+ #: includes/common/classes.php:493 includes/replies/template.php:2567
3547
  msgid "%1$s - %2$s"
3548
  msgstr ""
3549
 
3601
  msgstr[0] ""
3602
  msgstr[1] ""
3603
 
3604
+ #: includes/common/functions.php:406 includes/common/functions.php:464
3605
  msgid "Pending: %s"
3606
  msgstr ""
3607
 
3608
+ #: includes/common/functions.php:410 includes/common/functions.php:467
3609
  msgid "Private: %s"
3610
  msgstr ""
3611
 
3612
+ #: includes/common/functions.php:414 includes/common/functions.php:471
3613
  msgid "Spammed: %s"
3614
  msgstr ""
3615
 
3616
+ #: includes/common/functions.php:418 includes/common/functions.php:475
3617
  msgid "Trashed: %s"
3618
  msgstr ""
3619
 
3620
+ #: includes/common/functions.php:559
3621
  msgid "<strong>ERROR</strong>: Invalid author name."
3622
  msgstr ""
3623
 
3624
+ #: includes/common/functions.php:565
3625
  msgid "<strong>ERROR</strong>: Invalid email address."
3626
  msgstr ""
3627
 
3628
+ #: includes/common/functions.php:1094
3629
  msgid ""
3630
  "%1$s wrote:\n"
3631
  "\n"
3640
  "Login and visit the topic to unsubscribe from these emails."
3641
  msgstr ""
3642
 
3643
+ #: includes/common/functions.php:1250
3644
  msgid ""
3645
  "%1$s wrote:\n"
3646
  "\n"
3969
  msgid "And this is the very first reply."
3970
  msgstr ""
3971
 
3972
+ #: includes/extend/akismet.php:171 includes/extend/akismet.php:473
3973
+ msgid "No response"
3974
+ msgstr ""
3975
+
3976
+ #: includes/extend/akismet.php:345
3977
  #. translators: %s: reporter name
3978
  msgid "%s reported this topic as spam"
3979
  msgstr ""
3980
 
3981
+ #: includes/extend/akismet.php:350
3982
  #. translators: %s: reporter name
3983
  msgid "%s reported this reply as spam"
3984
  msgstr ""
3985
 
3986
+ #: includes/extend/akismet.php:355
3987
  #. translators: 1: reporter name, 2: comment type
3988
  msgid "%1$s reported this %2$s as spam"
3989
  msgstr ""
3990
 
3991
+ #: includes/extend/akismet.php:370
3992
  #. translators: %s: reporter name
3993
  msgid "%s reported this topic as not spam"
3994
  msgstr ""
3995
 
3996
+ #: includes/extend/akismet.php:375
3997
  #. translators: %s: reporter name
3998
  msgid "%s reported this reply as not spam"
3999
  msgstr ""
4000
 
4001
+ #: includes/extend/akismet.php:380
4002
  #. translators: 1: reporter name, 2: comment type
4003
  msgid "%1$s reported this %2$s as not spam"
4004
  msgstr ""
4005
 
4006
+ #: includes/extend/akismet.php:527
 
 
 
 
4007
  msgid "Akismet caught this post as spam"
4008
  msgstr ""
4009
 
4010
+ #: includes/extend/akismet.php:531 includes/extend/akismet.php:543
4011
  msgid "Post status was changed to %s"
4012
  msgstr ""
4013
 
4014
+ #: includes/extend/akismet.php:539
4015
  msgid "Akismet cleared this post as not spam"
4016
  msgstr ""
4017
 
4018
+ #: includes/extend/akismet.php:550
4019
  msgid ""
4020
  "Akismet was unable to check this post (response: %s), will automatically "
4021
  "retry again later."
4022
  msgstr ""
4023
 
4024
+ #: includes/extend/akismet.php:752 includes/extend/akismet.php:762
4025
  msgid "Akismet History"
4026
  msgstr ""
4027
 
4028
+ #: includes/extend/akismet.php:806
4029
  msgid "No recorded history. Akismet has not checked this post."
4030
  msgstr ""
4031
 
4089
  #: includes/topics/functions.php:468 includes/topics/functions.php:1084
4090
  #: includes/topics/functions.php:1359 includes/topics/functions.php:1695
4091
  #: includes/topics/functions.php:1739 includes/topics/functions.php:1800
4092
+ #: includes/users/engagements.php:606 includes/users/engagements.php:847
4093
  #: includes/users/functions.php:196 includes/users/functions.php:202
4094
  #: includes/users/functions.php:382
4095
  msgid "<strong>ERROR</strong>: Are you sure you wanted to do that?"
4301
  msgid "Forum list"
4302
  msgstr ""
4303
 
4304
+ #: includes/forums/template.php:824 includes/topics/template.php:1810
4305
  #: includes/users/template.php:1273
4306
  msgid "Subscribe"
4307
  msgstr ""
4308
 
4309
+ #: includes/forums/template.php:825 includes/topics/template.php:1811
4310
  #: includes/users/template.php:1274
4311
  msgid "Unsubscribe"
4312
  msgstr ""
4313
 
4314
+ #: includes/forums/template.php:1161 includes/forums/template.php:1962
4315
  msgid "%s topic"
4316
  msgid_plural "%s topics"
4317
  msgstr[0] ""
4318
  msgstr[1] ""
4319
 
4320
+ #: includes/forums/template.php:1176 includes/topics/template.php:2060
4321
  msgid "(+%s hidden)"
4322
  msgid_plural "(+%s hidden)"
4323
  msgstr[0] ""
4324
  msgstr[1] ""
4325
 
4326
+ #: includes/forums/template.php:1951 includes/topics/template.php:2045
4327
  msgid "%s reply"
4328
  msgid_plural "%s replies"
4329
  msgstr[0] ""
4330
  msgstr[1] ""
4331
 
4332
+ #: includes/forums/template.php:1971
4333
  msgid "This category has %1$s, %2$s, and was last updated %3$s by %4$s."
4334
  msgstr ""
4335
 
4336
+ #: includes/forums/template.php:1972
4337
  msgid "This forum has %1$s, %2$s, and was last updated %3$s by %4$s."
4338
  msgstr ""
4339
 
4340
+ #: includes/forums/template.php:1977
4341
  msgid "This category has %1$s, and was last updated %2$s by %3$s."
4342
  msgstr ""
4343
 
4344
+ #: includes/forums/template.php:1978
4345
  msgid "This forum has %1$s, and was last updated %2$s by %3$s."
4346
  msgstr ""
4347
 
4348
+ #: includes/forums/template.php:1984
4349
  msgid "This category has %1$s and %2$s."
4350
  msgstr ""
4351
 
4352
+ #: includes/forums/template.php:1985
4353
  msgid "This forum has %1$s and %2$s."
4354
  msgstr ""
4355
 
4356
+ #: includes/forums/template.php:1990
4357
  msgid "This category has %1$s."
4358
  msgstr ""
4359
 
4360
+ #: includes/forums/template.php:1991
4361
  msgid "This forum has %1$s."
4362
  msgstr ""
4363
 
4364
+ #: includes/forums/template.php:1995
4365
  msgid "This forum is empty."
4366
  msgstr ""
4367
 
4670
  msgid "Visit %s's website"
4671
  msgstr ""
4672
 
4673
+ #: includes/replies/template.php:1655
4674
  #: templates/default/bbpress/form-user-passwords.php:31
4675
  msgid "Cancel"
4676
  msgstr ""
4677
 
4678
+ #: includes/replies/template.php:1965 includes/topics/template.php:2546
4679
  #: templates/default/bbpress/form-topic-tag.php:100
4680
  #: templates/default/bbpress/form-topic-tag.php:117
4681
  msgid "Delete"
4682
  msgstr ""
4683
 
4684
+ #: includes/replies/template.php:1990 includes/topics/template.php:2567
4685
  msgid "Are you sure you want to delete that permanently?"
4686
  msgstr ""
4687
 
4688
+ #: includes/replies/template.php:2087
4689
  msgid "Move"
4690
  msgstr ""
4691
 
4692
+ #: includes/replies/template.php:2088
4693
  msgid "Move this reply"
4694
  msgstr ""
4695
 
4696
+ #: includes/replies/template.php:2146
4697
  msgid "Split"
4698
  msgstr ""
4699
 
4700
+ #: includes/replies/template.php:2147
4701
  msgid "Split the topic from this reply"
4702
  msgstr ""
4703
 
4704
+ #: includes/replies/template.php:2381
4705
  msgid "Viewing %1$s reply thread"
4706
  msgid_plural "Viewing %1$s reply threads"
4707
  msgstr[0] ""
4708
  msgstr[1] ""
4709
 
4710
+ #: includes/replies/template.php:2388
4711
  msgid "Viewing %1$s reply"
4712
  msgid_plural "Viewing %1$s replies"
4713
  msgstr[0] ""
4714
  msgstr[1] ""
4715
 
4716
+ #: includes/replies/template.php:2392
4717
  msgid "Viewing %2$s replies (of %4$s total)"
4718
  msgid_plural "Viewing %1$s replies - %2$s through %3$s (of %4$s total)"
4719
  msgstr[0] ""
4720
  msgstr[1] ""
4721
 
4722
+ #: includes/replies/template.php:2400
4723
  msgid "Viewing %1$s post"
4724
  msgid_plural "Viewing %1$s posts"
4725
  msgstr[0] ""
4726
  msgstr[1] ""
4727
 
4728
+ #: includes/replies/template.php:2404
4729
  msgid "Viewing %2$s post (of %4$s total)"
4730
  msgid_plural "Viewing %1$s posts - %2$s through %3$s (of %4$s total)"
4731
  msgstr[0] ""
5029
  msgid "This topic was modified %1$s by %2$s."
5030
  msgstr ""
5031
 
5032
+ #: includes/topics/template.php:1858 includes/users/template.php:1075
5033
  msgid "Favorite"
5034
  msgstr ""
5035
 
5036
+ #: includes/topics/template.php:1859 includes/users/template.php:1076
5037
  msgid "Unfavorite"
5038
  msgstr ""
5039
 
5040
+ #: includes/topics/template.php:2224
5041
  msgid "Tagged:"
5042
  msgstr ""
5043
 
5044
+ #: includes/topics/template.php:2785
5045
  #: templates/default/bbpress/form-topic-tag.php:69
5046
  #: templates/default/bbpress/form-topic-tag.php:85
5047
  msgid "Merge"
5048
  msgstr ""
5049
 
5050
+ #: includes/topics/template.php:3017
5051
  msgid "Viewing %1$s topic"
5052
  msgid_plural "Viewing %1$s topics"
5053
  msgstr[0] ""
5054
  msgstr[1] ""
5055
 
5056
+ #: includes/topics/template.php:3021
5057
  msgid "Viewing topic %2$s (of %4$s total)"
5058
  msgid_plural "Viewing %1$s topics - %2$s through %3$s (of %4$s total)"
5059
  msgstr[0] ""
5060
  msgstr[1] ""
5061
 
5062
+ #: includes/topics/template.php:3078
5063
  msgid "This topic is marked as spam."
5064
  msgstr ""
5065
 
5066
+ #: includes/topics/template.php:3083
5067
  msgid "This topic is in the trash."
5068
  msgstr ""
5069
 
5070
+ #: includes/topics/template.php:3333
5071
  msgid "%s voice"
5072
  msgid_plural "%s voices"
5073
  msgstr[0] ""
5074
  msgstr[1] ""
5075
 
5076
+ #: includes/topics/template.php:3339
5077
  msgid "This topic has %1$s, %2$s, and was last updated %3$s by %4$s."
5078
  msgstr ""
5079
 
5080
+ #: includes/topics/template.php:3343
5081
  msgid "This topic has %1$s and %2$s."
5082
  msgstr ""
5083
 
5084
+ #: includes/topics/template.php:3347
5085
  msgid "This topic has no replies."
5086
  msgstr ""
5087
 
5088
+ #: includes/topics/template.php:3397
5089
  msgid "Search Tags"
5090
  msgstr ""
5091
 
5092
+ #: includes/topics/template.php:3398
5093
  msgid "Popular Tags"
5094
  msgstr ""
5095
 
5096
+ #: includes/topics/template.php:3399
5097
  msgid "All Tags"
5098
  msgstr ""
5099
 
5100
+ #: includes/topics/template.php:3400
5101
  msgid "Parent Tag"
5102
  msgstr ""
5103
 
5104
+ #: includes/topics/template.php:3401
5105
  msgid "Parent Tag:"
5106
  msgstr ""
5107
 
5108
+ #: includes/topics/template.php:3402
5109
  msgid "Edit Tag"
5110
  msgstr ""
5111
 
5112
+ #: includes/topics/template.php:3403
5113
  msgid "View Topic Tag"
5114
  msgstr ""
5115
 
5116
+ #: includes/topics/template.php:3404
5117
  msgid "Update Tag"
5118
  msgstr ""
5119
 
5120
+ #: includes/topics/template.php:3405
5121
  msgid "Add New Tag"
5122
  msgstr ""
5123
 
5124
+ #: includes/topics/template.php:3406
5125
  msgid "New Tag Name"
5126
  msgstr ""
5127
 
5128
+ #: includes/topics/template.php:3407
5129
  msgid "Separate topic tags with commas"
5130
  msgstr ""
5131
 
5132
+ #: includes/topics/template.php:3408
5133
  msgid "Add or remove tags"
5134
  msgstr ""
5135
 
5136
+ #: includes/topics/template.php:3409
5137
  msgid "Choose from the most used tags"
5138
  msgstr ""
5139
 
5140
+ #: includes/topics/template.php:3410
5141
  msgid "No topic tags found."
5142
  msgstr ""
5143
 
5144
+ #: includes/topics/template.php:3411
5145
  msgid "No topic tags"
5146
  msgstr ""
5147
 
5148
+ #: includes/topics/template.php:3412
5149
  msgid "Topic tags list navigation"
5150
  msgstr ""
5151
 
5152
+ #: includes/topics/template.php:3413
5153
  msgid "Topic tags list"
5154
  msgstr ""
5155
 
5156
+ #: includes/topics/template.php:3414
5157
  msgid "Most used topic tags"
5158
  msgstr ""
5159
 
5160
+ #: includes/topics/template.php:3415
5161
  msgid "&larr; Back to Tags"
5162
  msgstr ""
5163
 
5164
+ #: includes/topics/template.php:4030
5165
  msgid "Nobody"
5166
  msgstr ""
5167
 
5168
+ #: includes/topics/template.php:4034
5169
  msgid "%1$s is currently editing this topic."
5170
  msgstr ""
5171
 
5172
+ #: includes/users/engagements.php:602
5173
  msgid ""
5174
  "<strong>ERROR</strong>: No topic was found. Which topic are you "
5175
  "marking/unmarking as favorite?"
5176
  msgstr ""
5177
 
5178
+ #: includes/users/engagements.php:610
5179
  msgid ""
5180
  "<strong>ERROR</strong>: You do not have permission to edit favorites for "
5181
  "that user!."
5182
  msgstr ""
5183
 
5184
+ #: includes/users/engagements.php:651
5185
  msgid ""
5186
  "<strong>ERROR</strong>: There was a problem removing that topic from "
5187
  "favorites."
5188
  msgstr ""
5189
 
5190
+ #: includes/users/engagements.php:653
5191
  msgid "<strong>ERROR</strong>: There was a problem favoriting that topic."
5192
  msgstr ""
5193
 
5194
+ #: includes/users/engagements.php:843
5195
  msgid ""
5196
  "<strong>ERROR</strong>: Not found. What are you subscribing/unsubscribing "
5197
  "to?"
5198
  msgstr ""
5199
 
5200
+ #: includes/users/engagements.php:851
5201
  msgid ""
5202
  "<strong>ERROR</strong>: You do not have permission to edit subscriptions of "
5203
  "that user."
5204
  msgstr ""
5205
 
5206
+ #: includes/users/engagements.php:894
5207
  msgid "<strong>ERROR</strong>: There was a problem unsubscribing."
5208
  msgstr ""
5209
 
5210
+ #: includes/users/engagements.php:896
5211
  msgid "<strong>ERROR</strong>: There was a problem subscribing."
5212
  msgstr ""
5213
 
5302
  msgid "Registration complete. Please check your e-mail."
5303
  msgstr ""
5304
 
5305
+ #: includes/users/template.php:2365
5306
  msgid "Moderators:"
5307
  msgstr ""
5308
 
5964
  msgid "Forum Topics Started"
5965
  msgstr ""
5966
 
5967
+ #: templates/default/bbpress-functions.php:211
5968
  msgid "Something went wrong. Refresh your browser and try again."
5969
  msgstr ""
5970
 
5971
+ #: templates/default/bbpress-functions.php:225
5972
  msgid "Favorites are no longer active."
5973
  msgstr ""
5974
 
5975
+ #: templates/default/bbpress-functions.php:230
5976
  msgid "Please login to favorite."
5977
  msgstr ""
5978
 
5979
+ #: templates/default/bbpress-functions.php:240
5980
+ #: templates/default/bbpress-functions.php:303
5981
  msgid "You do not have permission to do this."
5982
  msgstr ""
5983
 
5984
+ #: templates/default/bbpress-functions.php:250
5985
  msgid "Favorite failed."
5986
  msgstr ""
5987
 
5988
+ #: templates/default/bbpress-functions.php:255
5989
+ #: templates/default/bbpress-functions.php:318
5990
  msgid "Are you sure you meant to do that?"
5991
  msgstr ""
5992
 
5993
+ #: templates/default/bbpress-functions.php:265
5994
+ #: templates/default/bbpress-functions.php:328
5995
  msgid "The request was unsuccessful. Please try again."
5996
  msgstr ""
5997
 
5998
+ #: templates/default/bbpress-functions.php:288
5999
  msgid "Subscriptions are no longer active."
6000
  msgstr ""
6001
 
6002
+ #: templates/default/bbpress-functions.php:293
6003
  msgid "Please login to subscribe."
6004
  msgstr ""
6005
 
6006
+ #: templates/default/bbpress-functions.php:313
6007
  msgid "Subcription failed."
6008
  msgstr ""
6009
 
6031
  msgid "The bbPress Contributors"
6032
  msgstr ""
6033
 
6034
+ #: bbpress.php:597
6035
  msgctxt "post"
6036
  msgid "Closed"
6037
  msgstr ""
6038
 
6039
+ #: bbpress.php:598
6040
  msgctxt "post"
6041
  msgid "Closed <span class=\"count\">(%s)</span>"
6042
  msgid_plural "Closed <span class=\"count\">(%s)</span>"
6043
  msgstr[0] ""
6044
  msgstr[1] ""
6045
 
6046
+ #: bbpress.php:610
6047
  msgctxt "post"
6048
  msgid "Spam"
6049
  msgstr ""
6050
 
6051
+ #: bbpress.php:611
6052
  msgctxt "post"
6053
  msgid "Spam <span class=\"count\">(%s)</span>"
6054
  msgid_plural "Spam <span class=\"count\">(%s)</span>"
6055
  msgstr[0] ""
6056
  msgstr[1] ""
6057
 
6058
+ #: bbpress.php:624
6059
  msgctxt "post"
6060
  msgid "Orphan"
6061
  msgstr ""
6062
 
6063
+ #: bbpress.php:625
6064
  msgctxt "post"
6065
  msgid "Orphan <span class=\"count\">(%s)</span>"
6066
  msgid_plural "Orphans <span class=\"count\">(%s)</span>"
6067
  msgstr[0] ""
6068
  msgstr[1] ""
6069
 
6070
+ #: bbpress.php:638
6071
  msgctxt "post"
6072
  msgid "Hidden"
6073
  msgstr ""
6074
 
6075
+ #: bbpress.php:639
6076
  msgctxt "post"
6077
  msgid "Hidden <span class=\"count\">(%s)</span>"
6078
  msgid_plural "Hidden <span class=\"count\">(%s)</span>"
6134
  msgid "Open"
6135
  msgstr ""
6136
 
6137
+ #: includes/common/formatting.php:705
6138
  msgctxt "Separator in time since"
6139
  msgid ","
6140
  msgstr ""
6251
  msgid "%1$s at %2$s"
6252
  msgstr ""
6253
 
6254
+ #: includes/replies/template.php:1582 includes/topics/template.php:2882
6255
  msgctxt "verb"
6256
  msgid "Reply"
6257
  msgstr ""
6258
 
6259
+ #: includes/replies/template.php:2203
6260
  msgctxt "Pending Status"
6261
  msgid "Approve"
6262
  msgstr ""
6263
 
6264
+ #: includes/replies/template.php:2204
6265
  msgctxt "Pending Status"
6266
  msgid "Unapprove"
6267
  msgstr ""
6268
 
6269
+ #: includes/replies/template.php:2566
6270
  msgctxt "Default reply to dropdown text"
6271
  msgid "None"
6272
  msgstr ""
6273
 
6274
+ #: includes/topics/functions.php:1850 includes/topics/template.php:2610
6275
  msgctxt "Open the topic"
6276
  msgid "Open"
6277
  msgstr ""
6281
  msgid "Closed"
6282
  msgstr ""
6283
 
6284
+ #: includes/topics/template.php:2609
6285
  msgctxt "Close the topic"
6286
  msgid "Close"
6287
  msgstr ""
6301
  msgid "Pending"
6302
  msgstr ""
6303
 
6304
+ #: includes/topics/template.php:2664
6305
  msgctxt "Unapprove the topic"
6306
  msgid "Unapprove"
6307
  msgstr ""
6321
  msgid "Super Sticky"
6322
  msgstr ""
6323
 
6324
+ #: includes/topics/template.php:2663
6325
  msgctxt "Approve the topic"
6326
  msgid "Approve"
6327
  msgstr ""
includes/admin/settings.php CHANGED
@@ -660,7 +660,7 @@ function bbp_admin_setting_callback_editlock() {
660
 
661
  </label>
662
  <label for="_bbp_edit_lock">
663
- <input name="_bbp_edit_lock" id="_bbp_edit_lock" type="number" min="0" step="1" value="<?php bbp_form_option( '_bbp_edit_lock', '0' ); ?>" class="small-text"<?php bbp_maybe_admin_setting_disabled( '_bbp_edit_lock' ); ?> />
664
 
665
  <?php $select = ob_get_clean(); ?>
666
 
@@ -1944,15 +1944,17 @@ function bbp_form_option( $option, $default = '' , $slug = false ) {
1944
  *
1945
  * @param string $option
1946
  * @param string $default
1947
- * @param bool $slug
 
 
1948
  */
1949
- function bbp_get_form_option( $option, $default = '', $slug = false ) {
1950
 
1951
  // Get the option and sanitize it
1952
  $value = get_option( $option, $default );
1953
 
1954
  // Slug?
1955
- if ( true === $slug ) {
1956
  $value = esc_attr( apply_filters( 'editable_slug', $value ) );
1957
 
1958
  // Not a slug
@@ -1966,7 +1968,7 @@ function bbp_form_option( $option, $default = '' , $slug = false ) {
1966
  }
1967
 
1968
  // Filter & return
1969
- return apply_filters( 'bbp_get_form_option', $value, $option );
1970
  }
1971
 
1972
  /**
660
 
661
  </label>
662
  <label for="_bbp_edit_lock">
663
+ <input name="_bbp_edit_lock" id="_bbp_edit_lock" type="number" min="0" step="1" value="<?php bbp_form_option( '_bbp_edit_lock', '5' ); ?>" class="small-text"<?php bbp_maybe_admin_setting_disabled( '_bbp_edit_lock' ); ?> />
664
 
665
  <?php $select = ob_get_clean(); ?>
666
 
1944
  *
1945
  * @param string $option
1946
  * @param string $default
1947
+ * @param bool $is_slug
1948
+ *
1949
+ * @return mixed
1950
  */
1951
+ function bbp_get_form_option( $option, $default = '', $is_slug = false ) {
1952
 
1953
  // Get the option and sanitize it
1954
  $value = get_option( $option, $default );
1955
 
1956
  // Slug?
1957
+ if ( true === $is_slug ) {
1958
  $value = esc_attr( apply_filters( 'editable_slug', $value ) );
1959
 
1960
  // Not a slug
1968
  }
1969
 
1970
  // Filter & return
1971
+ return apply_filters( 'bbp_get_form_option', $value, $option, $default, $is_slug );
1972
  }
1973
 
1974
  /**
includes/common/ajax.php CHANGED
@@ -72,8 +72,10 @@ function bbp_do_ajax( $action = '' ) {
72
  return;
73
  }
74
 
75
- // Set WordPress core AJAX constant
76
- define( 'DOING_AJAX', true );
 
 
77
 
78
  // Setup AJAX headers
79
  bbp_ajax_headers();
72
  return;
73
  }
74
 
75
+ // Set WordPress core AJAX constant for back-compat
76
+ if ( ! defined( 'DOING_AJAX' ) ) {
77
+ define( 'DOING_AJAX', true );
78
+ }
79
 
80
  // Setup AJAX headers
81
  bbp_ajax_headers();
includes/common/engagements.php CHANGED
@@ -28,7 +28,8 @@ function bbp_user_engagements_interface( $rel_key = '', $rel_type = 'post' ) {
28
  }
29
 
30
  /**
31
- * Meta strategy for interfacing with User Engagements
 
32
  *
33
  * @since 2.6.0 bbPress (r6722)
34
  */
@@ -524,11 +525,11 @@ class BBP_User_Engagements_Term extends BBP_User_Engagements_Base {
524
  }
525
 
526
  /**
527
- * Backwards compatibility strategy for interfacing with User Engagements
528
  *
529
  * @since 2.6.0 bbPress (r6844)
530
  */
531
- class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
532
 
533
  /**
534
  * Type of strategy being used.
@@ -537,7 +538,7 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
537
  *
538
  * @var string
539
  */
540
- public $type = 'compat';
541
 
542
  /**
543
  * Private function to map 2.6 meta keys to 2.5 user-option keys.
@@ -545,10 +546,12 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
545
  * @since 2.6.0 bbPress (r6844)
546
  *
547
  * @param string $meta_key
 
 
548
  *
549
  * @return string
550
  */
551
- private function get_user_option_key( $meta_key = '', $object_id = 0 ) {
552
  switch ( $meta_key ) {
553
 
554
  // Favorites
@@ -577,6 +580,11 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
577
  break;
578
  }
579
 
 
 
 
 
 
580
  // Return the old (pluralized) user option key
581
  return $key;
582
  }
@@ -589,8 +597,8 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
589
  * @param string $results
590
  * @return array
591
  */
592
- private function format_results( $results = '' ) {
593
- return wp_parse_id_list( array_filter( $results ) );
594
  }
595
 
596
  /**
@@ -609,12 +617,13 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
609
  public function add_user_to_object( $object_id = 0, $user_id = 0, $meta_key = '', $meta_type = 'post', $unique = false ) {
610
  $retval = false;
611
  $option_key = $this->get_user_option_key( $meta_key, $object_id );
612
- $object_ids = $this->format_results( get_user_option( $option_key, $user_id ) );
 
613
 
614
  // Not already added, so add it
615
- if ( ! in_array( $object_id, $object_ids, true ) ) {
616
  $object_ids[] = $object_id;
617
- $object_ids = implode( ',', $this->format_results( $object_ids ) );
618
  $retval = update_user_option( $user_id, $option_key, $object_ids );
619
  }
620
 
@@ -637,14 +646,17 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
637
  public function remove_user_from_object( $object_id = 0, $user_id = 0, $meta_key = '', $meta_type = 'post' ) {
638
  $retval = false;
639
  $option_key = $this->get_user_option_key( $meta_key, $object_id );
640
- $object_ids = $this->format_results( get_user_option( $option_key, $user_id ) );
 
641
 
642
  // Exists, so remove it
643
- if ( in_array( $object_id, $object_ids, true ) ) {
644
- unset( $object_ids[ $object_id ] );
645
 
646
- $object_ids = implode( ',', $this->format_results( $object_ids ) );
647
- $retval = update_user_option( $user_id, $option_key, $object_ids );
 
 
648
  }
649
 
650
  // Return true if removed, or false if not
@@ -718,7 +730,7 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
718
  public function remove_all_users_from_all_objects( $meta_key = '', $meta_type = 'post' ) {
719
 
720
  // Query for users
721
- $option_key = $this->get_user_option_key( $meta_key );
722
  $bbp_db = bbp_db();
723
  $user_ids = $bbp_db->get_col( "SELECT user_id FROM {$bbp_db->usermeta} WHERE meta_key = '{$option_key}'" );
724
  $u_count = count( $user_ids );
@@ -758,7 +770,7 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
758
  * @return array Returns ids of users
759
  */
760
  public function get_users_for_object( $object_id = 0, $meta_key = '', $meta_type = 'post' ) {
761
- $option_key = $this->get_user_option_key( $meta_key, $object_id );
762
  $bbp_db = bbp_db();
763
  $user_ids = $bbp_db->get_col( "SELECT user_id FROM {$bbp_db->usermeta} WHERE meta_key = '{$option_key}' and FIND_IN_SET('{$object_id}', meta_value) > 0" );
764
 
@@ -777,7 +789,18 @@ class BBP_User_Engagements_Back_Compat extends BBP_User_Engagements_Base {
777
  * @return array
778
  */
779
  public function get_query( $args = array(), $context_key = '', $meta_key = '', $meta_type = 'post' ) {
780
- // TODO
781
- return array();
 
 
 
 
 
 
 
 
 
 
 
782
  }
783
  }
28
  }
29
 
30
  /**
31
+ * Base strategy class for interfacing with User Engagements, which other
32
+ * classes will extend.
33
  *
34
  * @since 2.6.0 bbPress (r6722)
35
  */
525
  }
526
 
527
  /**
528
+ * User strategy for interfacing with User Engagements
529
  *
530
  * @since 2.6.0 bbPress (r6844)
531
  */
532
+ class BBP_User_Engagements_User extends BBP_User_Engagements_Base {
533
 
534
  /**
535
  * Type of strategy being used.
538
  *
539
  * @var string
540
  */
541
+ public $type = 'user';
542
 
543
  /**
544
  * Private function to map 2.6 meta keys to 2.5 user-option keys.
546
  * @since 2.6.0 bbPress (r6844)
547
  *
548
  * @param string $meta_key
549
+ * @param int $object_id
550
+ * @param bool $prefix
551
  *
552
  * @return string
553
  */
554
+ private function get_user_option_key( $meta_key = '', $object_id = 0, $prefix = false ) {
555
  switch ( $meta_key ) {
556
 
557
  // Favorites
580
  break;
581
  }
582
 
583
+ // Maybe prefix the key (for use in raw database queries)
584
+ if ( true === $prefix ) {
585
+ $key = bbp_db()->get_blog_prefix() . $key;
586
+ }
587
+
588
  // Return the old (pluralized) user option key
589
  return $key;
590
  }
597
  * @param string $results
598
  * @return array
599
  */
600
+ private function parse_comma_list( $results = '' ) {
601
+ return array_filter( wp_parse_id_list( $results ) );
602
  }
603
 
604
  /**
617
  public function add_user_to_object( $object_id = 0, $user_id = 0, $meta_key = '', $meta_type = 'post', $unique = false ) {
618
  $retval = false;
619
  $option_key = $this->get_user_option_key( $meta_key, $object_id );
620
+ $object_ids = $this->parse_comma_list( get_user_option( $option_key, $user_id ) );
621
+ $exists = array_search( $object_id, $object_ids );
622
 
623
  // Not already added, so add it
624
+ if ( false === $exists ) {
625
  $object_ids[] = $object_id;
626
+ $object_ids = implode( ',', $this->parse_comma_list( $object_ids ) );
627
  $retval = update_user_option( $user_id, $option_key, $object_ids );
628
  }
629
 
646
  public function remove_user_from_object( $object_id = 0, $user_id = 0, $meta_key = '', $meta_type = 'post' ) {
647
  $retval = false;
648
  $option_key = $this->get_user_option_key( $meta_key, $object_id );
649
+ $object_ids = $this->parse_comma_list( get_user_option( $option_key, $user_id ) );
650
+ $exists = array_search( $object_id, $object_ids );
651
 
652
  // Exists, so remove it
653
+ if ( false !== $exists ) {
654
+ unset( $object_ids[ $exists ] );
655
 
656
+ $object_ids = implode( ',', $this->parse_comma_list( $object_ids ) );
657
+ $retval = ! empty( $object_ids )
658
+ ? update_user_option( $user_id, $option_key, $object_ids )
659
+ : delete_user_option( $user_id, $option_key );
660
  }
661
 
662
  // Return true if removed, or false if not
730
  public function remove_all_users_from_all_objects( $meta_key = '', $meta_type = 'post' ) {
731
 
732
  // Query for users
733
+ $option_key = $this->get_user_option_key( $meta_key, 0, true );
734
  $bbp_db = bbp_db();
735
  $user_ids = $bbp_db->get_col( "SELECT user_id FROM {$bbp_db->usermeta} WHERE meta_key = '{$option_key}'" );
736
  $u_count = count( $user_ids );
770
  * @return array Returns ids of users
771
  */
772
  public function get_users_for_object( $object_id = 0, $meta_key = '', $meta_type = 'post' ) {
773
+ $option_key = $this->get_user_option_key( $meta_key, $object_id, true );
774
  $bbp_db = bbp_db();
775
  $user_ids = $bbp_db->get_col( "SELECT user_id FROM {$bbp_db->usermeta} WHERE meta_key = '{$option_key}' and FIND_IN_SET('{$object_id}', meta_value) > 0" );
776
 
789
  * @return array
790
  */
791
  public function get_query( $args = array(), $context_key = '', $meta_key = '', $meta_type = 'post' ) {
792
+ $user_id = bbp_get_user_id( $args, true, true );
793
+ $option_key = $this->get_user_option_key( $meta_key );
794
+ $object_ids = $this->parse_comma_list( get_user_option( $option_key, $user_id ) );
795
+
796
+ // Maybe include these post IDs
797
+ if ( ! empty( $object_ids ) ) {
798
+ $args = array(
799
+ 'post__in' => $object_ids
800
+ );
801
+ }
802
+
803
+ // Parse arguments
804
+ return bbp_parse_args( $args, array(), $context_key );
805
  }
806
  }
includes/common/formatting.php CHANGED
@@ -639,19 +639,31 @@ function bbp_time_since( $older_date, $newer_date = false, $gmt = false ) {
639
  array( 1, _n_noop( '%s second', '%s seconds', 'bbpress' ) ),
640
  );
641
 
 
642
  if ( ! empty( $older_date ) && ! is_numeric( $older_date ) ) {
643
  $time_chunks = explode( ':', str_replace( ' ', ':', $older_date ) );
644
  $date_chunks = explode( '-', str_replace( ' ', '-', $older_date ) );
645
  $older_date = gmmktime( (int) $time_chunks[1], (int) $time_chunks[2], (int) $time_chunks[3], (int) $date_chunks[1], (int) $date_chunks[2], (int) $date_chunks[0] );
646
  }
647
 
648
- // $newer_date will equal false if we want to know the time elapsed
649
- // between a date and the current time. $newer_date will have a value if
650
- // we want to work out time elapsed between two known dates.
651
- $newer_date = ( ! $newer_date ) ? strtotime( current_time( 'mysql', $gmt ) ) : $newer_date;
 
 
 
 
 
 
 
 
 
 
 
652
 
653
  // Difference in seconds
654
- $since = $newer_date - $older_date;
655
 
656
  // Something went wrong with date calculation and we ended up with a negative date.
657
  if ( 0 > $since ) {
639
  array( 1, _n_noop( '%s second', '%s seconds', 'bbpress' ) ),
640
  );
641
 
642
+ // Attempt to parse non-numeric older date
643
  if ( ! empty( $older_date ) && ! is_numeric( $older_date ) ) {
644
  $time_chunks = explode( ':', str_replace( ' ', ':', $older_date ) );
645
  $date_chunks = explode( '-', str_replace( ' ', '-', $older_date ) );
646
  $older_date = gmmktime( (int) $time_chunks[1], (int) $time_chunks[2], (int) $time_chunks[3], (int) $date_chunks[1], (int) $date_chunks[2], (int) $date_chunks[0] );
647
  }
648
 
649
+ // Attempt to parse non-numeric newer date
650
+ if ( ! empty( $newer_date ) && ! is_numeric( $newer_date ) ) {
651
+ $time_chunks = explode( ':', str_replace( ' ', ':', $newer_date ) );
652
+ $date_chunks = explode( '-', str_replace( ' ', '-', $newer_date ) );
653
+ $newer_date = gmmktime( (int) $time_chunks[1], (int) $time_chunks[2], (int) $time_chunks[3], (int) $date_chunks[1], (int) $date_chunks[2], (int) $date_chunks[0] );
654
+ }
655
+
656
+ // Set newer date to current time
657
+ if ( empty( $newer_date ) ) {
658
+ $newer_date = strtotime( current_time( 'mysql', $gmt ) );
659
+ }
660
+
661
+ // Cast both dates to ints to avoid notices & errors with invalid values
662
+ $newer_date = intval( $newer_date );
663
+ $older_date = intval( $older_date );
664
 
665
  // Difference in seconds
666
+ $since = intval( $newer_date - $older_date );
667
 
668
  // Something went wrong with date calculation and we ended up with a negative date.
669
  if ( 0 > $since ) {
includes/common/functions.php CHANGED
@@ -18,10 +18,19 @@ defined( 'ABSPATH' ) || exit;
18
  *
19
  * @since 2.6.0 bbPress (r6813)
20
  *
 
 
21
  * @return array
22
  */
23
- function bbp_get_post_types() {
24
- return get_post_types( array( 'source' => 'bbpress' ) );
 
 
 
 
 
 
 
25
  }
26
 
27
  /** URLs **********************************************************************/
@@ -181,44 +190,65 @@ function bbp_fix_post_author( $data = array(), $postarr = array() ) {
181
  /**
182
  * Check a date against the length of time something can be edited.
183
  *
 
 
 
184
  * @since 2.0.0 bbPress (r3133)
 
185
  *
186
- * @param string $post_date_gmt
 
187
  *
188
- * @return bool True if date is past, False if not
189
  */
190
- function bbp_past_edit_lock( $post_date_gmt = '' ) {
191
 
192
  // Default value
193
- $retval = false;
194
 
195
- // Get number of minutes to allow editing for
196
- $minutes = (int) get_option( '_bbp_edit_lock', 5 );
197
 
198
- // Now
199
- $cur_time = current_time( 'timestamp', true );
200
 
201
- // Period of time
202
- $lockable = "+{$minutes} minutes";
 
203
 
204
- // Add lockable time to post time
205
- $lock_time = strtotime( $lockable, strtotime( $post_date_gmt ) );
206
 
207
- // Check if date and editing is allowed
208
- if ( ! empty( $post_date_gmt ) && bbp_allow_content_edit() ) {
 
 
 
209
 
210
- // "0" minutes set, so allow forever
211
- if ( 0 === $minutes ) {
212
- $retval = true;
 
 
 
 
 
 
 
 
 
 
 
213
 
214
- // Not "0" so compare
215
- } elseif ( $cur_time >= $lock_time ) {
216
- $retval = true;
 
217
  }
218
  }
219
 
220
  // Filter & return
221
- return (bool) apply_filters( 'bbp_past_edit_lock', $retval, $cur_time, $lock_time, $post_date_gmt );
222
  }
223
 
224
  /**
@@ -763,17 +793,34 @@ function bbp_check_for_flood( $anonymous_data = array(), $author_id = 0 ) {
763
  * @param int $author_id Topic or reply author ID
764
  * @param string $title The title of the content
765
  * @param string $content The content being posted
 
 
766
  * @return bool True if test is passed, false if fail
767
  */
768
  function bbp_check_for_moderation( $anonymous_data = array(), $author_id = 0, $title = '', $content = '', $strict = false ) {
769
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
770
  // Strict mode uses WordPress "blacklist" settings
771
  if ( true === $strict ) {
772
  $hook_name = 'blacklist';
773
  $option_name = 'blacklist_keys';
774
 
775
  // Non-strict uses WordPress "moderation" settings
776
- } else {
777
  $hook_name = 'moderation';
778
  $option_name = 'moderation_keys';
779
  }
@@ -783,10 +830,18 @@ function bbp_check_for_moderation( $anonymous_data = array(), $author_id = 0, $t
783
  return true;
784
  }
785
 
786
- // Bail if user can moderate
787
- // https://bbpress.trac.wordpress.org/ticket/2726
788
- if ( ! empty( $author_id ) && user_can( $author_id, 'moderate' ) ) {
789
- return true;
 
 
 
 
 
 
 
 
790
  }
791
 
792
  // Define local variable(s)
@@ -1351,28 +1406,48 @@ function bbp_get_email_addresses_from_user_ids( $user_ids = array() ) {
1351
  /**
1352
  * Return a clean and reliable logout URL
1353
  *
1354
- * @param string $url URL
 
 
 
 
 
 
 
1355
  * @param string $redirect_to Where to redirect to?
 
1356
  * @return string The url
1357
  */
1358
  function bbp_logout_url( $url = '', $redirect_to = '' ) {
1359
 
1360
- // Make sure we are directing somewhere
1361
- if ( empty( $redirect_to ) && ! strstr( $url, 'redirect_to' ) ) {
1362
 
1363
- // Rejig the $redirect_to
1364
- if ( ! isset( $_SERVER['REDIRECT_URL'] ) || ( $redirect_to !== home_url( $_SERVER['REDIRECT_URL'] ) ) ) {
1365
- $redirect_to = isset( $_SERVER['HTTP_REFERER'] )
1366
- ? $_SERVER['HTTP_REFERER']
1367
- : '';
 
 
 
 
 
 
 
 
1368
  }
1369
 
1370
- // Rebuild a basic redirect URL
1371
- $redirect_to = bbp_get_url_scheme() . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
 
 
 
1372
 
1373
- // Sanitize $redirect_to and add it to full $url
1374
- $redirect_to = add_query_arg( array( 'loggedout' => 'true' ), $redirect_to );
1375
- $url = add_query_arg( array( 'redirect_to' => urlencode( $redirect_to ) ), $url );
 
1376
  }
1377
 
1378
  // Filter & return
18
  *
19
  * @since 2.6.0 bbPress (r6813)
20
  *
21
+ * @param array $args Array of arguments to pass into `get_post_types()`
22
+ *
23
  * @return array
24
  */
25
+ function bbp_get_post_types( $args = array() ) {
26
+
27
+ // Parse args
28
+ $r = bbp_parse_args( $args, array(
29
+ 'source' => 'bbpress'
30
+ ), 'get_post_types' );
31
+
32
+ // Return post types
33
+ return get_post_types( $r );
34
  }
35
 
36
  /** URLs **********************************************************************/
190
  /**
191
  * Check a date against the length of time something can be edited.
192
  *
193
+ * It is recommended to leave $utc set to true and to work with UTC/GMT dates.
194
+ * Turning this off will use the WordPress offset which is likely undesirable.
195
+ *
196
  * @since 2.0.0 bbPress (r3133)
197
+ * @since 2.6.0 bbPress (r6868) Inverted some logic and added unit tests
198
  *
199
+ * @param string $datetime Gets run through strtotime()
200
+ * @param boolean $utc Default true. Is the timestamp in UTC?
201
  *
202
+ * @return bool True by default, if date is past, or editing is disabled.
203
  */
204
+ function bbp_past_edit_lock( $datetime = '', $utc = true ) {
205
 
206
  // Default value
207
+ $retval = true;
208
 
209
+ // Check if date and editing is allowed
210
+ if ( bbp_allow_content_edit() ) {
211
 
212
+ // Get number of minutes to allow editing for
213
+ $minutes = bbp_get_edit_lock();
214
 
215
+ // 0 minutes means forever, so can never be past edit-lock time
216
+ if ( 0 === $minutes ) {
217
+ $retval = false;
218
 
219
+ // Checking against a specific datetime
220
+ } elseif ( ! empty( $datetime ) ) {
221
 
222
+ // Period of time
223
+ $lockable = "+{$minutes} minutes";
224
+ if ( true === $utc ) {
225
+ $lockable .= " UTC";
226
+ }
227
 
228
+ // Now
229
+ $cur_time = current_time( 'timestamp', $utc );
230
+
231
+ // Get the duration in seconds
232
+ $duration = strtotime( $lockable ) - $cur_time;
233
+
234
+ // Diff the times down to seconds
235
+ $lock_time = strtotime( $lockable, $cur_time );
236
+ $past_time = strtotime( $datetime, $cur_time );
237
+ $diff_time = ( $lock_time - $past_time ) - $duration;
238
+
239
+ // 0 minutes set, so allow editing forever
240
+ if ( 0 === $minutes ) {
241
+ $retval = false;
242
 
243
+ // Check if less than lock time
244
+ } elseif ( $diff_time < $duration ) {
245
+ $retval = false;
246
+ }
247
  }
248
  }
249
 
250
  // Filter & return
251
+ return (bool) apply_filters( 'bbp_past_edit_lock', $retval, $datetime, $utc );
252
  }
253
 
254
  /**
793
  * @param int $author_id Topic or reply author ID
794
  * @param string $title The title of the content
795
  * @param string $content The content being posted
796
+ * @param mixed $strict False for moderation_keys. True for blacklist_keys.
797
+ * String for custom keys.
798
  * @return bool True if test is passed, false if fail
799
  */
800
  function bbp_check_for_moderation( $anonymous_data = array(), $author_id = 0, $title = '', $content = '', $strict = false ) {
801
 
802
+ // Custom moderation option key
803
+ if ( is_string( $strict ) ) {
804
+ $strict = sanitize_key( $strict );
805
+
806
+ // Use custom key
807
+ if ( ! empty( $strict ) ) {
808
+ $hook_name = $strict;
809
+ $option_name = "{$strict}_keys";
810
+
811
+ // Key was invalid, so default to moderation keys
812
+ } else {
813
+ $strict = false;
814
+ }
815
+ }
816
+
817
  // Strict mode uses WordPress "blacklist" settings
818
  if ( true === $strict ) {
819
  $hook_name = 'blacklist';
820
  $option_name = 'blacklist_keys';
821
 
822
  // Non-strict uses WordPress "moderation" settings
823
+ } elseif ( false === $strict ) {
824
  $hook_name = 'moderation';
825
  $option_name = 'moderation_keys';
826
  }
830
  return true;
831
  }
832
 
833
+ // Maybe perform some author-specific capability checks
834
+ if ( ! empty( $author_id ) ) {
835
+
836
+ // Bail if user is a keymaster
837
+ if ( bbp_is_user_keymaster( $author_id ) ) {
838
+ return true;
839
+
840
+ // Bail if user can moderate
841
+ // https://bbpress.trac.wordpress.org/ticket/2726
842
+ } elseif ( ( false === $strict ) && user_can( $author_id, 'moderate' ) ) {
843
+ return true;
844
+ }
845
  }
846
 
847
  // Define local variable(s)
1406
  /**
1407
  * Return a clean and reliable logout URL
1408
  *
1409
+ * This function is used to filter `logout_url`. If no $redirect_to value is
1410
+ * passed, it will default to the request uri, then the forum root.
1411
+ *
1412
+ * See: `wp_logout_url()`
1413
+ *
1414
+ * @since 2.1.0 bbPress (2815)
1415
+ *
1416
+ * @param string $url URL used to log out
1417
  * @param string $redirect_to Where to redirect to?
1418
+ *
1419
  * @return string The url
1420
  */
1421
  function bbp_logout_url( $url = '', $redirect_to = '' ) {
1422
 
1423
+ // If there is no redirect in the URL, let's add one...
1424
+ if ( ! strstr( $url, 'redirect_to' ) ) {
1425
 
1426
+ // Get the forum root, to maybe use as a default
1427
+ $forum_root = bbp_get_root_url();
1428
+
1429
+ // No redirect passed, so check referer and fallback to request uri
1430
+ if ( empty( $redirect_to ) ) {
1431
+
1432
+ // Check for a valid referer
1433
+ $redirect_to = wp_get_referer();
1434
+
1435
+ // Fallback to request uri if invalid referer
1436
+ if ( false === $redirect_to ) {
1437
+ $redirect_to = bbp_get_url_scheme() . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
1438
+ }
1439
  }
1440
 
1441
+ // Filter the $redirect_to destination
1442
+ $filtered = apply_filters( 'bbp_logout_url_redirect_to', $redirect_to );
1443
+
1444
+ // Validate $redirect_to, default to root
1445
+ $validated = wp_validate_redirect( $filtered, $forum_root );
1446
 
1447
+ // Assemble $redirect_to and add it (encoded) to full $url
1448
+ $appended = add_query_arg( array( 'loggedout' => 'true' ), $validated );
1449
+ $encoded = urlencode( $appended );
1450
+ $url = add_query_arg( array( 'redirect_to' => $encoded ), $url );
1451
  }
1452
 
1453
  // Filter & return
includes/core/actions.php CHANGED
@@ -82,6 +82,7 @@ add_action( 'bbp_init', 'bbp_register', 10 );
82
  add_action( 'bbp_init', 'bbp_add_rewrite_tags', 20 );
83
  add_action( 'bbp_init', 'bbp_add_rewrite_rules', 30 );
84
  add_action( 'bbp_init', 'bbp_add_permastructs', 40 );
 
85
  add_action( 'bbp_init', 'bbp_ready', 999 );
86
 
87
  /**
82
  add_action( 'bbp_init', 'bbp_add_rewrite_tags', 20 );
83
  add_action( 'bbp_init', 'bbp_add_rewrite_rules', 30 );
84
  add_action( 'bbp_init', 'bbp_add_permastructs', 40 );
85
+ add_action( 'bbp_init', 'bbp_setup_engagements', 50 );
86
  add_action( 'bbp_init', 'bbp_ready', 999 );
87
 
88
  /**
includes/core/options.php CHANGED
@@ -64,6 +64,7 @@ function bbp_get_default_options() {
64
  '_bbp_thread_replies_depth' => 2, // Thread replies depth
65
  '_bbp_theme_package_id' => 'default', // The ID for the current theme package
66
  '_bbp_settings_integration' => 'basic', // How to integrate into wp-admin
 
67
 
68
  /** Per Page **********************************************************/
69
 
@@ -600,6 +601,32 @@ function bbp_title_max_length( $default = 80 ) {
600
  return (int) apply_filters( 'bbp_get_title_max_length', (int) get_option( '_bbp_title_max_length', $default ) );
601
  }
602
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
603
  /**
604
  * Output the group forums root parent forum id
605
  *
@@ -663,7 +690,7 @@ function bbp_is_akismet_active( $default = 1 ) {
663
  * @since 2.4.0 bbPress (r4932)
664
  *
665
  * @param bool $default Optional. Default value false
666
- * @return bool To deeply integrate settings, or not
667
  */
668
  function bbp_settings_integration( $default = 'basic' ) {
669
 
@@ -677,7 +704,7 @@ function bbp_settings_integration( $default = 'basic' ) {
677
  : 'basic';
678
  }
679
 
680
- // Fallback to 'none' if invalid
681
  if ( ! in_array( $integration, array( 'basic', 'deep', 'compact' ), true ) ) {
682
  $integration = 'basic';
683
  }
@@ -686,6 +713,36 @@ function bbp_settings_integration( $default = 'basic' ) {
686
  return apply_filters( 'bbp_settings_integration', $integration, $default );
687
  }
688
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
689
  /** Slugs *********************************************************************/
690
 
691
  /**
64
  '_bbp_thread_replies_depth' => 2, // Thread replies depth
65
  '_bbp_theme_package_id' => 'default', // The ID for the current theme package
66
  '_bbp_settings_integration' => 'basic', // How to integrate into wp-admin
67
+ '_bbp_engagements_strategy' => 'meta', // How to interact with engagements
68
 
69
  /** Per Page **********************************************************/
70
 
601
  return (int) apply_filters( 'bbp_get_title_max_length', (int) get_option( '_bbp_title_max_length', $default ) );
602
  }
603
 
604
+ /**
605
+ * Output the number of minutes a topic or reply can be edited after it's
606
+ * published. Used by `bbp_past_edit_lock()`.
607
+ *
608
+ * @since 2.6.0 bbPress (r6868)
609
+ *
610
+ * @param bool $default Optional. Default value 5
611
+ */
612
+ function bbp_edit_lock( $default = 5 ) {
613
+ echo bbp_get_edit_lock( $default );
614
+ }
615
+ /**
616
+ * Return the number of minutes a topic or reply can be edited after it's
617
+ * published. Used by `bbp_past_edit_lock()`.
618
+ *
619
+ * @since 2.6.0 bbPress (r6868)
620
+ *
621
+ * @param bool $default Optional. Default value 5
622
+ * @return int Is anonymous posting allowed?
623
+ */
624
+ function bbp_get_edit_lock( $default = 5 ) {
625
+
626
+ // Filter & return
627
+ return (int) apply_filters( 'bbp_get_edit_lock', (int) get_option( '_bbp_edit_lock', $default ) );
628
+ }
629
+
630
  /**
631
  * Output the group forums root parent forum id
632
  *
690
  * @since 2.4.0 bbPress (r4932)
691
  *
692
  * @param bool $default Optional. Default value false
693
+ * @return string How to integrate settings
694
  */
695
  function bbp_settings_integration( $default = 'basic' ) {
696
 
704
  : 'basic';
705
  }
706
 
707
+ // Fallback to 'basic' if invalid
708
  if ( ! in_array( $integration, array( 'basic', 'deep', 'compact' ), true ) ) {
709
  $integration = 'basic';
710
  }
713
  return apply_filters( 'bbp_settings_integration', $integration, $default );
714
  }
715
 
716
+ /**
717
+ * How to interact with engagements
718
+ *
719
+ * There are 3 possible strategies:
720
+ * - 'meta' 2.6 and higher. Uses multiple postmeta keys.
721
+ * - 'user' Pre-2.6. Uses comma-separated string of IDs in usermeta.
722
+ * - 'term' Alternate. Uses taxonomy term relationships.
723
+ *
724
+ * @since 2.6.0 bbPress (r6875)
725
+ *
726
+ * @param bool $default Optional. Default value false
727
+ * @return string How to interact with engagements
728
+ */
729
+ function bbp_engagements_strategy( $default = 'meta' ) {
730
+
731
+ // Get the option value
732
+ $integration = get_option( '_bbp_engagements_strategy', $default );
733
+
734
+ // Check that class exists, or fallback
735
+ $class_name = 'BBP_User_Engagements_' . ucwords( $integration );
736
+
737
+ // Fallback to 'meta' if invalid
738
+ if ( ! class_exists( $class_name ) ) {
739
+ $integration = 'meta';
740
+ }
741
+
742
+ // Filter & return
743
+ return apply_filters( 'bbp_engagements_strategy', $integration, $default );
744
+ }
745
+
746
  /** Slugs *********************************************************************/
747
 
748
  /**
includes/core/sub-actions.php CHANGED
@@ -146,6 +146,15 @@ function bbp_setup_current_user() {
146
  do_action( 'bbp_setup_current_user' );
147
  }
148
 
 
 
 
 
 
 
 
 
 
149
  /** Supplemental Actions ******************************************************/
150
 
151
  /**
146
  do_action( 'bbp_setup_current_user' );
147
  }
148
 
149
+ /**
150
+ * Setup the user engagements strategy
151
+ *
152
+ * @since 2.6.0 bbPress (r6875)
153
+ */
154
+ function bbp_setup_engagements() {
155
+ do_action( 'bbp_setup_engagements' );
156
+ }
157
+
158
  /** Supplemental Actions ******************************************************/
159
 
160
  /**
includes/core/template-functions.php CHANGED
@@ -106,6 +106,88 @@ function bbp_locate_template( $template_names, $load = false, $require_once = tr
106
  return $located;
107
  }
108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  /**
110
  * Enqueue a script from the highest priority location in the template stack.
111
  *
@@ -123,50 +205,23 @@ function bbp_locate_template( $template_names, $load = false, $require_once = tr
123
  * Default 'all'. Accepts 'all', 'aural', 'braille', 'handheld', 'projection', 'print',
124
  * 'screen', 'tty', or 'tv'.
125
  *
126
- * @return string The style filename if one is located.
127
  */
128
  function bbp_enqueue_style( $handle = '', $file = '', $deps = array(), $ver = false, $media = 'all' ) {
129
 
130
- // No file found yet
131
- $located = false;
132
-
133
- // Trim off any slashes from the template name
134
- $file = ltrim( $file, '/' );
135
-
136
- // Make sure there is always a version
137
- if ( empty( $ver ) ) {
138
- $ver = bbp_get_version();
139
- }
140
-
141
- // Loop through template stack
142
- foreach ( (array) bbp_get_template_stack() as $template_location ) {
143
-
144
- // Continue if $template_location is empty
145
- if ( empty( $template_location ) ) {
146
- continue;
147
- }
148
-
149
- // Check child theme first
150
- if ( file_exists( trailingslashit( $template_location ) . $file ) ) {
151
- $located = trailingslashit( $template_location ) . $file;
152
- break;
153
- }
154
- }
155
 
156
  // Enqueue if located
157
  if ( ! empty( $located ) ) {
158
 
159
- $content_dir = constant( 'WP_CONTENT_DIR' );
160
-
161
- // IIS (Windows) here
162
- // Replace back slashes with forward slash
163
- if ( strpos( $located, '\\' ) !== false ) {
164
- $located = str_replace( '\\', '/', $located );
165
- $content_dir = str_replace( '\\', '/', $content_dir );
166
  }
167
 
168
- // Make path to file relative to site URL
169
- $located = str_replace( $content_dir, content_url(), $located );
170
 
171
  // Register the style
172
  wp_register_style( $handle, $located, $deps, $ver, $media );
@@ -194,50 +249,23 @@ function bbp_enqueue_style( $handle = '', $file = '', $deps = array(), $ver = fa
194
  * @param bool $in_footer Optional. Whether to enqueue the script before </head> or before </body>.
195
  * Default 'false'. Accepts 'false' or 'true'.
196
  *
197
- * @return string The script filename if one is located.
198
  */
199
  function bbp_enqueue_script( $handle = '', $file = '', $deps = array(), $ver = false, $in_footer = false ) {
200
 
201
- // No file found yet
202
- $located = false;
203
-
204
- // Trim off any slashes from the template name
205
- $file = ltrim( $file, '/' );
206
-
207
- // Make sure there is always a version
208
- if ( empty( $ver ) ) {
209
- $ver = bbp_get_version();
210
- }
211
-
212
- // Loop through template stack
213
- foreach ( (array) bbp_get_template_stack() as $template_location ) {
214
-
215
- // Continue if $template_location is empty
216
- if ( empty( $template_location ) ) {
217
- continue;
218
- }
219
-
220
- // Check child theme first
221
- if ( file_exists( trailingslashit( $template_location ) . $file ) ) {
222
- $located = trailingslashit( $template_location ) . $file;
223
- break;
224
- }
225
- }
226
 
227
  // Enqueue if located
228
  if ( ! empty( $located ) ) {
229
 
230
- $content_dir = constant( 'WP_CONTENT_DIR' );
231
-
232
- // IIS (Windows) here
233
- // Replace back slashes with forward slash
234
- if ( strpos( $located, '\\' ) !== false ) {
235
- $located = str_replace( '\\', '/', $located );
236
- $content_dir = str_replace( '\\', '/', $content_dir );
237
  }
238
 
239
- // Make path to file relative to site URL
240
- $located = str_replace( $content_dir, content_url(), $located );
241
 
242
  // Register the style
243
  wp_register_script( $handle, $located, $deps, $ver, $in_footer );
@@ -703,7 +731,7 @@ function bbp_parse_query( $posts_query ) {
703
  $posts_query->set( 'posts_per_page', bbp_get_topics_per_page() );
704
 
705
  // Do topics on forums root
706
- } elseif ( is_post_type_archive( get_post_types( array( 'source' => 'bbpress', 'has_archive' ) ) ) && ( 'topics' === bbp_show_on_root() ) ) {
707
  $posts_query->bbp_show_topics_on_root = true;
708
  }
709
  }
106
  return $located;
107
  }
108
 
109
+ /**
110
+ * Locate an enqueueable file on the server. Used before being enqueued.
111
+ *
112
+ * If SCRIPT_DEBUG is set and the file includes a .min suffix, this function
113
+ * will automatically attempt to locate a non-minified version of that file.
114
+ *
115
+ * If SCRIPT_DEBUG is not set and the file exclude a .min suffix, this function
116
+ * will automatically attempt to locate a minified version of that file.
117
+ *
118
+ * See: https://bbpress.trac.wordpress.org/ticket/3218
119
+ *
120
+ * @since 2.6.0
121
+ *
122
+ * @param string $file
123
+ *
124
+ * @return boolean
125
+ */
126
+ function bbp_locate_enqueueable( $file = '' ) {
127
+
128
+ // Bail if no file to locate
129
+ if ( empty( $file ) ) {
130
+ return false;
131
+ }
132
+
133
+ // Add file to files array
134
+ $files = array( $file );
135
+
136
+ // Get the file variant (minified or not, but opposite of $file)
137
+ $file_is_min = ( false !== strpos( $file, '.min' ) );
138
+ $file_variant = ( false === $file_is_min )
139
+ ? str_replace( array( '.css', '.js' ), array( '.min.css', '.min.js' ), $file )
140
+ : str_replace( '.min', '', $file );
141
+
142
+ // Are we debugging?
143
+ $script_debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
144
+
145
+ // Debugging, so prefer unminified files
146
+ if ( true === $script_debug ) {
147
+ if ( true === $file_is_min ) {
148
+ array_unshift( $files, $file_variant );
149
+ } else {
150
+ array_push( $files, $file_variant );
151
+ }
152
+
153
+ // Not debugging, so prefer minified files
154
+ } elseif ( false === $script_debug ) {
155
+ if ( true === $file_is_min ) {
156
+ array_push( $files, $file_variant );
157
+ } else {
158
+ array_unshift( $files, $file_variant );
159
+ }
160
+ }
161
+
162
+ // Return first found file location in the stack
163
+ return bbp_locate_template( $files, false, false );
164
+ }
165
+
166
+ /**
167
+ * Convert an enqueueable file path to a URL
168
+ *
169
+ * @since 2.6.0
170
+ * @param string $file
171
+ *
172
+ * @return string
173
+ */
174
+ function bbp_urlize_enqueueable( $file = '' ) {
175
+
176
+ // Get DIR and URL
177
+ $content_dir = constant( 'WP_CONTENT_DIR' );
178
+ $content_url = content_url();
179
+
180
+ // IIS (Windows) here
181
+ // Replace back slashes with forward slash
182
+ if ( false !== strpos( $file, '\\' ) ) {
183
+ $file = str_replace( '\\', '/', $file );
184
+ $content_dir = str_replace( '\\', '/', $content_dir );
185
+ }
186
+
187
+ // Return path to file relative to site URL
188
+ return str_replace( $content_dir, $content_url, $file );
189
+ }
190
+
191
  /**
192
  * Enqueue a script from the highest priority location in the template stack.
193
  *
205
  * Default 'all'. Accepts 'all', 'aural', 'braille', 'handheld', 'projection', 'print',
206
  * 'screen', 'tty', or 'tv'.
207
  *
208
+ * @return mixed The style filename if one is located. False if not.
209
  */
210
  function bbp_enqueue_style( $handle = '', $file = '', $deps = array(), $ver = false, $media = 'all' ) {
211
 
212
+ // Attempt to locate an enqueueable
213
+ $located = bbp_locate_enqueueable( $file );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
 
215
  // Enqueue if located
216
  if ( ! empty( $located ) ) {
217
 
218
+ // Make sure there is always a version
219
+ if ( empty( $ver ) ) {
220
+ $ver = bbp_get_version();
 
 
 
 
221
  }
222
 
223
+ // Make path to file relative to site URL
224
+ $located = bbp_urlize_enqueueable( $located );
225
 
226
  // Register the style
227
  wp_register_style( $handle, $located, $deps, $ver, $media );
249
  * @param bool $in_footer Optional. Whether to enqueue the script before </head> or before </body>.
250
  * Default 'false'. Accepts 'false' or 'true'.
251
  *
252
+ * @return mixed The script filename if one is located. False if not.
253
  */
254
  function bbp_enqueue_script( $handle = '', $file = '', $deps = array(), $ver = false, $in_footer = false ) {
255
 
256
+ // Attempt to locate an enqueueable
257
+ $located = bbp_locate_enqueueable( $file );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
 
259
  // Enqueue if located
260
  if ( ! empty( $located ) ) {
261
 
262
+ // Make sure there is always a version
263
+ if ( empty( $ver ) ) {
264
+ $ver = bbp_get_version();
 
 
 
 
265
  }
266
 
267
+ // Make path to file relative to site URL
268
+ $located = bbp_urlize_enqueueable( $located );
269
 
270
  // Register the style
271
  wp_register_script( $handle, $located, $deps, $ver, $in_footer );
731
  $posts_query->set( 'posts_per_page', bbp_get_topics_per_page() );
732
 
733
  // Do topics on forums root
734
+ } elseif ( is_post_type_archive( bbp_get_post_types( array( 'has_archive' => true ) ) ) && ( 'topics' === bbp_show_on_root() ) ) {
735
  $posts_query->bbp_show_topics_on_root = true;
736
  }
737
  }
includes/core/update.php CHANGED
@@ -352,6 +352,9 @@ function bbp_version_updater() {
352
  bbp_admin_upgrade_user_forum_subscriptions();
353
  } else {
354
  update_option( '_bbp_db_upgrade_skipped', $raw_db_version );
 
 
 
355
  }
356
  }
357
 
@@ -367,6 +370,9 @@ function bbp_version_updater() {
367
  bbp_admin_upgrade_user_engagements();
368
  } else {
369
  update_option( '_bbp_db_upgrade_skipped', $raw_db_version );
 
 
 
370
  }
371
  }
372
  }
352
  bbp_admin_upgrade_user_forum_subscriptions();
353
  } else {
354
  update_option( '_bbp_db_upgrade_skipped', $raw_db_version );
355
+
356
+ // Set strategy to pre-2.6 on large network
357
+ update_option( '_bbp_engagements_strategy', 'user' );
358
  }
359
  }
360
 
370
  bbp_admin_upgrade_user_engagements();
371
  } else {
372
  update_option( '_bbp_db_upgrade_skipped', $raw_db_version );
373
+
374
+ // Set strategy to pre-2.6 on large network
375
+ update_option( '_bbp_engagements_strategy', 'user' );
376
  }
377
  }
378
  }
includes/extend/akismet.php CHANGED
@@ -146,8 +146,8 @@ class BBP_Akismet {
146
  // Pass title & content together into comment content
147
  $_post_content = trim( $post_data['post_title'] . "\n\n" . $post_data['post_content'] );
148
 
149
- // Put post_data back into usable array
150
- $_post = array(
151
  'comment_author' => $user_data['name'],
152
  'comment_author_email' => $user_data['email'],
153
  'comment_author_url' => $user_data['website'],
@@ -158,48 +158,78 @@ class BBP_Akismet {
158
  'comment_last_active_gmt' => $user_data['last_active'],
159
  'comment_account_registered_gmt' => $user_data['registered'],
160
  'permalink' => $post_permalink,
161
- 'referrer' => $_SERVER['HTTP_REFERER'],
162
- 'user_agent' => $_SERVER['HTTP_USER_AGENT'],
163
  'user_ID' => $post_data['post_author'],
164
  'user_ip' => bbp_current_author_ip(),
165
  'user_role' => $this->get_user_roles( $post_data['post_author'] ),
166
- );
167
 
168
- // Check the post_data
169
- $_post = $this->maybe_spam( $_post );
 
 
170
 
171
- // Get the result
172
- $post_data['bbp_akismet_result'] = $_post['bbp_akismet_result'];
173
  unset( $_post['bbp_akismet_result'] );
174
-
175
- // Store the data as submitted
176
  $post_data['bbp_post_as_submitted'] = $_post;
177
 
 
 
 
178
  // Allow post_data to be manipulated
179
  do_action_ref_array( 'bbp_akismet_check_post', $post_data );
180
 
181
- // Spam
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  if ( 'true' === $post_data['bbp_akismet_result'] ) {
183
 
184
  // Let plugins do their thing
185
  do_action( 'bbp_akismet_spam_caught' );
186
 
187
- // This is spam
188
  $post_data['post_status'] = bbp_get_spam_status_id();
189
 
190
- // We don't want your spam tags here
191
  add_filter( 'bbp_new_reply_pre_set_terms', array( $this, 'filter_post_terms' ), 1, 3 );
192
-
193
- // @todo Spam counter?
194
  }
195
 
196
- // @todo Topic/reply moderation? No true/false response - 'pending' or 'draft'
197
- // @todo Auto-delete old spam?
198
-
199
- // Log the last post
200
- $this->last_post = $post_data;
201
-
202
- // Pass the data back to the filter
203
  return $post_data;
204
  }
205
 
@@ -393,8 +423,8 @@ class BBP_Akismet {
393
  $post_data['blog'] = get_option( 'home' );
394
  $post_data['blog_charset'] = get_option( 'blog_charset' );
395
  $post_data['blog_lang'] = get_locale();
396
- $post_data['referrer'] = $_SERVER['HTTP_REFERER'];
397
- $post_data['user_agent'] = $_SERVER['HTTP_USER_AGENT'];
398
 
399
  // Loop through _POST args and rekey strings
400
  foreach ( $_POST as $key => $value ) {
@@ -432,7 +462,9 @@ class BBP_Akismet {
432
  }
433
 
434
  // Fire!
435
- $response = $this->http_post( $query_string, $akismet_api_host, $path, $akismet_api_port );
 
 
436
 
437
  // Check the high-speed cam
438
  if ( ! empty( $response[1] ) ) {
@@ -441,7 +473,7 @@ class BBP_Akismet {
441
  $post_data['bbp_akismet_result'] = esc_html__( 'No response', 'bbpress' );
442
  }
443
 
444
- // This is ham
445
  return $post_data;
446
  }
447
 
146
  // Pass title & content together into comment content
147
  $_post_content = trim( $post_data['post_title'] . "\n\n" . $post_data['post_content'] );
148
 
149
+ // Check if the post data is spammy...
150
+ $_post = $this->maybe_spam( array(
151
  'comment_author' => $user_data['name'],
152
  'comment_author_email' => $user_data['email'],
153
  'comment_author_url' => $user_data['website'],
158
  'comment_last_active_gmt' => $user_data['last_active'],
159
  'comment_account_registered_gmt' => $user_data['registered'],
160
  'permalink' => $post_permalink,
161
+ 'referrer' => wp_get_raw_referer(),
162
+ 'user_agent' => bbp_current_author_ua(),
163
  'user_ID' => $post_data['post_author'],
164
  'user_ip' => bbp_current_author_ip(),
165
  'user_role' => $this->get_user_roles( $post_data['post_author'] ),
166
+ ) );
167
 
168
+ // Set the result (from maybe_spam() above)
169
+ $post_data['bbp_akismet_result'] = ! empty( $_post['bbp_akismet_result'] )
170
+ ? $_post['bbp_akismet_result'] // raw
171
+ : esc_html__( 'No response', 'bbpress' );
172
 
173
+ // Set the data-as-submitted value without the result (recursion avoidance)
 
174
  unset( $_post['bbp_akismet_result'] );
 
 
175
  $post_data['bbp_post_as_submitted'] = $_post;
176
 
177
+ // Cleanup to avoid touching this variable again below
178
+ unset( $_post );
179
+
180
  // Allow post_data to be manipulated
181
  do_action_ref_array( 'bbp_akismet_check_post', $post_data );
182
 
183
+ // Parse and log the last response
184
+ $this->last_post = $this->parse_response( $post_data );
185
+
186
+ // Return the last response back to the filter
187
+ return $this->last_post;
188
+ }
189
+
190
+ /**
191
+ * Parse the response from the Akismet service, and alter the post data as
192
+ * necessary. For example, switch the status to `spam` if spammy.
193
+ *
194
+ * Note: this method also skiis responsible for allowing users who can moderate, to
195
+ * never have their posts marked as spam. This is because they are "trusted"
196
+ * users. However, their posts are still sent to Akismet to be checked.
197
+ *
198
+ * @since 2.6.0 bbPress (r6873)
199
+ *
200
+ * @param array $post_data
201
+ *
202
+ * @return array
203
+ */
204
+ private function parse_response( $post_data = array() ) {
205
+
206
+ // Get the parent ID of the post as submitted
207
+ $parent_id = ! empty( $post_data['bbp_post_as_submitted']['comment_post_ID'] )
208
+ ? absint( $post_data['bbp_post_as_submitted']['comment_post_ID'] )
209
+ : 0;
210
+
211
+ // Allow moderators to skip spam (includes per-forum moderators via $parent_id)
212
+ $skip_spam = current_user_can( 'moderate', $parent_id );
213
+
214
+ // Bail early if current user can skip spam enforcement
215
+ if ( apply_filters( 'bbp_bypass_spam_enforcement', $skip_spam, $post_data ) ) {
216
+ return $post_data;
217
+ }
218
+
219
+ // Result is spam, so set the status as such
220
  if ( 'true' === $post_data['bbp_akismet_result'] ) {
221
 
222
  // Let plugins do their thing
223
  do_action( 'bbp_akismet_spam_caught' );
224
 
225
+ // Set post_status to spam
226
  $post_data['post_status'] = bbp_get_spam_status_id();
227
 
228
+ // Filter spammy tags into meta data
229
  add_filter( 'bbp_new_reply_pre_set_terms', array( $this, 'filter_post_terms' ), 1, 3 );
 
 
230
  }
231
 
232
+ // Return the (potentially modified) post data
 
 
 
 
 
 
233
  return $post_data;
234
  }
235
 
423
  $post_data['blog'] = get_option( 'home' );
424
  $post_data['blog_charset'] = get_option( 'blog_charset' );
425
  $post_data['blog_lang'] = get_locale();
426
+ $post_data['referrer'] = wp_get_raw_referer();
427
+ $post_data['user_agent'] = bbp_current_author_ua();
428
 
429
  // Loop through _POST args and rekey strings
430
  foreach ( $_POST as $key => $value ) {
462
  }
463
 
464
  // Fire!
465
+ $response = ! apply_filters( 'bbp_bypass_check_for_spam', false, $post_data )
466
+ ? $this->http_post( $query_string, $akismet_api_host, $path, $akismet_api_port )
467
+ : false;
468
 
469
  // Check the high-speed cam
470
  if ( ! empty( $response[1] ) ) {
473
  $post_data['bbp_akismet_result'] = esc_html__( 'No response', 'bbpress' );
474
  }
475
 
476
+ // Return the post data, with the results of the external Akismet request
477
  return $post_data;
478
  }
479
 
includes/forums/template.php CHANGED
@@ -650,7 +650,7 @@ function bbp_forum_get_subforums( $args = array() ) {
650
  $retval = array();
651
 
652
  // Use passed integer as post_parent
653
- if ( is_numeric( $args ) ) {
654
  $args = array( 'post_parent' => bbp_get_forum_id( $args ) );
655
  }
656
 
@@ -684,11 +684,14 @@ function bbp_forum_get_subforums( $args = array() ) {
684
  * @since 2.0.0 bbPress (r2708)
685
  *
686
  * @param array $args The function supports these args:
687
- * - before: To put before the output. Defaults to '<ul class="bbp-forums">'
688
  * - after: To put after the output. Defaults to '</ul>'
689
  * - link_before: To put before every link. Defaults to '<li class="bbp-forum">'
690
  * - link_after: To put after every link. Defaults to '</li>'
691
- * - separator: Separator. Defaults to ', '
 
 
 
692
  * - forum_id: Forum id. Defaults to ''
693
  * - show_topic_count - To show forum topic count or not. Defaults to true
694
  * - show_reply_count - To show forum reply count or not. Defaults to true
@@ -699,15 +702,16 @@ function bbp_list_forums( $args = array() ) {
699
  $r = bbp_parse_args( $args, array(
700
  'before' => '<ul class="bbp-forums-list">',
701
  'after' => '</ul>',
702
- 'link_before' => '<li class="bbp-forum">',
703
  'link_after' => '</li>',
 
704
  'count_before' => ' (',
705
  'count_after' => ')',
706
  'count_sep' => ', ',
707
- 'sep' => ', ',
708
  'forum_id' => '',
709
  'show_topic_count' => true,
710
  'show_reply_count' => true,
 
711
 
712
  // Retired, use 'sep' instead
713
  'separator' => false
@@ -721,51 +725,65 @@ function bbp_list_forums( $args = array() ) {
721
  $r['sep'] = $r['separator'];
722
  }
723
 
724
- // Define links
725
- $links = array();
 
 
 
 
 
 
726
 
727
  // Loop through forums and create a list
728
- $sub_forums = bbp_forum_get_subforums( $r['forum_id'] );
729
- foreach ( $sub_forums as $sub_forum ) {
730
 
731
- // Get forum details
732
- $count = array();
733
- $permalink = bbp_get_forum_permalink( $sub_forum->ID );
734
- $title = bbp_get_forum_title( $sub_forum->ID );
735
 
736
- // Show topic count
737
- if ( ! empty( $r['show_topic_count'] ) && ! bbp_is_forum_category( $sub_forum->ID ) ) {
738
- $count['topic'] = bbp_get_forum_topic_count( $sub_forum->ID );
739
- }
740
 
741
- // Show reply count
742
- if ( ! empty( $r['show_reply_count'] ) && ! bbp_is_forum_category( $sub_forum->ID ) ) {
743
- $count['reply'] = bbp_get_forum_reply_count( $sub_forum->ID );
744
- }
745
 
746
- // Counts to show
747
- $counts = ! empty( $count )
748
- ? $r['count_before'] . implode( $r['count_sep'], $count ) . $r['count_after']
749
- : '';
750
 
751
- // Subforum classes
752
- $subforum_classes = array( 'bbp-forum-link' );
753
- $subforum_classes = apply_filters( 'bbp_list_forums_subforum_classes', $subforum_classes, $sub_forum->ID );
754
 
755
- // This could use bbp_get_forum_class() eventually...
756
- $subforum_classes_attr = 'class="' . implode( ' ', array_map( 'sanitize_html_class', $subforum_classes ) ) . '"';
757
 
758
- // Build this sub forums link
759
- $links[] = $r['link_before'] . '<a href="' . esc_url( $permalink ) . '" ' . $subforum_classes_attr . '>' . $title . $counts . '</a>' . $r['link_after'];
 
 
 
 
 
 
760
  }
761
 
762
- // Maybe wrap output
763
- $output = ! empty( $links )
764
- ? $r['before'] . implode( $r['sep'], $links ) . $r['after']
765
- : '';
766
 
767
- // Filter & output the forums list
768
- echo apply_filters( 'bbp_list_forums', $output, $r, $args );
 
 
 
 
769
  }
770
 
771
  /** Forum Subscriptions *******************************************************/
650
  $retval = array();
651
 
652
  // Use passed integer as post_parent
653
+ if ( is_numeric( $args ) && ! empty( $args ) ) {
654
  $args = array( 'post_parent' => bbp_get_forum_id( $args ) );
655
  }
656
 
684
  * @since 2.0.0 bbPress (r2708)
685
  *
686
  * @param array $args The function supports these args:
687
+ * - before: To put before the output. Defaults to '<ul class="bbp-forums-list">'
688
  * - after: To put after the output. Defaults to '</ul>'
689
  * - link_before: To put before every link. Defaults to '<li class="bbp-forum">'
690
  * - link_after: To put after every link. Defaults to '</li>'
691
+ * - sep: Separator. Defaults to ''. Make sure your markup is valid!
692
+ * - count_before: String before each count Defaults to ' ('
693
+ * - count_after: String before each count Defaults to ')'
694
+ * - count_sep: Count separator. Defaults to ', '
695
  * - forum_id: Forum id. Defaults to ''
696
  * - show_topic_count - To show forum topic count or not. Defaults to true
697
  * - show_reply_count - To show forum reply count or not. Defaults to true
702
  $r = bbp_parse_args( $args, array(
703
  'before' => '<ul class="bbp-forums-list">',
704
  'after' => '</ul>',
705
+ 'link_before' => '<li class="bbp-forum css-sep">',
706
  'link_after' => '</li>',
707
+ 'sep' => '',
708
  'count_before' => ' (',
709
  'count_after' => ')',
710
  'count_sep' => ', ',
 
711
  'forum_id' => '',
712
  'show_topic_count' => true,
713
  'show_reply_count' => true,
714
+ 'echo' => true,
715
 
716
  // Retired, use 'sep' instead
717
  'separator' => false
725
  $r['sep'] = $r['separator'];
726
  }
727
 
728
+ // Default values
729
+ $links = array();
730
+ $output = '';
731
+
732
+ // Query for subforums
733
+ $sub_forums = ! empty( $r['forum_id'] )
734
+ ? bbp_forum_get_subforums( $r['forum_id'] )
735
+ : array();
736
 
737
  // Loop through forums and create a list
738
+ if ( ! empty( $sub_forums ) ) {
739
+ foreach ( $sub_forums as $sub_forum ) {
740
 
741
+ // Get forum details
742
+ $count = array();
743
+ $permalink = bbp_get_forum_permalink( $sub_forum->ID );
744
+ $title = bbp_get_forum_title( $sub_forum->ID );
745
 
746
+ // Show topic count
747
+ if ( ! empty( $r['show_topic_count'] ) && ! bbp_is_forum_category( $sub_forum->ID ) ) {
748
+ $count['topic'] = bbp_get_forum_topic_count( $sub_forum->ID );
749
+ }
750
 
751
+ // Show reply count
752
+ if ( ! empty( $r['show_reply_count'] ) && ! bbp_is_forum_category( $sub_forum->ID ) ) {
753
+ $count['reply'] = bbp_get_forum_reply_count( $sub_forum->ID );
754
+ }
755
 
756
+ // Counts to show
757
+ $counts = ! empty( $count )
758
+ ? $r['count_before'] . implode( $r['count_sep'], $count ) . $r['count_after']
759
+ : '';
760
 
761
+ // Subforum classes
762
+ $subforum_classes = array( 'bbp-forum-link' );
763
+ $subforum_classes = apply_filters( 'bbp_list_forums_subforum_classes', $subforum_classes, $sub_forum->ID );
764
 
765
+ // This could use bbp_get_forum_class() eventually...
766
+ $subforum_classes_attr = 'class="' . implode( ' ', array_map( 'sanitize_html_class', $subforum_classes ) ) . '"';
767
 
768
+ // Build this sub forums link
769
+ $links[] = $r['link_before'] . '<a href="' . esc_url( $permalink ) . '" ' . $subforum_classes_attr . '>' . $title . $counts . '</a>' . $r['link_after'];
770
+ }
771
+
772
+ // Maybe wrap output
773
+ $output = ! empty( $links )
774
+ ? $r['before'] . implode( $r['sep'], $links ) . $r['after']
775
+ : '';
776
  }
777
 
778
+ // Filter output
779
+ $the_list = apply_filters( 'bbp_list_forums', $output, $r, $args );
 
 
780
 
781
+ // Echo or return the forums list
782
+ if ( true === $r['echo'] ) {
783
+ echo $the_list;
784
+ } else {
785
+ return $the_list;
786
+ }
787
  }
788
 
789
  /** Forum Subscriptions *******************************************************/
includes/replies/template.php CHANGED
@@ -1224,19 +1224,12 @@ function bbp_reply_author_link( $args = array() ) {
1224
 
1225
  // Empty array
1226
  $links = array();
1227
- $sprint = empty( $anonymous ) && bbp_user_has_profile( bbp_get_reply_author_id( $reply_id ) )
1228
- ? '<a href="%1$s"%2$s%3$s>%4$s</a>'
1229
- : '<span %2$s%3$s>%4$s</span>';
1230
 
1231
  // Wrap each link
1232
  foreach ( $author_links as $link => $link_text ) {
1233
  $link_class = ' class="bbp-author-' . esc_attr( $link ) . '"';
1234
- $links[] = sprintf( $sprint, esc_url( $author_url ), $link_title, $link_class, $link_text );
1235
- }
1236
-
1237
- // Role is not linked
1238
- if ( true === $r['show_role'] ) {
1239
- $links[] = bbp_get_reply_author_role( array( 'reply_id' => $reply_id ) );
1240
  }
1241
 
1242
  // Juggle
@@ -1248,6 +1241,16 @@ function bbp_reply_author_link( $args = array() ) {
1248
 
1249
  // Assemble sections into author link
1250
  $author_link = implode( $r['sep'], $sections );
 
 
 
 
 
 
 
 
 
 
1251
  }
1252
 
1253
  // Filter & return
1224
 
1225
  // Empty array
1226
  $links = array();
1227
+ $sprint = '<span %1$s>%2$s</span>';
 
 
1228
 
1229
  // Wrap each link
1230
  foreach ( $author_links as $link => $link_text ) {
1231
  $link_class = ' class="bbp-author-' . esc_attr( $link ) . '"';
1232
+ $links[] = sprintf( $sprint, $link_class, $link_text );
 
 
 
 
 
1233
  }
1234
 
1235
  // Juggle
1241
 
1242
  // Assemble sections into author link
1243
  $author_link = implode( $r['sep'], $sections );
1244
+
1245
+ // Only wrap in link if profile exists
1246
+ if ( empty( $anonymous ) && bbp_user_has_profile( bbp_get_reply_author_id( $reply_id ) ) ) {
1247
+ $author_link = sprintf( '<a href="%1$s"%2$s%3$s>%4$s</a>', esc_url( $author_url ), $link_title, ' class="bbp-author-link"', $author_link );
1248
+ }
1249
+
1250
+ // Role is not linked
1251
+ if ( true === $r['show_role'] ) {
1252
+ $author_link .= bbp_get_reply_author_role( array( 'reply_id' => $reply_id ) );
1253
+ }
1254
  }
1255
 
1256
  // Filter & return
includes/topics/template.php CHANGED
@@ -1483,19 +1483,12 @@ function bbp_topic_author_link( $args = array() ) {
1483
 
1484
  // Empty array
1485
  $links = array();
1486
- $sprint = empty( $anonymous ) && bbp_user_has_profile( bbp_get_topic_author_id( $topic_id ) )
1487
- ? '<a href="%1$s"%2$s%3$s>%4$s</a>'
1488
- : '<span %2$s%3$s>%4$s</span>';
1489
 
1490
  // Wrap each link
1491
  foreach ( $author_links as $link => $link_text ) {
1492
  $link_class = ' class="bbp-author-' . esc_attr( $link ) . '"';
1493
- $links[] = sprintf( $sprint, esc_url( $author_url ), $link_title, $link_class, $link_text );
1494
- }
1495
-
1496
- // Role is not linked
1497
- if ( true === $r['show_role'] ) {
1498
- $links[] = bbp_get_topic_author_role( array( 'topic_id' => $topic_id ) );
1499
  }
1500
 
1501
  // Juggle
@@ -1507,6 +1500,16 @@ function bbp_topic_author_link( $args = array() ) {
1507
 
1508
  // Assemble sections into author link
1509
  $author_link = implode( $r['sep'], $sections );
 
 
 
 
 
 
 
 
 
 
1510
  }
1511
 
1512
  // Filter & return
1483
 
1484
  // Empty array
1485
  $links = array();
1486
+ $sprint = '<span %1$s>%2$s</span>';
 
 
1487
 
1488
  // Wrap each link
1489
  foreach ( $author_links as $link => $link_text ) {
1490
  $link_class = ' class="bbp-author-' . esc_attr( $link ) . '"';
1491
+ $links[] = sprintf( $sprint, $link_class, $link_text );
 
 
 
 
 
1492
  }
1493
 
1494
  // Juggle
1500
 
1501
  // Assemble sections into author link
1502
  $author_link = implode( $r['sep'], $sections );
1503
+
1504
+ // Only wrap in link if profile exists
1505
+ if ( empty( $anonymous ) && bbp_user_has_profile( bbp_get_topic_author_id( $topic_id ) ) ) {
1506
+ $author_link = sprintf( '<a href="%1$s"%2$s%3$s>%4$s</a>', esc_url( $author_url ), $link_title, ' class="bbp-author-link"', $author_link );
1507
+ }
1508
+
1509
+ // Role is not linked
1510
+ if ( true === $r['show_role'] ) {
1511
+ $author_link .= bbp_get_topic_author_role( array( 'topic_id' => $topic_id ) );
1512
+ }
1513
  }
1514
 
1515
  // Filter & return
includes/users/engagements.php CHANGED
@@ -460,11 +460,13 @@ function bbp_get_topic_favoriters( $topic_id = 0 ) {
460
  *
461
  * @param array $args Optional. Arguments to pass into bbp_has_topics()
462
  *
463
- * @return bool True if user has favorites, otherwise false
464
  */
465
  function bbp_get_user_favorites( $args = array() ) {
466
  $r = bbp_get_user_object_query( $args, 'favorites', '_bbp_favorite' );
467
- $query = bbp_has_topics( $r );
 
 
468
 
469
  // Filter & return
470
  return apply_filters( 'bbp_get_user_favorites', $query, 0, $r, $args );
@@ -678,11 +680,13 @@ function bbp_get_subscribers( $object_id = 0, $type = 'post' ) {
678
  *
679
  * @param array $args Optional. Arguments to pass into bbp_has_topics()
680
  *
681
- * @return bool True if user has topic subscriptions, otherwise false
682
  */
683
  function bbp_get_user_topic_subscriptions( $args = array() ) {
684
  $r = bbp_get_user_object_query( $args, 'topic_subscriptions', '_bbp_subscription' );
685
- $query = bbp_has_topics( $r );
 
 
686
 
687
  // Filter & return
688
  return apply_filters( 'bbp_get_user_topic_subscriptions', $query, 0, $r, $args );
@@ -696,11 +700,13 @@ function bbp_get_user_topic_subscriptions( $args = array() ) {
696
  *
697
  * @param array $args Optional. Arguments to pass into bbp_has_forums()
698
  *
699
- * @return bool True if user has forum subscriptions, otherwise false
700
  */
701
  function bbp_get_user_forum_subscriptions( $args = array() ) {
702
  $r = bbp_get_user_object_query( $args, 'forum_subscriptions', '_bbp_subscription' );
703
- $query = bbp_has_forums( $r );
 
 
704
 
705
  // Filter & return
706
  return apply_filters( 'bbp_get_user_forum_subscriptions', $query, 0, $r, $args );
460
  *
461
  * @param array $args Optional. Arguments to pass into bbp_has_topics()
462
  *
463
+ * @return array Array of topics if user has favorites, otherwise empty array
464
  */
465
  function bbp_get_user_favorites( $args = array() ) {
466
  $r = bbp_get_user_object_query( $args, 'favorites', '_bbp_favorite' );
467
+ $query = ! empty( $r )
468
+ ? bbp_has_topics( $r )
469
+ : array();
470
 
471
  // Filter & return
472
  return apply_filters( 'bbp_get_user_favorites', $query, 0, $r, $args );
680
  *
681
  * @param array $args Optional. Arguments to pass into bbp_has_topics()
682
  *
683
+ * @return array Array of topics if user has topic subscriptions, otherwise empty array
684
  */
685
  function bbp_get_user_topic_subscriptions( $args = array() ) {
686
  $r = bbp_get_user_object_query( $args, 'topic_subscriptions', '_bbp_subscription' );
687
+ $query = ! empty( $r )
688
+ ? bbp_has_topics( $r )
689
+ : array();
690
 
691
  // Filter & return
692
  return apply_filters( 'bbp_get_user_topic_subscriptions', $query, 0, $r, $args );
700
  *
701
  * @param array $args Optional. Arguments to pass into bbp_has_forums()
702
  *
703
+ * @return array Array of forums if user has forum subscriptions, otherwise empty array
704
  */
705
  function bbp_get_user_forum_subscriptions( $args = array() ) {
706
  $r = bbp_get_user_object_query( $args, 'forum_subscriptions', '_bbp_subscription' );
707
+ $query = ! empty( $r )
708
+ ? bbp_has_forums( $r )
709
+ : array();
710
 
711
  // Filter & return
712
  return apply_filters( 'bbp_get_user_forum_subscriptions', $query, 0, $r, $args );
includes/users/functions.php CHANGED
@@ -141,7 +141,7 @@ function bbp_current_author_ip() {
141
 
142
  // Check for remote address
143
  $remote_address = ! empty( $_SERVER['REMOTE_ADDR'] )
144
- ? $_SERVER['REMOTE_ADDR']
145
  : '127.0.0.1';
146
 
147
  // Remove any unsavory bits
@@ -160,7 +160,7 @@ function bbp_current_author_ip() {
160
  */
161
  function bbp_current_author_ua() {
162
  $retval = ! empty( $_SERVER['HTTP_USER_AGENT'] )
163
- ? mb_substr( $_SERVER['HTTP_USER_AGENT'], 0, 254 )
164
  : '';
165
 
166
  // Filter & return
141
 
142
  // Check for remote address
143
  $remote_address = ! empty( $_SERVER['REMOTE_ADDR'] )
144
+ ? wp_unslash( $_SERVER['REMOTE_ADDR'] )
145
  : '127.0.0.1';
146
 
147
  // Remove any unsavory bits
160
  */
161
  function bbp_current_author_ua() {
162
  $retval = ! empty( $_SERVER['HTTP_USER_AGENT'] )
163
+ ? mb_substr( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ), 0, 254 )
164
  : '';
165
 
166
  // Filter & return
includes/users/template.php CHANGED
@@ -2020,14 +2020,12 @@ function bbp_author_link( $args = array() ) {
2020
 
2021
  // Empty array
2022
  $links = array();
2023
- $sprint = empty( $anonymous ) && bbp_user_has_profile( $user_id )
2024
- ? '<a href="%1$s"%2$s%3$s>%4$s</a>'
2025
- : '<span %2$s%3$s>%4$s</span>';
2026
 
2027
  // Wrap each link
2028
  foreach ( $author_links as $link => $link_text ) {
2029
  $link_class = ' class="bbp-author-' . esc_attr( $link ) . '"';
2030
- $links[] = sprintf( $sprint, esc_url( $author_url ), $link_title, $link_class, $link_text );
2031
  }
2032
 
2033
  // Juggle
@@ -2039,6 +2037,11 @@ function bbp_author_link( $args = array() ) {
2039
 
2040
  // Assemble sections into author link
2041
  $author_link = implode( $r['sep'], $sections );
 
 
 
 
 
2042
  }
2043
 
2044
  // Filter & return
2020
 
2021
  // Empty array
2022
  $links = array();
2023
+ $sprint = '<span %1$s>%2$s</span>';
 
 
2024
 
2025
  // Wrap each link
2026
  foreach ( $author_links as $link => $link_text ) {
2027
  $link_class = ' class="bbp-author-' . esc_attr( $link ) . '"';
2028
+ $links[] = sprintf( $sprint, $link_class, $link_text );
2029
  }
2030
 
2031
  // Juggle
2037
 
2038
  // Assemble sections into author link
2039
  $author_link = implode( $r['sep'], $sections );
2040
+
2041
+ // Only wrap in link if profile exists
2042
+ if ( empty( $anonymous ) && bbp_user_has_profile( $user_id ) ) {
2043
+ $author_link = sprintf( '<a href="%1$s"%2$s%3$s>%4$s</a>', esc_url( $author_url ), $link_title, ' class="bbp-author-link"', $author_link );
2044
+ }
2045
  }
2046
 
2047
  // Filter & return
templates/default/bbpress-functions.php CHANGED
@@ -40,7 +40,6 @@ class BBP_Default extends BBP_Theme_Compat {
40
  * The main bbPress (Default) Loader
41
  *
42
  * @since 2.1.0 bbPress (r3732)
43
- *
44
  */
45
  public function __construct( $properties = array() ) {
46
 
@@ -61,7 +60,6 @@ class BBP_Default extends BBP_Theme_Compat {
61
  * @since 2.1.0 bbPress (r3732)
62
  *
63
  * @access private
64
- *
65
  */
66
  private function setup_actions() {
67
 
@@ -117,18 +115,16 @@ class BBP_Default extends BBP_Theme_Compat {
117
  * Load the theme CSS
118
  *
119
  * @since 2.1.0 bbPress (r3732)
120
- *
121
  */
122
  public function enqueue_styles() {
123
 
124
  // RTL and/or minified
125
  $suffix = is_rtl() ? '-rtl' : '';
126
- $suffix .= defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
127
 
128
  // Get and filter the bbp-default style
129
  $styles = apply_filters( 'bbp_default_styles', array(
130
  'bbp-default' => array(
131
- 'file' => 'css/bbpress' . $suffix . '.css',
132
  'dependencies' => array()
133
  )
134
  ) );
@@ -143,21 +139,17 @@ class BBP_Default extends BBP_Theme_Compat {
143
  * Enqueue the required JavaScript files
144
  *
145
  * @since 2.1.0 bbPress (r3732)
146
- *
147
  */
148
  public function enqueue_scripts() {
149
 
150
  // Setup scripts array
151
  $scripts = array();
152
 
153
- // Minified
154
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
155
-
156
  // Editor scripts
157
  // @see https://bbpress.trac.wordpress.org/ticket/2930
158
  if ( bbp_use_wp_editor() && is_bbpress() ) {
159
  $scripts['bbpress-editor'] = array(
160
- 'file' => 'js/editor' . $suffix . '.js',
161
  'dependencies' => array( 'jquery' )
162
  );
163
  }
@@ -165,7 +157,7 @@ class BBP_Default extends BBP_Theme_Compat {
165
  // Forum-specific scripts
166
  if ( bbp_is_single_forum() ) {
167
  $scripts['bbpress-engagements'] = array(
168
- 'file' => 'js/engagements' . $suffix . '.js',
169
  'dependencies' => array( 'jquery' )
170
  );
171
  }
@@ -175,14 +167,14 @@ class BBP_Default extends BBP_Theme_Compat {
175
 
176
  // Engagements
177
  $scripts['bbpress-engagements'] = array(
178
- 'file' => 'js/engagements' . $suffix . '.js',
179
  'dependencies' => array( 'jquery' )
180
  );
181
 
182
  // Hierarchical replies
183
  if ( bbp_thread_replies() ) {
184
  $scripts['bbpress-reply'] = array(
185
- 'file' => 'js/reply' . $suffix . '.js',
186
  'dependencies' => array( 'jquery' )
187
  );
188
  }
@@ -208,7 +200,6 @@ class BBP_Default extends BBP_Theme_Compat {
208
  * These localizations require information that may not be loaded even by init.
209
  *
210
  * @since 2.1.0 bbPress (r3732)
211
- *
212
  */
213
  public function localize_topic_script() {
214
 
@@ -226,7 +217,6 @@ class BBP_Default extends BBP_Theme_Compat {
226
  * AJAX handler to add or remove a topic from a user's favorites
227
  *
228
  * @since 2.1.0 bbPress (r3732)
229
- *
230
  */
231
  public function ajax_favorite() {
232
 
@@ -290,7 +280,6 @@ class BBP_Default extends BBP_Theme_Compat {
290
  * AJAX handler to Subscribe/Unsubscribe a user from a topic
291
  *
292
  * @since 2.1.0 bbPress (r3732)
293
- *
294
  */
295
  public function ajax_subscription() {
296
 
40
  * The main bbPress (Default) Loader
41
  *
42
  * @since 2.1.0 bbPress (r3732)
 
43
  */
44
  public function __construct( $properties = array() ) {
45
 
60
  * @since 2.1.0 bbPress (r3732)
61
  *
62
  * @access private
 
63
  */
64
  private function setup_actions() {
65
 
115
  * Load the theme CSS
116
  *
117
  * @since 2.1.0 bbPress (r3732)
 
118
  */
119
  public function enqueue_styles() {
120
 
121
  // RTL and/or minified
122
  $suffix = is_rtl() ? '-rtl' : '';
 
123
 
124
  // Get and filter the bbp-default style
125
  $styles = apply_filters( 'bbp_default_styles', array(
126
  'bbp-default' => array(
127
+ 'file' => 'css/bbpress.css',
128
  'dependencies' => array()
129
  )
130
  ) );
139
  * Enqueue the required JavaScript files
140
  *
141
  * @since 2.1.0 bbPress (r3732)
 
142
  */
143
  public function enqueue_scripts() {
144
 
145
  // Setup scripts array
146
  $scripts = array();
147
 
 
 
 
148
  // Editor scripts
149
  // @see https://bbpress.trac.wordpress.org/ticket/2930
150
  if ( bbp_use_wp_editor() && is_bbpress() ) {
151
  $scripts['bbpress-editor'] = array(
152
+ 'file' => 'js/editor.js',
153
  'dependencies' => array( 'jquery' )
154
  );
155
  }
157
  // Forum-specific scripts
158
  if ( bbp_is_single_forum() ) {
159
  $scripts['bbpress-engagements'] = array(
160
+ 'file' => 'js/engagements.js',
161
  'dependencies' => array( 'jquery' )
162
  );
163
  }
167
 
168
  // Engagements
169
  $scripts['bbpress-engagements'] = array(
170
+ 'file' => 'js/engagements.js',
171
  'dependencies' => array( 'jquery' )
172
  );
173
 
174
  // Hierarchical replies
175
  if ( bbp_thread_replies() ) {
176
  $scripts['bbpress-reply'] = array(
177
+ 'file' => 'js/reply.js',
178
  'dependencies' => array( 'jquery' )
179
  );
180
  }
200
  * These localizations require information that may not be loaded even by init.
201
  *
202
  * @since 2.1.0 bbPress (r3732)
 
203
  */
204
  public function localize_topic_script() {
205
 
217
  * AJAX handler to add or remove a topic from a user's favorites
218
  *
219
  * @since 2.1.0 bbPress (r3732)
 
220
  */
221
  public function ajax_favorite() {
222
 
280
  * AJAX handler to Subscribe/Unsubscribe a user from a topic
281
  *
282
  * @since 2.1.0 bbPress (r3732)
 
283
  */
284
  public function ajax_subscription() {
285
 
templates/default/css/bbpress-rtl.css CHANGED
@@ -149,16 +149,20 @@ body.reply-edit .reply {
149
  }
150
 
151
  #bbpress-forums .bbp-forums-list {
152
- margin: 0 5px 0 0;
153
- padding-right: 15px;
154
  border-right: 1px solid #ddd;
155
  }
156
 
157
- #bbpress-forums .bbp-forums-list li {
158
  display: inline;
159
  font-size: 11px;
160
  }
161
 
 
 
 
 
162
  #bbpress-forums li.bbp-footer p {
163
  margin: 0;
164
  line-height: 1;
@@ -309,6 +313,7 @@ span.bbp-author-ip {
309
  margin-right: 130px;
310
  padding: 12px 0 12px 12px;
311
  text-align: right;
 
312
  }
313
 
314
  /* Clearing hack */
@@ -435,6 +440,11 @@ span.bbp-author-ip {
435
  max-width: 100%;
436
  }
437
 
 
 
 
 
 
438
  /* =Reply to
439
  -------------------------------------------------------------- */
440
 
@@ -1406,7 +1416,8 @@ body.my-account #bbpress-forums {
1406
  float: right;
1407
  }
1408
 
1409
- #bbpress-forums .bbp-forums-list li {
 
1410
  display: block;
1411
  font-size: 11px;
1412
  }
149
  }
150
 
151
  #bbpress-forums .bbp-forums-list {
152
+ margin: 0 7px 0 0;
153
+ padding-right: 12px;
154
  border-right: 1px solid #ddd;
155
  }
156
 
157
+ #bbpress-forums .bbp-forums-list .bbp-forum {
158
  display: inline;
159
  font-size: 11px;
160
  }
161
 
162
+ #bbpress-forums .bbp-forums-list .bbp-forum.css-sep:not(:last-child):after {
163
+ content: ", ";
164
+ }
165
+
166
  #bbpress-forums li.bbp-footer p {
167
  margin: 0;
168
  line-height: 1;
313
  margin-right: 130px;
314
  padding: 12px 0 12px 12px;
315
  text-align: right;
316
+ position: relative;
317
  }
318
 
319
  /* Clearing hack */
440
  max-width: 100%;
441
  }
442
 
443
+ #bbpress-forums div.bbp-topic-content iframe.wp-embedded-content,
444
+ #bbpress-forums div.bbp-reply-content iframe.wp-embedded-content {
445
+ position: relative;
446
+ }
447
+
448
  /* =Reply to
449
  -------------------------------------------------------------- */
450
 
1416
  float: right;
1417
  }
1418
 
1419
+ #bbpress-forums .bbp-forums-list li,
1420
+ #bbpress-forums .bbp-forums-list span {
1421
  display: block;
1422
  font-size: 11px;
1423
  }
templates/default/css/bbpress-rtl.min.css CHANGED
@@ -1 +1 @@
1
- .hidden,.js .hide-if-js{display:none}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;word-wrap:normal!important}#bbpress-forums{background:0 0;clear:both;margin-bottom:20px;overflow:hidden;font-size:12px;line-height:18px}#bbpress-forums a,#bbpress-forums a:hover{box-shadow:none;border:none;transition:none}#bbpress-forums hr{margin:0 0 24px}#bbpress-forums div.even,#bbpress-forums ul.even{background-color:#fff}#bbpress-forums div.odd,#bbpress-forums ul.odd{background-color:#fbfbfb}body.reply-edit .reply{float:none}#bbpress-forums div.reply{height:auto;width:100%}#bbpress-forums div.bbp-forum-header,#bbpress-forums div.bbp-reply-header,#bbpress-forums div.bbp-topic-header{background-color:#f4f4f4}#bbpress-forums .status-spam.even,#bbpress-forums .status-trash.even{background-color:#fee}#bbpress-forums .status-spam.odd,#bbpress-forums .status-trash.odd{background-color:#fdd}#bbpress-forums .status-pending.even,#bbpress-forums .status-pending.odd,#bbpress-forums ul.status-pending a{background-color:#fef7f1}#bbpress-forums ul.status-closed,#bbpress-forums ul.status-closed a{color:#ccc}#bbpress-forums ul{background:0 0;list-style:none;margin:0;padding:0}#bbpress-forums ul.bbp-threaded-replies{margin-right:50px}#bbpress-forums li{background:0 0;margin:0;list-style:none}#bbpress-forums ul.bbp-forums,#bbpress-forums ul.bbp-lead-topic,#bbpress-forums ul.bbp-replies,#bbpress-forums ul.bbp-search-results,#bbpress-forums ul.bbp-topics{font-size:12px;overflow:hidden;border:1px solid #eee;margin-bottom:20px;clear:both}#bbpress-forums li.bbp-body,#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{clear:both}#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{background:#f3f3f3;border-top:1px solid #eee;font-weight:700;padding:8px;text-align:center}#bbpress-forums li.bbp-header{background:#eaeaea}#bbpress-forums li.bbp-header ul{overflow:hidden}#bbpress-forums .bbp-forums-list{margin:0 5px 0 0;padding-right:15px;border-right:1px solid #ddd}#bbpress-forums .bbp-forums-list li{display:inline;font-size:11px}#bbpress-forums li.bbp-footer p{margin:0;line-height:1}li.bbp-forum-info,li.bbp-topic-title{float:right;text-align:right;width:55%}li.bbp-forum-reply-count,li.bbp-forum-topic-count,li.bbp-topic-reply-count,li.bbp-topic-voice-count{float:right;text-align:center;width:10%}li.bbp-forum-freshness,li.bbp-topic-freshness{text-align:center;float:right;width:22%}#bbpress-forums li.bbp-body ul.forum,#bbpress-forums li.bbp-body ul.topic{border-top:1px solid #eee;overflow:hidden;padding:8px}#bbpress-forums #favorite-toggle,#bbpress-forums #subscription-toggle{float:left}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{background:0 0;border:none;font-size:16px;line-height:1;margin:8px 0;padding:0;text-transform:none}#bbpress-forums div.bbp-forum-author,#bbpress-forums div.bbp-reply-author,#bbpress-forums div.bbp-topic-author{float:right;text-align:center;width:115px}#bbpress-forums div.bbp-forum-author img.avatar,#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{border:none;max-width:80px;padding:0;margin:12px auto 0;float:none}#bbpress-forums div.bbp-forum-author .bbp-author-name,#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{margin:0 12px;word-wrap:break-word;display:inline-block}#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{clear:right;display:block}#bbpress-forums div.bbp-forum-author .bbp-author-role,#bbpress-forums div.bbp-reply-author .bbp-author-role,#bbpress-forums div.bbp-topic-author .bbp-author-role{font-size:11px;font-style:italic}#bbpress-forums li.bbp-footer .bbp-forum-author,#bbpress-forums li.bbp-footer .bbp-reply-author,#bbpress-forums li.bbp-footer .bbp-search-author,#bbpress-forums li.bbp-footer .bbp-topic-author,#bbpress-forums li.bbp-header .bbp-forum-author,#bbpress-forums li.bbp-header .bbp-reply-author,#bbpress-forums li.bbp-header .bbp-search-author,#bbpress-forums li.bbp-header .bbp-topic-author{float:right;margin:0;padding:0;width:120px}#bbpress-forums li.bbp-footer .bbp-forum-content,#bbpress-forums li.bbp-footer .bbp-reply-content,#bbpress-forums li.bbp-footer .bbp-search-content,#bbpress-forums li.bbp-footer .bbp-topic-content,#bbpress-forums li.bbp-header .bbp-forum-content,#bbpress-forums li.bbp-header .bbp-reply-content,#bbpress-forums li.bbp-header .bbp-search-content,#bbpress-forums li.bbp-header .bbp-topic-content{margin-right:140px;padding:0;text-align:right}div.bbp-forum-header,div.bbp-reply-header,div.bbp-topic-header,li.bbp-body div.hentry{margin:0;overflow:hidden;padding:8px}div.bbp-forum-header,div.bbp-reply-header,div.bbp-topic-header{border-top:1px solid #ddd;clear:both}span.bbp-author-ip{font-size:11px;font-weight:700;word-wrap:break-word;color:#aaa}#bbpress-forums div.bbp-forum-content,#bbpress-forums div.bbp-reply-content,#bbpress-forums div.bbp-topic-content{margin-right:130px;padding:12px 0 12px 12px;text-align:right}#bbpress-forums div.bbp-forum-content:after,#bbpress-forums div.bbp-reply-content:after,#bbpress-forums div.bbp-topic-content:after{clear:both;content:".";display:block;float:none;height:0;font-size:0;visibility:hidden}#bbpress-forums div.bbp-reply-content a,#bbpress-forums div.bbp-topic-content a{background:0 0;border:none;display:inline;font-weight:400;margin:0;padding:0}#bbpress-forums div.bbp-reply-content a.bbp-user-mention,#bbpress-forums div.bbp-topic-content a.bbp-user-mention{background:0 0;border:none;text-decoration:none;text-shadow:none;display:inline;font-weight:600;margin:0;padding:0}#bbpress-forums div.bbp-reply-content h1,#bbpress-forums div.bbp-reply-content h2,#bbpress-forums div.bbp-reply-content h3,#bbpress-forums div.bbp-reply-content h4,#bbpress-forums div.bbp-reply-content h5,#bbpress-forums div.bbp-reply-content h6,#bbpress-forums div.bbp-topic-content h1,#bbpress-forums div.bbp-topic-content h2,#bbpress-forums div.bbp-topic-content h3,#bbpress-forums div.bbp-topic-content h4,#bbpress-forums div.bbp-topic-content h5,#bbpress-forums div.bbp-topic-content h6{clear:none;line-height:1;margin:24px 0;padding:0}#bbpress-forums div.bbp-reply-content img,#bbpress-forums div.bbp-topic-content img{max-width:100%;height:auto}#bbpress-forums div.bbp-reply-content ol,#bbpress-forums div.bbp-reply-content ul,#bbpress-forums div.bbp-topic-content ol,#bbpress-forums div.bbp-topic-content ul{margin:0 15px 15px;padding:0}#bbpress-forums div.bbp-reply-content ul li,#bbpress-forums div.bbp-topic-content ul li{list-style-type:disc}#bbpress-forums div.bbp-reply-content ol li,#bbpress-forums div.bbp-topic-content ol li{list-style-type:decimal}#bbpress-forums div.bbp-reply-content ol li li,#bbpress-forums div.bbp-topic-content ol li li{list-style-type:lower-alpha}#bbpress-forums div.bbp-reply-content ol li li li,#bbpress-forums div.bbp-topic-content ol li li li{list-style-type:upper-roman}#bbpress-forums div.bbp-reply-content code,#bbpress-forums div.bbp-reply-content pre,#bbpress-forums div.bbp-topic-content code,#bbpress-forums div.bbp-topic-content pre{font-family:Inconsolata,Consolas,Monaco,"Lucida Console",monospace;display:inline-block;background-color:#f9f9f9;border:1px solid #ddd;padding:0 5px;max-width:95%;vertical-align:middle;margin-top:-3px;overflow-x:auto}#bbpress-forums div.bbp-reply-content pre,#bbpress-forums div.bbp-topic-content pre{display:block;line-height:18px;margin:0 0 24px;padding:5px 10px;white-space:pre;overflow:auto}#bbpress-forums div.bbp-reply-content pre code,#bbpress-forums div.bbp-topic-content pre code{display:block;border:none;padding:0;margin:0;background-color:transparent;overflow-wrap:normal;overflow:auto;max-width:100%}#bbpress-forums div.bbp-reply-to{margin-right:130px;padding:12px 0 12px 12px;text-align:left}#bbpress-forums div#bbp-cancel-reply-to{text-align:left}div.bbp-breadcrumb{float:right}div.bbp-breadcrumb,div.bbp-topic-tags{font-size:12px}#bbpress-forums div.bbp-breadcrumb p,#bbpress-forums div.bbp-topic-tags p{margin-bottom:10px}#bbpress-forums div.bbp-topic-tags{float:left;clear:both}#bbp-topic-hot-tags{clear:both}#bbpress-forums #bbp-search-form{clear:right}#bbpress-forums #bbp-search-form .hidden{height:0;width:0;overflow:hidden;position:absolute;background:0 0;right:-999em}#bbpress-forums #bbp-search-form #bbp_search{display:inline-block;width:auto}#bbpress-forums div.bbp-search-form{float:left}span.bbp-admin-links{float:left;color:#ddd}span.bbp-admin-links a{color:#bbb;font-weight:400;font-size:10px;text-transform:uppercase;text-decoration:none}fieldset span.bbp-admin-links{float:right}tr td span.bbp-admin-links a:hover{color:#ff4b33}td.bbp-topic-admin-links,td.bbp-topic-counts{width:50%}.bbp-forum-header a.bbp-forum-permalink,.bbp-reply-header a.bbp-reply-permalink,.bbp-topic-header a.bbp-topic-permalink{float:left;margin-right:10px;color:#ccc}.bbp-row-actions #favorite-toggle a{text-decoration:none;padding:0 3px 1px;color:#7c7;border:1px solid #aca;background-color:#dfd;font-weight:700;font-size:12px}.bbp-row-actions #favorite-toggle a:hover{color:#5a5;border-color:#7c7;background-color:#beb}.bbp-row-actions #favorite-toggle span.is-favorite a{color:#faa;border:1px solid #faa;background-color:#fee}.bbp-row-actions #favorite-toggle span.is-favorite a:hover{color:#c88;border-color:#c88;background-color:#fdd}.bbp-row-actions #subscription-toggle a{text-decoration:none;padding:0 3px 1px;color:#7c7;border:1px solid #aca;background-color:#dfd;font-weight:700;font-size:12px}.bbp-row-actions #subscription-toggle a:hover{color:#5a5;border-color:#7c7;background-color:#beb}.bbp-row-actions #subscription-toggle span.is-subscribed a{color:#faa;border:1px solid #faa;background-color:#fee}.bbp-row-actions #subscription-toggle span.is-subscribed a:hover{color:#c88;border-color:#c88;background-color:#fdd}#bbpress-forums .bbp-forum-info .bbp-forum-content,#bbpress-forums p.bbp-topic-meta{font-size:11px;margin:5px 0;padding:0;word-wrap:break-word}#bbpress-forums p.bbp-topic-meta span{white-space:nowrap}.bbp-pagination-count{float:right;border:1px solid transparent}.bbp-pagination-links{float:left;list-style:none;display:inline}.bbp-pagination{float:right;width:100%;margin-bottom:15px}#bbpress-forums .bbp-pagination-links a,#bbpress-forums .bbp-pagination-links span.current{display:block;float:right;font-size:12px;line-height:18px;padding:0 5px;margin-right:5px;border:1px solid #efefef;border-radius:0;background:0 0;color:inherit;text-decoration:none}#bbpress-forums .bbp-pagination-links span.dots{display:block;float:right;padding:1px 4px;margin-right:5px}#bbpress-forums .bbp-topic-pagination{display:inline-block;margin-right:5px;margin-bottom:2px}#bbpress-forums .bbp-topic-pagination a{font-size:10px;line-height:10px;padding:1px 3px;border:1px solid #ddd;color:inherit;text-decoration:none}#bbpress-forums .bbp-pagination-links a:hover,#bbpress-forums .bbp-pagination-links span.current,#bbpress-forums .bbp-topic-pagination a:hover{background:#eee;opacity:.8;border:1px solid #ddd}#bbpress-forums fieldset.bbp-form{clear:right;border:1px solid #eee;padding:10px 20px;margin-bottom:10px}#bbpress-forums fieldset.bbp-form legend{padding:5px;width:auto;border:none}#bbpress-forums fieldset.bbp-form label{margin:0;display:inline-block}#bbp-edit-topic-tag.bbp-form fieldset.bbp-form label,#bbp-login fieldset label,#bbp-lost-pass fieldset label,#bbp-register fieldset label{width:100px}#bbpress-forums fieldset.bbp-form input,#bbpress-forums fieldset.bbp-form p,#bbpress-forums fieldset.bbp-form select,#bbpress-forums fieldset.bbp-form textarea{margin:0 0 8px}textarea#bbp_forum_content,textarea#bbp_reply_content,textarea#bbp_topic_content{width:97%;box-sizing:border-box}textarea#bbp_forum_content{height:210px}#bbpress-forums fieldset.bbp-forum-form-attributes{width:200px;float:left;clear:none;margin-right:25px}#bbpress-forums fieldset select#bbp_forum_id{max-width:200px}.bbp-reply-form,.bbp-topic-form,.bbp-topic-tag-form{clear:right}body.reply-edit .bbp-reply-form div.avatar img,body.single-forum .bbp-topic-form div.avatar img,body.single-reply .bbp-reply-form div.avatar img,body.topic-edit .bbp-topic-form div.avatar img{margin-left:0;padding:10px;border:1px solid #ddd;line-height:0;background-color:#efefef}body.page .bbp-reply-form code,body.page .bbp-topic-form code,body.reply-edit .bbp-reply-form code,body.single-forum .bbp-topic-form code,body.single-topic .bbp-reply-form code,body.topic-edit .bbp-topic-form code{font-size:10px;background-color:#f0fff8;border:1px solid #ceefe1;display:block;padding:8px;margin-top:5px;width:369px}#delete_tag,#merge_tag{display:inline}div.bbp-submit-wrapper{margin-top:15px;float:left;clear:both}p.form-allowed-tags{max-width:100%}#bbpress-forums div.bbp-the-content-wrapper{margin-bottom:10px}#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content{width:100%;margin:0;font-size:12px}#bbpress-forums div.bbp-the-content-wrapper table,#bbpress-forums div.bbp-the-content-wrapper tbody,#bbpress-forums div.bbp-the-content-wrapper td,#bbpress-forums div.bbp-the-content-wrapper tr{border:none;padding:0;margin:0;width:auto;line-height:1}#bbpress-forums div.bbp-the-content-wrapper input[type=button]{padding:5px 7px;margin:0 0 0 -1px;line-height:1;border:1px solid transparent;background-color:transparent;box-shadow:none;text-shadow:none;border-radius:0;text-transform:uppercase;font-size:11px}#bbpress-forums div.bbp-the-content-wrapper input[type=button]:hover{border-color:rgba(0,0,0,.1);background-color:rgba(255,255,255,.5)}#bbpress-forums div.bbp-the-content-wrapper div.quicktags-toolbar{padding:5px;min-height:26px}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar{padding:4px 4px 8px}#bbpress-forums div.wp-editor-container{margin:0;padding:0;line-height:0}#bbpress-forums div.bbp-the-content-wrapper td.mceStatusbar{line-height:16px}#bbpress-forums #bbp-your-profile fieldset{padding:20px 20px 0}#bbpress-forums #bbp-your-profile fieldset div{margin-bottom:20px;float:right;width:100%;clear:right}#bbpress-forums #bbp-your-profile fieldset select{margin-bottom:0;width:60%;background-color:#f9f9f9;border:1px solid #ddd}#bbpress-forums #bbp-your-profile fieldset input,#bbpress-forums #bbp-your-profile fieldset textarea{margin-bottom:0;width:60%;background-color:#f9f9f9;border:1px solid #ddd;box-shadow:none;border-radius:0}#bbpress-forums #bbp-your-profile fieldset input:focus,#bbpress-forums #bbp-your-profile fieldset textarea:focus{border:1px solid #ccc;box-shadow:inset -1px 1px 1px rgba(0,0,0,.1);outline-color:rgba(240,255,240,.1)}#bbpress-forums #bbp-your-profile fieldset.bbp-form input.checkbox{width:auto}#bbpress-forums #bbp-your-profile fieldset legend{display:none}#bbpress-forums #bbp-your-profile fieldset label[for]{float:right;width:20%;padding:5px 0 5px 20px;text-align:left;cursor:pointer}#bbpress-forums #bbp-your-profile fieldset dl label[for]{text-align:right;width:60%}#bbpress-forums #bbp-your-profile fieldset p.description{margin:5px 20% 0 0;font-size:12px;font-style:italic;float:right;clear:right;width:60%;padding:5px 8px;border:#cee1ef 1px solid;background-color:#f0f8ff}#bbpress-forums #bbp-your-profile fieldset fieldset{margin:0;border:none;padding:0;clear:none;float:none}#bbpress-forums #bbp-your-profile fieldset fieldset.capabilities dl{margin:0}#bbpress-forums #bbp-your-profile fieldset.submit button{float:left}#bbpress-forums #bbp-your-profile fieldset fieldset.password{width:60%;display:inline}#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-button-wrapper,#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-input-wrapper{width:100%;margin:0;display:inline-block}#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-button-wrapper button{width:46%;margin:4% 2%;box-sizing:border-box;display:inline-block}#bbpress-forums #bbp-your-profile fieldset fieldset.password input,#bbpress-forums #bbp-your-profile fieldset fieldset.passwword textarea{width:100%}#bbpress-forums #bbp-your-profile fieldset fieldset.password button .dashicons{display:none}#bbpress-forums #bbp-your-profile fieldset fieldset.password span.description{margin-right:0;margin-bottom:20px}#bbpress-forums #password #pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:0;padding:8px;text-align:center;box-sizing:border-box;display:inline-block}#bbpress-forums #password #pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#bbpress-forums #password #pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#bbpress-forums #password #pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#bbpress-forums #password #pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#bbpress-forums #password #pass1-text.short,#bbpress-forums #password #pass1.short{border-color:#e35b5b}#bbpress-forums #password #pass1-text.bad,#bbpress-forums #password#pass1.bad{border-color:#f78b53}#bbpress-forums #password #pass1-text.good,#bbpress-forums #password #pass1.good{border-color:#ffc733}#bbpress-forums #password #pass1-text.strong,#bbpress-forums #password #pass1.strong{border-color:#83c373}#bbpress-forums .indicator-hint{padding-top:8px}#bbpress-forums #pass1-text,#bbpress-forums .pw-weak,#bbpress-forums .show-password #pass1{display:none}#bbpress-forums .show-password #pass1-text{display:inline-block}div.bbp-template-notice,div.indicator-hint{border-width:1px;border-style:solid;padding:0 .6em;margin:5px 0 15px;border-radius:3px;background-color:#ffffe0;border-color:#e6db55;color:#000;clear:both}div.bbp-template-notice a{color:#555;text-decoration:none}div.bbp-template-notice a:hover{color:#000}div.bbp-template-notice.info{border:#cee1ef 1px solid;background-color:#f0f8ff}div.bbp-template-notice.important{border:#e6db55 1px solid;background-color:#fffbcc}div.bbp-template-notice.error,div.bbp-template-notice.warning{background-color:#ffebe8;border-color:#c00}div.bbp-template-notice.error a,div.bbp-template-notice.warning a{color:#c00}div.bbp-template-notice li,div.bbp-template-notice p{margin:.5em 0 6px!important;padding:2px;font-size:12px;line-height:1.4}.bbp-forum-content ul.sticky,.bbp-topics ul.sticky,.bbp-topics ul.super-sticky,.bbp-topics-front ul.super-sticky{background-color:#ffffe0!important;font-size:1.1em}#bbpress-forums .bbp-reply-content ul.bbp-reply-revision-log,#bbpress-forums .bbp-reply-content ul.bbp-topic-revision-log,#bbpress-forums .bbp-topic-content ul.bbp-topic-revision-log{border-top:1px dotted #ddd;width:100%;margin:0;padding:8px 0 0;font-size:11px;color:#aaa}#bbpress-forums .bbp-reply-content ul.bbp-reply-revision-log li,#bbpress-forums .bbp-reply-content ul.bbp-topic-revision-log li,#bbpress-forums .bbp-topic-content ul.bbp-topic-revision-log li{list-style-type:none}.bbp-login-form fieldset legend{display:none}.bbp-login-form .bbp-email input,.bbp-login-form .bbp-password input,.bbp-login-form .bbp-username input{padding:5px}.bbp-login-form label{width:140px;display:inline-block}#sidebar .bbp-login-form label{width:70px}.bbp-login-form .bbp-email,.bbp-login-form .bbp-password,.bbp-login-form .bbp-remember-me,.bbp-login-form .bbp-submit-wrapper,.bbp-login-form .bbp-username{margin-top:10px}.bbp-login-form .bbp-submit-wrapper{text-align:left}.bbp-login-form .bbp-login-links a{float:right;clear:right}.bbp-logged-in img.avatar{float:right;margin:0 0 0 15px}.bbp-logged-in h4{font-weight:700;font-size:1.3em;clear:none;margin-bottom:10px}#bbpress-forums img.avatar{box-shadow:none;display:inline-block}#bbpress-forums .widget_display_replies img.avatar,#bbpress-forums .widget_display_topics img.avatar,#bbpress-forums div.bbp-template-notice img.avatar,#bbpress-forums p.bbp-topic-meta img.avatar,#bbpress-forums ul.bbp-reply-revision-log img.avatar,#bbpress-forums ul.bbp-topic-revision-log img.avatar{float:none;vertical-align:middle;border:3px double #ddd}fieldset div.avatar{float:left}.activity-list li.bbp_reply_create .activity-content .activity-inner,.activity-list li.bbp_topic_create .activity-content .activity-inner{border-right:2px solid #eaeaea;margin-right:5px;padding-right:10px}#bbpress-forums h1{clear:none;font-size:1.8em;line-height:1;padding-bottom:10px}#bbpress-forums #bbp-user-wrapper{float:right;width:100%}#bbpress-forums .bbp-user-section{overflow:auto;clear:left}#bbpress-forums #bbp-user-wrapper h2.entry-title{font-size:1.4em;margin:0;padding-bottom:10px;padding-top:0;clear:none}#bbpress-forums #bbp-user-wrapper fieldset.bbp-form,#bbpress-forums #bbp-user-wrapper ul.bbp-forums,#bbpress-forums #bbp-user-wrapper ul.bbp-lead-topic,#bbpress-forums #bbp-user-wrapper ul.bbp-replies,#bbpress-forums #bbp-user-wrapper ul.bbp-topics{clear:none}#bbpress-forums #bbp-single-user-details{margin:0;width:150px;float:right;overflow:hidden}#bbpress-forums #bbp-single-user-details #bbp-user-avatar{margin:0;width:150px}#bbpress-forums #bbp-single-user-details #bbp-user-avatar img.avatar{border:none;height:150px;padding:0;margin:0 0 20px;width:150px}#bbpress-forums #bbp-single-user-details #bbp-user-description{float:none;margin-right:180px}#bbpress-forums #bbp-single-user-details #bbp-user-navigation{float:none;margin:0}#bbpress-forums #bbp-single-user-details #bbp-user-navigation li{margin:0}#bbpress-forums #bbp-single-user-details #bbp-user-navigation a{padding:5px 8px;display:block;border:1px solid transparent;text-decoration:none}#bbpress-forums #bbp-single-user-details #bbp-user-navigation li.current a{background:#eee;opacity:.8}#bbpress-forums #bbp-user-body{margin-right:180px}body.my-account #bbpress-forums{border-top:none;padding-top:0;margin-bottom:0}#bbpress-forums dl.bbp-user-capabilities{display:inline-block;vertical-align:top}#bbpress-forums dl.bbp-user-capabilities dt{margin:0 0 10px;text-transform:capitalize}#bbpress-forums dl.bbp-user-capabilities dd{margin:0;padding:0}#bbpress-forums div.row-actions{font-size:11px;visibility:hidden}#bbpress-forums li:hover>div.row-actions{visibility:visible}.bbp-alert-outer{height:100%;width:100%;top:0;right:0;position:fixed;background-color:rgba(0,0,0,.2);z-index:99999}.bbp-alert-inner{width:350px;text-align:center;background:#fff;position:fixed;top:50%;right:50%;margin-top:-75px;margin-right:-185px;border-radius:3px;border:1px solid #aaa;padding:15px 10px 10px}.bbp-alert-outer .bbp-alert-inner p{margin:10px 0}.bbp-alert-actions a{padding:5px 20px;text-decoration:none}@media only screen and (max-width:480px){#bbpress-forums div.bbp-topic-tags{clear:right;float:right}div.bbp-search-form button,div.bbp-search-form input{font-size:11px;padding:2px}li.bbp-forum-info,li.bbp-topic-title{width:45%}li.bbp-forum-reply-count,li.bbp-forum-topic-count,li.bbp-topic-reply-count,li.bbp-topic-voice-count{width:15%}span.bbp-reply-post-date,span.bbp-topic-post-date{float:right}span.bbp-admin-links{clear:right;float:right}#bbpress-forums .bbp-forums-list li{display:block;font-size:11px}#bbpress-forums .bbp-body div.bbp-reply-author,#bbpress-forums .bbp-body div.bbp-topic-author{margin:-15px 10px 10px;min-height:100px;padding-right:80px;position:relative;text-align:right;width:100%}#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{clear:none;display:inline-block;margin-right:0;word-wrap:break-word}#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{position:absolute;top:15px;right:0;width:60px;height:auto}#bbpress-forums div.bbp-reply-author .bbp-author-role,#bbpress-forums div.bbp-topic-author .bbp-author-role{font-size:12px;font-style:normal}#bbpress-forums .bbp-body div.bbp-reply-content,#bbpress-forums .bbp-body div.bbp-topic-content{clear:both;margin:10px;padding:0}#bbpress-forums div.bbp-reply-content p,#bbpress-forums div.bbp-topic-content p{margin-bottom:1em}div.bbp-submit-wrapper{float:right}#bbpress-forums fieldset.bbp-form{padding:0 10px 10px}#bbpress-forums #bbp-user-body{clear:both;margin-right:0;word-wrap:break-word}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:14px}}@media only screen and (max-width:320px){#bbpress-forums div.bbp-search-form{margin-bottom:10px}#bbpress-forums li.bbp-body li.bbp-forum-info,#bbpress-forums li.bbp-body li.bbp-topic-title,#bbpress-forums li.bbp-header li.bbp-forum-info,#bbpress-forums li.bbp-header li.bbp-topic-title{width:100%}#bbpress-forums li.bbp-header li.bbp-forum-info,#bbpress-forums li.bbp-header li.bbp-topic-title{text-align:center;text-transform:uppercase}#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count,#bbpress-forums li.bbp-header li.bbp-forum-reply-count,#bbpress-forums li.bbp-header li.bbp-forum-topic-count,#bbpress-forums li.bbp-header li.bbp-topic-reply-count,#bbpress-forums li.bbp-header li.bbp-topic-voice-count{width:20%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{width:58%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count{margin-top:7px}#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{font-size:10px}#bbpress-forums li.bbp-header div.bbp-reply-author,#bbpress-forums li.bbp-header div.bbp-search-author,#bbpress-forums li.bbp-header div.bbp-topic-author{text-align:right;width:25%}#bbpress-forums li.bbp-header div.bbp-reply-content,#bbpress-forums li.bbp-header div.bbp-search-content,#bbpress-forums li.bbp-header div.bbp-topic-content{margin-right:25%}#bbpress-forums div.bbp-template-notice img.avatar,#bbpress-forums p.bbp-topic-meta img.avatar{width:14px;height:auto}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar{padding:1px}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar td{width:20px;height:20px}#bbpress-forums div.wp-editor-container{width:100%;overflow:auto}#bbpress-forums input#bbp_topic_tags,#bbpress-forums input#bbp_topic_title{width:95%}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:14px}}@media only screen and (max-width:240px){#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count,#bbpress-forums li.bbp-footer div.bbp-reply-author,#bbpress-forums li.bbp-footer div.bbp-search-author,#bbpress-forums li.bbp-footer div.bbp-topic-author,#bbpress-forums li.bbp-header li.bbp-forum-reply-count,#bbpress-forums li.bbp-header li.bbp-forum-topic-count,#bbpress-forums li.bbp-header li.bbp-topic-reply-count,#bbpress-forums li.bbp-header li.bbp-topic-voice-count{width:45%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{clear:both;width:100%}#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{text-align:center}#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header div.bbp-reply-author,#bbpress-forums li.bbp-header div.bbp-reply-content,#bbpress-forums li.bbp-header div.bbp-search-author,#bbpress-forums li.bbp-header div.bbp-search-content,#bbpress-forums li.bbp-header div.bbp-topic-author,#bbpress-forums li.bbp-header div.bbp-topic-content{margin-right:0;text-align:right}#bbpress-forums li.bbp-body li.bbp-topic-freshness p.bbp-topic-meta{display:inline-block}#bbpress-forums li.bbp-header{overflow:hidden}#bbpress-forums li.bbp-footer div.bbp-reply-content,#bbpress-forums li.bbp-footer div.bbp-search-content,#bbpress-forums li.bbp-footer div.bbp-topic-content{display:inline-block;margin-right:0}#bbpress-forums li.bbp-body div.bbp-reply-author,#bbpress-forums li.bbp-body div.bbp-topic-author{min-height:60px;padding-right:60px}#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{width:40px;height:auto}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:12px}}
1
+ .hidden,.js .hide-if-js{display:none}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;word-wrap:normal!important}#bbpress-forums{background:0 0;clear:both;margin-bottom:20px;overflow:hidden;font-size:12px;line-height:18px}#bbpress-forums a,#bbpress-forums a:hover{box-shadow:none;border:none;transition:none}#bbpress-forums hr{margin:0 0 24px}#bbpress-forums div.even,#bbpress-forums ul.even{background-color:#fff}#bbpress-forums div.odd,#bbpress-forums ul.odd{background-color:#fbfbfb}body.reply-edit .reply{float:none}#bbpress-forums div.reply{height:auto;width:100%}#bbpress-forums div.bbp-forum-header,#bbpress-forums div.bbp-reply-header,#bbpress-forums div.bbp-topic-header{background-color:#f4f4f4}#bbpress-forums .status-spam.even,#bbpress-forums .status-trash.even{background-color:#fee}#bbpress-forums .status-spam.odd,#bbpress-forums .status-trash.odd{background-color:#fdd}#bbpress-forums .status-pending.even,#bbpress-forums .status-pending.odd,#bbpress-forums ul.status-pending a{background-color:#fef7f1}#bbpress-forums ul.status-closed,#bbpress-forums ul.status-closed a{color:#ccc}#bbpress-forums ul{background:0 0;list-style:none;margin:0;padding:0}#bbpress-forums ul.bbp-threaded-replies{margin-right:50px}#bbpress-forums li{background:0 0;margin:0;list-style:none}#bbpress-forums ul.bbp-forums,#bbpress-forums ul.bbp-lead-topic,#bbpress-forums ul.bbp-replies,#bbpress-forums ul.bbp-search-results,#bbpress-forums ul.bbp-topics{font-size:12px;overflow:hidden;border:1px solid #eee;margin-bottom:20px;clear:both}#bbpress-forums li.bbp-body,#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{clear:both}#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{background:#f3f3f3;border-top:1px solid #eee;font-weight:700;padding:8px;text-align:center}#bbpress-forums li.bbp-header{background:#eaeaea}#bbpress-forums li.bbp-header ul{overflow:hidden}#bbpress-forums .bbp-forums-list{margin:0 7px 0 0;padding-right:12px;border-right:1px solid #ddd}#bbpress-forums .bbp-forums-list .bbp-forum{display:inline;font-size:11px}#bbpress-forums .bbp-forums-list .bbp-forum.css-sep:not(:last-child):after{content:", "}#bbpress-forums li.bbp-footer p{margin:0;line-height:1}li.bbp-forum-info,li.bbp-topic-title{float:right;text-align:right;width:55%}li.bbp-forum-reply-count,li.bbp-forum-topic-count,li.bbp-topic-reply-count,li.bbp-topic-voice-count{float:right;text-align:center;width:10%}li.bbp-forum-freshness,li.bbp-topic-freshness{text-align:center;float:right;width:22%}#bbpress-forums li.bbp-body ul.forum,#bbpress-forums li.bbp-body ul.topic{border-top:1px solid #eee;overflow:hidden;padding:8px}#bbpress-forums #favorite-toggle,#bbpress-forums #subscription-toggle{float:left}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{background:0 0;border:none;font-size:16px;line-height:1;margin:8px 0;padding:0;text-transform:none}#bbpress-forums div.bbp-forum-author,#bbpress-forums div.bbp-reply-author,#bbpress-forums div.bbp-topic-author{float:right;text-align:center;width:115px}#bbpress-forums div.bbp-forum-author img.avatar,#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{border:none;max-width:80px;padding:0;margin:12px auto 0;float:none}#bbpress-forums div.bbp-forum-author .bbp-author-name,#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{margin:0 12px;word-wrap:break-word;display:inline-block}#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{clear:right;display:block}#bbpress-forums div.bbp-forum-author .bbp-author-role,#bbpress-forums div.bbp-reply-author .bbp-author-role,#bbpress-forums div.bbp-topic-author .bbp-author-role{font-size:11px;font-style:italic}#bbpress-forums li.bbp-footer .bbp-forum-author,#bbpress-forums li.bbp-footer .bbp-reply-author,#bbpress-forums li.bbp-footer .bbp-search-author,#bbpress-forums li.bbp-footer .bbp-topic-author,#bbpress-forums li.bbp-header .bbp-forum-author,#bbpress-forums li.bbp-header .bbp-reply-author,#bbpress-forums li.bbp-header .bbp-search-author,#bbpress-forums li.bbp-header .bbp-topic-author{float:right;margin:0;padding:0;width:120px}#bbpress-forums li.bbp-footer .bbp-forum-content,#bbpress-forums li.bbp-footer .bbp-reply-content,#bbpress-forums li.bbp-footer .bbp-search-content,#bbpress-forums li.bbp-footer .bbp-topic-content,#bbpress-forums li.bbp-header .bbp-forum-content,#bbpress-forums li.bbp-header .bbp-reply-content,#bbpress-forums li.bbp-header .bbp-search-content,#bbpress-forums li.bbp-header .bbp-topic-content{margin-right:140px;padding:0;text-align:right}div.bbp-forum-header,div.bbp-reply-header,div.bbp-topic-header,li.bbp-body div.hentry{margin:0;overflow:hidden;padding:8px}div.bbp-forum-header,div.bbp-reply-header,div.bbp-topic-header{border-top:1px solid #ddd;clear:both}span.bbp-author-ip{font-size:11px;font-weight:700;word-wrap:break-word;color:#aaa}#bbpress-forums div.bbp-forum-content,#bbpress-forums div.bbp-reply-content,#bbpress-forums div.bbp-topic-content{margin-right:130px;padding:12px 0 12px 12px;text-align:right;position:relative}#bbpress-forums div.bbp-forum-content:after,#bbpress-forums div.bbp-reply-content:after,#bbpress-forums div.bbp-topic-content:after{clear:both;content:".";display:block;float:none;height:0;font-size:0;visibility:hidden}#bbpress-forums div.bbp-reply-content a,#bbpress-forums div.bbp-topic-content a{background:0 0;border:none;display:inline;font-weight:400;margin:0;padding:0}#bbpress-forums div.bbp-reply-content a.bbp-user-mention,#bbpress-forums div.bbp-topic-content a.bbp-user-mention{background:0 0;border:none;text-decoration:none;text-shadow:none;display:inline;font-weight:600;margin:0;padding:0}#bbpress-forums div.bbp-reply-content h1,#bbpress-forums div.bbp-reply-content h2,#bbpress-forums div.bbp-reply-content h3,#bbpress-forums div.bbp-reply-content h4,#bbpress-forums div.bbp-reply-content h5,#bbpress-forums div.bbp-reply-content h6,#bbpress-forums div.bbp-topic-content h1,#bbpress-forums div.bbp-topic-content h2,#bbpress-forums div.bbp-topic-content h3,#bbpress-forums div.bbp-topic-content h4,#bbpress-forums div.bbp-topic-content h5,#bbpress-forums div.bbp-topic-content h6{clear:none;line-height:1;margin:24px 0;padding:0}#bbpress-forums div.bbp-reply-content img,#bbpress-forums div.bbp-topic-content img{max-width:100%;height:auto}#bbpress-forums div.bbp-reply-content ol,#bbpress-forums div.bbp-reply-content ul,#bbpress-forums div.bbp-topic-content ol,#bbpress-forums div.bbp-topic-content ul{margin:0 15px 15px;padding:0}#bbpress-forums div.bbp-reply-content ul li,#bbpress-forums div.bbp-topic-content ul li{list-style-type:disc}#bbpress-forums div.bbp-reply-content ol li,#bbpress-forums div.bbp-topic-content ol li{list-style-type:decimal}#bbpress-forums div.bbp-reply-content ol li li,#bbpress-forums div.bbp-topic-content ol li li{list-style-type:lower-alpha}#bbpress-forums div.bbp-reply-content ol li li li,#bbpress-forums div.bbp-topic-content ol li li li{list-style-type:upper-roman}#bbpress-forums div.bbp-reply-content code,#bbpress-forums div.bbp-reply-content pre,#bbpress-forums div.bbp-topic-content code,#bbpress-forums div.bbp-topic-content pre{font-family:Inconsolata,Consolas,Monaco,"Lucida Console",monospace;display:inline-block;background-color:#f9f9f9;border:1px solid #ddd;padding:0 5px;max-width:95%;vertical-align:middle;margin-top:-3px;overflow-x:auto}#bbpress-forums div.bbp-reply-content pre,#bbpress-forums div.bbp-topic-content pre{display:block;line-height:18px;margin:0 0 24px;padding:5px 10px;white-space:pre;overflow:auto}#bbpress-forums div.bbp-reply-content pre code,#bbpress-forums div.bbp-topic-content pre code{display:block;border:none;padding:0;margin:0;background-color:transparent;overflow-wrap:normal;overflow:auto;max-width:100%}#bbpress-forums div.bbp-reply-content iframe.wp-embedded-content,#bbpress-forums div.bbp-topic-content iframe.wp-embedded-content{position:relative}#bbpress-forums div.bbp-reply-to{margin-right:130px;padding:12px 0 12px 12px;text-align:left}#bbpress-forums div#bbp-cancel-reply-to{text-align:left}div.bbp-breadcrumb{float:right}div.bbp-breadcrumb,div.bbp-topic-tags{font-size:12px}#bbpress-forums div.bbp-breadcrumb p,#bbpress-forums div.bbp-topic-tags p{margin-bottom:10px}#bbpress-forums div.bbp-topic-tags{float:left;clear:both}#bbp-topic-hot-tags{clear:both}#bbpress-forums #bbp-search-form{clear:right}#bbpress-forums #bbp-search-form .hidden{height:0;width:0;overflow:hidden;position:absolute;background:0 0;right:-999em}#bbpress-forums #bbp-search-form #bbp_search{display:inline-block;width:auto}#bbpress-forums div.bbp-search-form{float:left}span.bbp-admin-links{float:left;color:#ddd}span.bbp-admin-links a{color:#bbb;font-weight:400;font-size:10px;text-transform:uppercase;text-decoration:none}fieldset span.bbp-admin-links{float:right}tr td span.bbp-admin-links a:hover{color:#ff4b33}td.bbp-topic-admin-links,td.bbp-topic-counts{width:50%}.bbp-forum-header a.bbp-forum-permalink,.bbp-reply-header a.bbp-reply-permalink,.bbp-topic-header a.bbp-topic-permalink{float:left;margin-right:10px;color:#ccc}.bbp-row-actions #favorite-toggle a{text-decoration:none;padding:0 3px 1px;color:#7c7;border:1px solid #aca;background-color:#dfd;font-weight:700;font-size:12px}.bbp-row-actions #favorite-toggle a:hover{color:#5a5;border-color:#7c7;background-color:#beb}.bbp-row-actions #favorite-toggle span.is-favorite a{color:#faa;border:1px solid #faa;background-color:#fee}.bbp-row-actions #favorite-toggle span.is-favorite a:hover{color:#c88;border-color:#c88;background-color:#fdd}.bbp-row-actions #subscription-toggle a{text-decoration:none;padding:0 3px 1px;color:#7c7;border:1px solid #aca;background-color:#dfd;font-weight:700;font-size:12px}.bbp-row-actions #subscription-toggle a:hover{color:#5a5;border-color:#7c7;background-color:#beb}.bbp-row-actions #subscription-toggle span.is-subscribed a{color:#faa;border:1px solid #faa;background-color:#fee}.bbp-row-actions #subscription-toggle span.is-subscribed a:hover{color:#c88;border-color:#c88;background-color:#fdd}#bbpress-forums .bbp-forum-info .bbp-forum-content,#bbpress-forums p.bbp-topic-meta{font-size:11px;margin:5px 0;padding:0;word-wrap:break-word}#bbpress-forums p.bbp-topic-meta span{white-space:nowrap}.bbp-pagination-count{float:right;border:1px solid transparent}.bbp-pagination-links{float:left;list-style:none;display:inline}.bbp-pagination{float:right;width:100%;margin-bottom:15px}#bbpress-forums .bbp-pagination-links a,#bbpress-forums .bbp-pagination-links span.current{display:block;float:right;font-size:12px;line-height:18px;padding:0 5px;margin-right:5px;border:1px solid #efefef;border-radius:0;background:0 0;color:inherit;text-decoration:none}#bbpress-forums .bbp-pagination-links span.dots{display:block;float:right;padding:1px 4px;margin-right:5px}#bbpress-forums .bbp-topic-pagination{display:inline-block;margin-right:5px;margin-bottom:2px}#bbpress-forums .bbp-topic-pagination a{font-size:10px;line-height:10px;padding:1px 3px;border:1px solid #ddd;color:inherit;text-decoration:none}#bbpress-forums .bbp-pagination-links a:hover,#bbpress-forums .bbp-pagination-links span.current,#bbpress-forums .bbp-topic-pagination a:hover{background:#eee;opacity:.8;border:1px solid #ddd}#bbpress-forums fieldset.bbp-form{clear:right;border:1px solid #eee;padding:10px 20px;margin-bottom:10px}#bbpress-forums fieldset.bbp-form legend{padding:5px;width:auto;border:none}#bbpress-forums fieldset.bbp-form label{margin:0;display:inline-block}#bbp-edit-topic-tag.bbp-form fieldset.bbp-form label,#bbp-login fieldset label,#bbp-lost-pass fieldset label,#bbp-register fieldset label{width:100px}#bbpress-forums fieldset.bbp-form input,#bbpress-forums fieldset.bbp-form p,#bbpress-forums fieldset.bbp-form select,#bbpress-forums fieldset.bbp-form textarea{margin:0 0 8px}textarea#bbp_forum_content,textarea#bbp_reply_content,textarea#bbp_topic_content{width:97%;box-sizing:border-box}textarea#bbp_forum_content{height:210px}#bbpress-forums fieldset.bbp-forum-form-attributes{width:200px;float:left;clear:none;margin-right:25px}#bbpress-forums fieldset select#bbp_forum_id{max-width:200px}.bbp-reply-form,.bbp-topic-form,.bbp-topic-tag-form{clear:right}body.reply-edit .bbp-reply-form div.avatar img,body.single-forum .bbp-topic-form div.avatar img,body.single-reply .bbp-reply-form div.avatar img,body.topic-edit .bbp-topic-form div.avatar img{margin-left:0;padding:10px;border:1px solid #ddd;line-height:0;background-color:#efefef}body.page .bbp-reply-form code,body.page .bbp-topic-form code,body.reply-edit .bbp-reply-form code,body.single-forum .bbp-topic-form code,body.single-topic .bbp-reply-form code,body.topic-edit .bbp-topic-form code{font-size:10px;background-color:#f0fff8;border:1px solid #ceefe1;display:block;padding:8px;margin-top:5px;width:369px}#delete_tag,#merge_tag{display:inline}div.bbp-submit-wrapper{margin-top:15px;float:left;clear:both}p.form-allowed-tags{max-width:100%}#bbpress-forums div.bbp-the-content-wrapper{margin-bottom:10px}#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content{width:100%;margin:0;font-size:12px}#bbpress-forums div.bbp-the-content-wrapper table,#bbpress-forums div.bbp-the-content-wrapper tbody,#bbpress-forums div.bbp-the-content-wrapper td,#bbpress-forums div.bbp-the-content-wrapper tr{border:none;padding:0;margin:0;width:auto;line-height:1}#bbpress-forums div.bbp-the-content-wrapper input[type=button]{padding:5px 7px;margin:0 0 0 -1px;line-height:1;border:1px solid transparent;background-color:transparent;box-shadow:none;text-shadow:none;border-radius:0;text-transform:uppercase;font-size:11px}#bbpress-forums div.bbp-the-content-wrapper input[type=button]:hover{border-color:rgba(0,0,0,.1);background-color:rgba(255,255,255,.5)}#bbpress-forums div.bbp-the-content-wrapper div.quicktags-toolbar{padding:5px;min-height:26px}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar{padding:4px 4px 8px}#bbpress-forums div.wp-editor-container{margin:0;padding:0;line-height:0}#bbpress-forums div.bbp-the-content-wrapper td.mceStatusbar{line-height:16px}#bbpress-forums #bbp-your-profile fieldset{padding:20px 20px 0}#bbpress-forums #bbp-your-profile fieldset div{margin-bottom:20px;float:right;width:100%;clear:right}#bbpress-forums #bbp-your-profile fieldset select{margin-bottom:0;width:60%;background-color:#f9f9f9;border:1px solid #ddd}#bbpress-forums #bbp-your-profile fieldset input,#bbpress-forums #bbp-your-profile fieldset textarea{margin-bottom:0;width:60%;background-color:#f9f9f9;border:1px solid #ddd;box-shadow:none;border-radius:0}#bbpress-forums #bbp-your-profile fieldset input:focus,#bbpress-forums #bbp-your-profile fieldset textarea:focus{border:1px solid #ccc;box-shadow:inset -1px 1px 1px rgba(0,0,0,.1);outline-color:rgba(240,255,240,.1)}#bbpress-forums #bbp-your-profile fieldset.bbp-form input.checkbox{width:auto}#bbpress-forums #bbp-your-profile fieldset legend{display:none}#bbpress-forums #bbp-your-profile fieldset label[for]{float:right;width:20%;padding:5px 0 5px 20px;text-align:left;cursor:pointer}#bbpress-forums #bbp-your-profile fieldset dl label[for]{text-align:right;width:60%}#bbpress-forums #bbp-your-profile fieldset p.description{margin:5px 20% 0 0;font-size:12px;font-style:italic;float:right;clear:right;width:60%;padding:5px 8px;border:#cee1ef 1px solid;background-color:#f0f8ff}#bbpress-forums #bbp-your-profile fieldset fieldset{margin:0;border:none;padding:0;clear:none;float:none}#bbpress-forums #bbp-your-profile fieldset fieldset.capabilities dl{margin:0}#bbpress-forums #bbp-your-profile fieldset.submit button{float:left}#bbpress-forums #bbp-your-profile fieldset fieldset.password{width:60%;display:inline}#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-button-wrapper,#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-input-wrapper{width:100%;margin:0;display:inline-block}#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-button-wrapper button{width:46%;margin:4% 2%;box-sizing:border-box;display:inline-block}#bbpress-forums #bbp-your-profile fieldset fieldset.password input,#bbpress-forums #bbp-your-profile fieldset fieldset.passwword textarea{width:100%}#bbpress-forums #bbp-your-profile fieldset fieldset.password button .dashicons{display:none}#bbpress-forums #bbp-your-profile fieldset fieldset.password span.description{margin-right:0;margin-bottom:20px}#bbpress-forums #password #pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:0;padding:8px;text-align:center;box-sizing:border-box;display:inline-block}#bbpress-forums #password #pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#bbpress-forums #password #pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#bbpress-forums #password #pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#bbpress-forums #password #pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#bbpress-forums #password #pass1-text.short,#bbpress-forums #password #pass1.short{border-color:#e35b5b}#bbpress-forums #password #pass1-text.bad,#bbpress-forums #password#pass1.bad{border-color:#f78b53}#bbpress-forums #password #pass1-text.good,#bbpress-forums #password #pass1.good{border-color:#ffc733}#bbpress-forums #password #pass1-text.strong,#bbpress-forums #password #pass1.strong{border-color:#83c373}#bbpress-forums .indicator-hint{padding-top:8px}#bbpress-forums #pass1-text,#bbpress-forums .pw-weak,#bbpress-forums .show-password #pass1{display:none}#bbpress-forums .show-password #pass1-text{display:inline-block}div.bbp-template-notice,div.indicator-hint{border-width:1px;border-style:solid;padding:0 .6em;margin:5px 0 15px;border-radius:3px;background-color:#ffffe0;border-color:#e6db55;color:#000;clear:both}div.bbp-template-notice a{color:#555;text-decoration:none}div.bbp-template-notice a:hover{color:#000}div.bbp-template-notice.info{border:#cee1ef 1px solid;background-color:#f0f8ff}div.bbp-template-notice.important{border:#e6db55 1px solid;background-color:#fffbcc}div.bbp-template-notice.error,div.bbp-template-notice.warning{background-color:#ffebe8;border-color:#c00}div.bbp-template-notice.error a,div.bbp-template-notice.warning a{color:#c00}div.bbp-template-notice li,div.bbp-template-notice p{margin:.5em 0 6px!important;padding:2px;font-size:12px;line-height:1.4}.bbp-forum-content ul.sticky,.bbp-topics ul.sticky,.bbp-topics ul.super-sticky,.bbp-topics-front ul.super-sticky{background-color:#ffffe0!important;font-size:1.1em}#bbpress-forums .bbp-reply-content ul.bbp-reply-revision-log,#bbpress-forums .bbp-reply-content ul.bbp-topic-revision-log,#bbpress-forums .bbp-topic-content ul.bbp-topic-revision-log{border-top:1px dotted #ddd;width:100%;margin:0;padding:8px 0 0;font-size:11px;color:#aaa}#bbpress-forums .bbp-reply-content ul.bbp-reply-revision-log li,#bbpress-forums .bbp-reply-content ul.bbp-topic-revision-log li,#bbpress-forums .bbp-topic-content ul.bbp-topic-revision-log li{list-style-type:none}.bbp-login-form fieldset legend{display:none}.bbp-login-form .bbp-email input,.bbp-login-form .bbp-password input,.bbp-login-form .bbp-username input{padding:5px}.bbp-login-form label{width:140px;display:inline-block}#sidebar .bbp-login-form label{width:70px}.bbp-login-form .bbp-email,.bbp-login-form .bbp-password,.bbp-login-form .bbp-remember-me,.bbp-login-form .bbp-submit-wrapper,.bbp-login-form .bbp-username{margin-top:10px}.bbp-login-form .bbp-submit-wrapper{text-align:left}.bbp-login-form .bbp-login-links a{float:right;clear:right}.bbp-logged-in img.avatar{float:right;margin:0 0 0 15px}.bbp-logged-in h4{font-weight:700;font-size:1.3em;clear:none;margin-bottom:10px}#bbpress-forums img.avatar{box-shadow:none;display:inline-block}#bbpress-forums .widget_display_replies img.avatar,#bbpress-forums .widget_display_topics img.avatar,#bbpress-forums div.bbp-template-notice img.avatar,#bbpress-forums p.bbp-topic-meta img.avatar,#bbpress-forums ul.bbp-reply-revision-log img.avatar,#bbpress-forums ul.bbp-topic-revision-log img.avatar{float:none;vertical-align:middle;border:3px double #ddd}fieldset div.avatar{float:left}.activity-list li.bbp_reply_create .activity-content .activity-inner,.activity-list li.bbp_topic_create .activity-content .activity-inner{border-right:2px solid #eaeaea;margin-right:5px;padding-right:10px}#bbpress-forums h1{clear:none;font-size:1.8em;line-height:1;padding-bottom:10px}#bbpress-forums #bbp-user-wrapper{float:right;width:100%}#bbpress-forums .bbp-user-section{overflow:auto;clear:left}#bbpress-forums #bbp-user-wrapper h2.entry-title{font-size:1.4em;margin:0;padding-bottom:10px;padding-top:0;clear:none}#bbpress-forums #bbp-user-wrapper fieldset.bbp-form,#bbpress-forums #bbp-user-wrapper ul.bbp-forums,#bbpress-forums #bbp-user-wrapper ul.bbp-lead-topic,#bbpress-forums #bbp-user-wrapper ul.bbp-replies,#bbpress-forums #bbp-user-wrapper ul.bbp-topics{clear:none}#bbpress-forums #bbp-single-user-details{margin:0;width:150px;float:right;overflow:hidden}#bbpress-forums #bbp-single-user-details #bbp-user-avatar{margin:0;width:150px}#bbpress-forums #bbp-single-user-details #bbp-user-avatar img.avatar{border:none;height:150px;padding:0;margin:0 0 20px;width:150px}#bbpress-forums #bbp-single-user-details #bbp-user-description{float:none;margin-right:180px}#bbpress-forums #bbp-single-user-details #bbp-user-navigation{float:none;margin:0}#bbpress-forums #bbp-single-user-details #bbp-user-navigation li{margin:0}#bbpress-forums #bbp-single-user-details #bbp-user-navigation a{padding:5px 8px;display:block;border:1px solid transparent;text-decoration:none}#bbpress-forums #bbp-single-user-details #bbp-user-navigation li.current a{background:#eee;opacity:.8}#bbpress-forums #bbp-user-body{margin-right:180px}body.my-account #bbpress-forums{border-top:none;padding-top:0;margin-bottom:0}#bbpress-forums dl.bbp-user-capabilities{display:inline-block;vertical-align:top}#bbpress-forums dl.bbp-user-capabilities dt{margin:0 0 10px;text-transform:capitalize}#bbpress-forums dl.bbp-user-capabilities dd{margin:0;padding:0}#bbpress-forums div.row-actions{font-size:11px;visibility:hidden}#bbpress-forums li:hover>div.row-actions{visibility:visible}.bbp-alert-outer{height:100%;width:100%;top:0;right:0;position:fixed;background-color:rgba(0,0,0,.2);z-index:99999}.bbp-alert-inner{width:350px;text-align:center;background:#fff;position:fixed;top:50%;right:50%;margin-top:-75px;margin-right:-185px;border-radius:3px;border:1px solid #aaa;padding:15px 10px 10px}.bbp-alert-outer .bbp-alert-inner p{margin:10px 0}.bbp-alert-actions a{padding:5px 20px;text-decoration:none}@media only screen and (max-width:480px){#bbpress-forums div.bbp-topic-tags{clear:right;float:right}div.bbp-search-form button,div.bbp-search-form input{font-size:11px;padding:2px}li.bbp-forum-info,li.bbp-topic-title{width:45%}li.bbp-forum-reply-count,li.bbp-forum-topic-count,li.bbp-topic-reply-count,li.bbp-topic-voice-count{width:15%}span.bbp-reply-post-date,span.bbp-topic-post-date{float:right}span.bbp-admin-links{clear:right;float:right}#bbpress-forums .bbp-forums-list li,#bbpress-forums .bbp-forums-list span{display:block;font-size:11px}#bbpress-forums .bbp-body div.bbp-reply-author,#bbpress-forums .bbp-body div.bbp-topic-author{margin:-15px 10px 10px;min-height:100px;padding-right:80px;position:relative;text-align:right;width:100%}#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{clear:none;display:inline-block;margin-right:0;word-wrap:break-word}#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{position:absolute;top:15px;right:0;width:60px;height:auto}#bbpress-forums div.bbp-reply-author .bbp-author-role,#bbpress-forums div.bbp-topic-author .bbp-author-role{font-size:12px;font-style:normal}#bbpress-forums .bbp-body div.bbp-reply-content,#bbpress-forums .bbp-body div.bbp-topic-content{clear:both;margin:10px;padding:0}#bbpress-forums div.bbp-reply-content p,#bbpress-forums div.bbp-topic-content p{margin-bottom:1em}div.bbp-submit-wrapper{float:right}#bbpress-forums fieldset.bbp-form{padding:0 10px 10px}#bbpress-forums #bbp-user-body{clear:both;margin-right:0;word-wrap:break-word}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:14px}}@media only screen and (max-width:320px){#bbpress-forums div.bbp-search-form{margin-bottom:10px}#bbpress-forums li.bbp-body li.bbp-forum-info,#bbpress-forums li.bbp-body li.bbp-topic-title,#bbpress-forums li.bbp-header li.bbp-forum-info,#bbpress-forums li.bbp-header li.bbp-topic-title{width:100%}#bbpress-forums li.bbp-header li.bbp-forum-info,#bbpress-forums li.bbp-header li.bbp-topic-title{text-align:center;text-transform:uppercase}#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count,#bbpress-forums li.bbp-header li.bbp-forum-reply-count,#bbpress-forums li.bbp-header li.bbp-forum-topic-count,#bbpress-forums li.bbp-header li.bbp-topic-reply-count,#bbpress-forums li.bbp-header li.bbp-topic-voice-count{width:20%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{width:58%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count{margin-top:7px}#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{font-size:10px}#bbpress-forums li.bbp-header div.bbp-reply-author,#bbpress-forums li.bbp-header div.bbp-search-author,#bbpress-forums li.bbp-header div.bbp-topic-author{text-align:right;width:25%}#bbpress-forums li.bbp-header div.bbp-reply-content,#bbpress-forums li.bbp-header div.bbp-search-content,#bbpress-forums li.bbp-header div.bbp-topic-content{margin-right:25%}#bbpress-forums div.bbp-template-notice img.avatar,#bbpress-forums p.bbp-topic-meta img.avatar{width:14px;height:auto}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar{padding:1px}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar td{width:20px;height:20px}#bbpress-forums div.wp-editor-container{width:100%;overflow:auto}#bbpress-forums input#bbp_topic_tags,#bbpress-forums input#bbp_topic_title{width:95%}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:14px}}@media only screen and (max-width:240px){#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count,#bbpress-forums li.bbp-footer div.bbp-reply-author,#bbpress-forums li.bbp-footer div.bbp-search-author,#bbpress-forums li.bbp-footer div.bbp-topic-author,#bbpress-forums li.bbp-header li.bbp-forum-reply-count,#bbpress-forums li.bbp-header li.bbp-forum-topic-count,#bbpress-forums li.bbp-header li.bbp-topic-reply-count,#bbpress-forums li.bbp-header li.bbp-topic-voice-count{width:45%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{clear:both;width:100%}#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{text-align:center}#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header div.bbp-reply-author,#bbpress-forums li.bbp-header div.bbp-reply-content,#bbpress-forums li.bbp-header div.bbp-search-author,#bbpress-forums li.bbp-header div.bbp-search-content,#bbpress-forums li.bbp-header div.bbp-topic-author,#bbpress-forums li.bbp-header div.bbp-topic-content{margin-right:0;text-align:right}#bbpress-forums li.bbp-body li.bbp-topic-freshness p.bbp-topic-meta{display:inline-block}#bbpress-forums li.bbp-header{overflow:hidden}#bbpress-forums li.bbp-footer div.bbp-reply-content,#bbpress-forums li.bbp-footer div.bbp-search-content,#bbpress-forums li.bbp-footer div.bbp-topic-content{display:inline-block;margin-right:0}#bbpress-forums li.bbp-body div.bbp-reply-author,#bbpress-forums li.bbp-body div.bbp-topic-author{min-height:60px;padding-right:60px}#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{width:40px;height:auto}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:12px}}
templates/default/css/bbpress.css CHANGED
@@ -149,16 +149,20 @@ body.reply-edit .reply {
149
  }
150
 
151
  #bbpress-forums .bbp-forums-list {
152
- margin: 0 0 0 5px;
153
- padding-left: 15px;
154
  border-left: 1px solid #ddd;
155
  }
156
 
157
- #bbpress-forums .bbp-forums-list li {
158
  display: inline;
159
  font-size: 11px;
160
  }
161
 
 
 
 
 
162
  #bbpress-forums li.bbp-footer p {
163
  margin: 0;
164
  line-height: 1;
@@ -309,6 +313,7 @@ span.bbp-author-ip {
309
  margin-left: 130px;
310
  padding: 12px 12px 12px 0;
311
  text-align: left;
 
312
  }
313
 
314
  /* Clearing hack */
@@ -435,6 +440,11 @@ span.bbp-author-ip {
435
  max-width: 100%;
436
  }
437
 
 
 
 
 
 
438
  /* =Reply to
439
  -------------------------------------------------------------- */
440
 
@@ -1406,7 +1416,8 @@ body.my-account #bbpress-forums {
1406
  float: left;
1407
  }
1408
 
1409
- #bbpress-forums .bbp-forums-list li {
 
1410
  display: block;
1411
  font-size: 11px;
1412
  }
149
  }
150
 
151
  #bbpress-forums .bbp-forums-list {
152
+ margin: 0 0 0 7px;
153
+ padding-left: 12px;
154
  border-left: 1px solid #ddd;
155
  }
156
 
157
+ #bbpress-forums .bbp-forums-list .bbp-forum {
158
  display: inline;
159
  font-size: 11px;
160
  }
161
 
162
+ #bbpress-forums .bbp-forums-list .bbp-forum.css-sep:not(:last-child):after {
163
+ content: ", ";
164
+ }
165
+
166
  #bbpress-forums li.bbp-footer p {
167
  margin: 0;
168
  line-height: 1;
313
  margin-left: 130px;
314
  padding: 12px 12px 12px 0;
315
  text-align: left;
316
+ position: relative;
317
  }
318
 
319
  /* Clearing hack */
440
  max-width: 100%;
441
  }
442
 
443
+ #bbpress-forums div.bbp-topic-content iframe.wp-embedded-content,
444
+ #bbpress-forums div.bbp-reply-content iframe.wp-embedded-content {
445
+ position: relative;
446
+ }
447
+
448
  /* =Reply to
449
  -------------------------------------------------------------- */
450
 
1416
  float: left;
1417
  }
1418
 
1419
+ #bbpress-forums .bbp-forums-list li,
1420
+ #bbpress-forums .bbp-forums-list span {
1421
  display: block;
1422
  font-size: 11px;
1423
  }
templates/default/css/bbpress.min.css CHANGED
@@ -1 +1 @@
1
- .hidden,.js .hide-if-js{display:none}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;word-wrap:normal!important}#bbpress-forums{background:0 0;clear:both;margin-bottom:20px;overflow:hidden;font-size:12px;line-height:18px}#bbpress-forums a,#bbpress-forums a:hover{box-shadow:none;border:none;transition:none}#bbpress-forums hr{margin:0 0 24px}#bbpress-forums div.even,#bbpress-forums ul.even{background-color:#fff}#bbpress-forums div.odd,#bbpress-forums ul.odd{background-color:#fbfbfb}body.reply-edit .reply{float:none}#bbpress-forums div.reply{height:auto;width:100%}#bbpress-forums div.bbp-forum-header,#bbpress-forums div.bbp-reply-header,#bbpress-forums div.bbp-topic-header{background-color:#f4f4f4}#bbpress-forums .status-spam.even,#bbpress-forums .status-trash.even{background-color:#fee}#bbpress-forums .status-spam.odd,#bbpress-forums .status-trash.odd{background-color:#fdd}#bbpress-forums .status-pending.even,#bbpress-forums .status-pending.odd,#bbpress-forums ul.status-pending a{background-color:#fef7f1}#bbpress-forums ul.status-closed,#bbpress-forums ul.status-closed a{color:#ccc}#bbpress-forums ul{background:0 0;list-style:none;margin:0;padding:0}#bbpress-forums ul.bbp-threaded-replies{margin-left:50px}#bbpress-forums li{background:0 0;margin:0;list-style:none}#bbpress-forums ul.bbp-forums,#bbpress-forums ul.bbp-lead-topic,#bbpress-forums ul.bbp-replies,#bbpress-forums ul.bbp-search-results,#bbpress-forums ul.bbp-topics{font-size:12px;overflow:hidden;border:1px solid #eee;margin-bottom:20px;clear:both}#bbpress-forums li.bbp-body,#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{clear:both}#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{background:#f3f3f3;border-top:1px solid #eee;font-weight:700;padding:8px;text-align:center}#bbpress-forums li.bbp-header{background:#eaeaea}#bbpress-forums li.bbp-header ul{overflow:hidden}#bbpress-forums .bbp-forums-list{margin:0 0 0 5px;padding-left:15px;border-left:1px solid #ddd}#bbpress-forums .bbp-forums-list li{display:inline;font-size:11px}#bbpress-forums li.bbp-footer p{margin:0;line-height:1}li.bbp-forum-info,li.bbp-topic-title{float:left;text-align:left;width:55%}li.bbp-forum-reply-count,li.bbp-forum-topic-count,li.bbp-topic-reply-count,li.bbp-topic-voice-count{float:left;text-align:center;width:10%}li.bbp-forum-freshness,li.bbp-topic-freshness{text-align:center;float:left;width:22%}#bbpress-forums li.bbp-body ul.forum,#bbpress-forums li.bbp-body ul.topic{border-top:1px solid #eee;overflow:hidden;padding:8px}#bbpress-forums #favorite-toggle,#bbpress-forums #subscription-toggle{float:right}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{background:0 0;border:none;font-size:16px;line-height:1;margin:8px 0;padding:0;text-transform:none}#bbpress-forums div.bbp-forum-author,#bbpress-forums div.bbp-reply-author,#bbpress-forums div.bbp-topic-author{float:left;text-align:center;width:115px}#bbpress-forums div.bbp-forum-author img.avatar,#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{border:none;max-width:80px;padding:0;margin:12px auto 0;float:none}#bbpress-forums div.bbp-forum-author .bbp-author-name,#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{margin:0 12px;word-wrap:break-word;display:inline-block}#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{clear:left;display:block}#bbpress-forums div.bbp-forum-author .bbp-author-role,#bbpress-forums div.bbp-reply-author .bbp-author-role,#bbpress-forums div.bbp-topic-author .bbp-author-role{font-size:11px;font-style:italic}#bbpress-forums li.bbp-footer .bbp-forum-author,#bbpress-forums li.bbp-footer .bbp-reply-author,#bbpress-forums li.bbp-footer .bbp-search-author,#bbpress-forums li.bbp-footer .bbp-topic-author,#bbpress-forums li.bbp-header .bbp-forum-author,#bbpress-forums li.bbp-header .bbp-reply-author,#bbpress-forums li.bbp-header .bbp-search-author,#bbpress-forums li.bbp-header .bbp-topic-author{float:left;margin:0;padding:0;width:120px}#bbpress-forums li.bbp-footer .bbp-forum-content,#bbpress-forums li.bbp-footer .bbp-reply-content,#bbpress-forums li.bbp-footer .bbp-search-content,#bbpress-forums li.bbp-footer .bbp-topic-content,#bbpress-forums li.bbp-header .bbp-forum-content,#bbpress-forums li.bbp-header .bbp-reply-content,#bbpress-forums li.bbp-header .bbp-search-content,#bbpress-forums li.bbp-header .bbp-topic-content{margin-left:140px;padding:0;text-align:left}div.bbp-forum-header,div.bbp-reply-header,div.bbp-topic-header,li.bbp-body div.hentry{margin:0;overflow:hidden;padding:8px}div.bbp-forum-header,div.bbp-reply-header,div.bbp-topic-header{border-top:1px solid #ddd;clear:both}span.bbp-author-ip{font-size:11px;font-weight:700;word-wrap:break-word;color:#aaa}#bbpress-forums div.bbp-forum-content,#bbpress-forums div.bbp-reply-content,#bbpress-forums div.bbp-topic-content{margin-left:130px;padding:12px 12px 12px 0;text-align:left}#bbpress-forums div.bbp-forum-content:after,#bbpress-forums div.bbp-reply-content:after,#bbpress-forums div.bbp-topic-content:after{clear:both;content:".";display:block;float:none;height:0;font-size:0;visibility:hidden}#bbpress-forums div.bbp-reply-content a,#bbpress-forums div.bbp-topic-content a{background:0 0;border:none;display:inline;font-weight:400;margin:0;padding:0}#bbpress-forums div.bbp-reply-content a.bbp-user-mention,#bbpress-forums div.bbp-topic-content a.bbp-user-mention{background:0 0;border:none;text-decoration:none;text-shadow:none;display:inline;font-weight:600;margin:0;padding:0}#bbpress-forums div.bbp-reply-content h1,#bbpress-forums div.bbp-reply-content h2,#bbpress-forums div.bbp-reply-content h3,#bbpress-forums div.bbp-reply-content h4,#bbpress-forums div.bbp-reply-content h5,#bbpress-forums div.bbp-reply-content h6,#bbpress-forums div.bbp-topic-content h1,#bbpress-forums div.bbp-topic-content h2,#bbpress-forums div.bbp-topic-content h3,#bbpress-forums div.bbp-topic-content h4,#bbpress-forums div.bbp-topic-content h5,#bbpress-forums div.bbp-topic-content h6{clear:none;line-height:1;margin:24px 0;padding:0}#bbpress-forums div.bbp-reply-content img,#bbpress-forums div.bbp-topic-content img{max-width:100%;height:auto}#bbpress-forums div.bbp-reply-content ol,#bbpress-forums div.bbp-reply-content ul,#bbpress-forums div.bbp-topic-content ol,#bbpress-forums div.bbp-topic-content ul{margin:0 15px 15px;padding:0}#bbpress-forums div.bbp-reply-content ul li,#bbpress-forums div.bbp-topic-content ul li{list-style-type:disc}#bbpress-forums div.bbp-reply-content ol li,#bbpress-forums div.bbp-topic-content ol li{list-style-type:decimal}#bbpress-forums div.bbp-reply-content ol li li,#bbpress-forums div.bbp-topic-content ol li li{list-style-type:lower-alpha}#bbpress-forums div.bbp-reply-content ol li li li,#bbpress-forums div.bbp-topic-content ol li li li{list-style-type:upper-roman}#bbpress-forums div.bbp-reply-content code,#bbpress-forums div.bbp-reply-content pre,#bbpress-forums div.bbp-topic-content code,#bbpress-forums div.bbp-topic-content pre{font-family:Inconsolata,Consolas,Monaco,"Lucida Console",monospace;display:inline-block;background-color:#f9f9f9;border:1px solid #ddd;padding:0 5px;max-width:95%;vertical-align:middle;margin-top:-3px;overflow-x:auto}#bbpress-forums div.bbp-reply-content pre,#bbpress-forums div.bbp-topic-content pre{display:block;line-height:18px;margin:0 0 24px;padding:5px 10px;white-space:pre;overflow:auto}#bbpress-forums div.bbp-reply-content pre code,#bbpress-forums div.bbp-topic-content pre code{display:block;border:none;padding:0;margin:0;background-color:transparent;overflow-wrap:normal;overflow:auto;max-width:100%}#bbpress-forums div.bbp-reply-to{margin-left:130px;padding:12px 12px 12px 0;text-align:right}#bbpress-forums div#bbp-cancel-reply-to{text-align:right}div.bbp-breadcrumb{float:left}div.bbp-breadcrumb,div.bbp-topic-tags{font-size:12px}#bbpress-forums div.bbp-breadcrumb p,#bbpress-forums div.bbp-topic-tags p{margin-bottom:10px}#bbpress-forums div.bbp-topic-tags{float:right;clear:both}#bbp-topic-hot-tags{clear:both}#bbpress-forums #bbp-search-form{clear:left}#bbpress-forums #bbp-search-form .hidden{height:0;width:0;overflow:hidden;position:absolute;background:0 0;left:-999em}#bbpress-forums #bbp-search-form #bbp_search{display:inline-block;width:auto}#bbpress-forums div.bbp-search-form{float:right}span.bbp-admin-links{float:right;color:#ddd}span.bbp-admin-links a{color:#bbb;font-weight:400;font-size:10px;text-transform:uppercase;text-decoration:none}fieldset span.bbp-admin-links{float:left}tr td span.bbp-admin-links a:hover{color:#ff4b33}td.bbp-topic-admin-links,td.bbp-topic-counts{width:50%}.bbp-forum-header a.bbp-forum-permalink,.bbp-reply-header a.bbp-reply-permalink,.bbp-topic-header a.bbp-topic-permalink{float:right;margin-left:10px;color:#ccc}.bbp-row-actions #favorite-toggle a{text-decoration:none;padding:0 3px 1px;color:#7c7;border:1px solid #aca;background-color:#dfd;font-weight:700;font-size:12px}.bbp-row-actions #favorite-toggle a:hover{color:#5a5;border-color:#7c7;background-color:#beb}.bbp-row-actions #favorite-toggle span.is-favorite a{color:#faa;border:1px solid #faa;background-color:#fee}.bbp-row-actions #favorite-toggle span.is-favorite a:hover{color:#c88;border-color:#c88;background-color:#fdd}.bbp-row-actions #subscription-toggle a{text-decoration:none;padding:0 3px 1px;color:#7c7;border:1px solid #aca;background-color:#dfd;font-weight:700;font-size:12px}.bbp-row-actions #subscription-toggle a:hover{color:#5a5;border-color:#7c7;background-color:#beb}.bbp-row-actions #subscription-toggle span.is-subscribed a{color:#faa;border:1px solid #faa;background-color:#fee}.bbp-row-actions #subscription-toggle span.is-subscribed a:hover{color:#c88;border-color:#c88;background-color:#fdd}#bbpress-forums .bbp-forum-info .bbp-forum-content,#bbpress-forums p.bbp-topic-meta{font-size:11px;margin:5px 0;padding:0;word-wrap:break-word}#bbpress-forums p.bbp-topic-meta span{white-space:nowrap}.bbp-pagination-count{float:left;border:1px solid transparent}.bbp-pagination-links{float:right;list-style:none;display:inline}.bbp-pagination{float:left;width:100%;margin-bottom:15px}#bbpress-forums .bbp-pagination-links a,#bbpress-forums .bbp-pagination-links span.current{display:block;float:left;font-size:12px;line-height:18px;padding:0 5px;margin-left:5px;border:1px solid #efefef;border-radius:0;background:0 0;color:inherit;text-decoration:none}#bbpress-forums .bbp-pagination-links span.dots{display:block;float:left;padding:1px 4px;margin-left:5px}#bbpress-forums .bbp-topic-pagination{display:inline-block;margin-left:5px;margin-bottom:2px}#bbpress-forums .bbp-topic-pagination a{font-size:10px;line-height:10px;padding:1px 3px;border:1px solid #ddd;color:inherit;text-decoration:none}#bbpress-forums .bbp-pagination-links a:hover,#bbpress-forums .bbp-pagination-links span.current,#bbpress-forums .bbp-topic-pagination a:hover{background:#eee;opacity:.8;border:1px solid #ddd}#bbpress-forums fieldset.bbp-form{clear:left;border:1px solid #eee;padding:10px 20px;margin-bottom:10px}#bbpress-forums fieldset.bbp-form legend{padding:5px;width:auto;border:none}#bbpress-forums fieldset.bbp-form label{margin:0;display:inline-block}#bbp-edit-topic-tag.bbp-form fieldset.bbp-form label,#bbp-login fieldset label,#bbp-lost-pass fieldset label,#bbp-register fieldset label{width:100px}#bbpress-forums fieldset.bbp-form input,#bbpress-forums fieldset.bbp-form p,#bbpress-forums fieldset.bbp-form select,#bbpress-forums fieldset.bbp-form textarea{margin:0 0 8px}textarea#bbp_forum_content,textarea#bbp_reply_content,textarea#bbp_topic_content{width:97%;box-sizing:border-box}textarea#bbp_forum_content{height:210px}#bbpress-forums fieldset.bbp-forum-form-attributes{width:200px;float:right;clear:none;margin-left:25px}#bbpress-forums fieldset select#bbp_forum_id{max-width:200px}.bbp-reply-form,.bbp-topic-form,.bbp-topic-tag-form{clear:left}body.reply-edit .bbp-reply-form div.avatar img,body.single-forum .bbp-topic-form div.avatar img,body.single-reply .bbp-reply-form div.avatar img,body.topic-edit .bbp-topic-form div.avatar img{margin-right:0;padding:10px;border:1px solid #ddd;line-height:0;background-color:#efefef}body.page .bbp-reply-form code,body.page .bbp-topic-form code,body.reply-edit .bbp-reply-form code,body.single-forum .bbp-topic-form code,body.single-topic .bbp-reply-form code,body.topic-edit .bbp-topic-form code{font-size:10px;background-color:#f0fff8;border:1px solid #ceefe1;display:block;padding:8px;margin-top:5px;width:369px}#delete_tag,#merge_tag{display:inline}div.bbp-submit-wrapper{margin-top:15px;float:right;clear:both}p.form-allowed-tags{max-width:100%}#bbpress-forums div.bbp-the-content-wrapper{margin-bottom:10px}#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content{width:100%;margin:0;font-size:12px}#bbpress-forums div.bbp-the-content-wrapper table,#bbpress-forums div.bbp-the-content-wrapper tbody,#bbpress-forums div.bbp-the-content-wrapper td,#bbpress-forums div.bbp-the-content-wrapper tr{border:none;padding:0;margin:0;width:auto;line-height:1}#bbpress-forums div.bbp-the-content-wrapper input[type=button]{padding:5px 7px;margin:0 -1px 0 0;line-height:1;border:1px solid transparent;background-color:transparent;box-shadow:none;text-shadow:none;border-radius:0;text-transform:uppercase;font-size:11px}#bbpress-forums div.bbp-the-content-wrapper input[type=button]:hover{border-color:rgba(0,0,0,.1);background-color:rgba(255,255,255,.5)}#bbpress-forums div.bbp-the-content-wrapper div.quicktags-toolbar{padding:5px;min-height:26px}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar{padding:4px 4px 8px}#bbpress-forums div.wp-editor-container{margin:0;padding:0;line-height:0}#bbpress-forums div.bbp-the-content-wrapper td.mceStatusbar{line-height:16px}#bbpress-forums #bbp-your-profile fieldset{padding:20px 20px 0}#bbpress-forums #bbp-your-profile fieldset div{margin-bottom:20px;float:left;width:100%;clear:left}#bbpress-forums #bbp-your-profile fieldset select{margin-bottom:0;width:60%;background-color:#f9f9f9;border:1px solid #ddd}#bbpress-forums #bbp-your-profile fieldset input,#bbpress-forums #bbp-your-profile fieldset textarea{margin-bottom:0;width:60%;background-color:#f9f9f9;border:1px solid #ddd;box-shadow:none;border-radius:0}#bbpress-forums #bbp-your-profile fieldset input:focus,#bbpress-forums #bbp-your-profile fieldset textarea:focus{border:1px solid #ccc;box-shadow:inset 1px 1px 1px rgba(0,0,0,.1);outline-color:rgba(240,255,240,.1)}#bbpress-forums #bbp-your-profile fieldset.bbp-form input.checkbox{width:auto}#bbpress-forums #bbp-your-profile fieldset legend{display:none}#bbpress-forums #bbp-your-profile fieldset label[for]{float:left;width:20%;padding:5px 20px 5px 0;text-align:right;cursor:pointer}#bbpress-forums #bbp-your-profile fieldset dl label[for]{text-align:left;width:60%}#bbpress-forums #bbp-your-profile fieldset p.description{margin:5px 0 0 20%;font-size:12px;font-style:italic;float:left;clear:left;width:60%;padding:5px 8px;border:#cee1ef 1px solid;background-color:#f0f8ff}#bbpress-forums #bbp-your-profile fieldset fieldset{margin:0;border:none;padding:0;clear:none;float:none}#bbpress-forums #bbp-your-profile fieldset fieldset.capabilities dl{margin:0}#bbpress-forums #bbp-your-profile fieldset.submit button{float:right}#bbpress-forums #bbp-your-profile fieldset fieldset.password{width:60%;display:inline}#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-button-wrapper,#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-input-wrapper{width:100%;margin:0;display:inline-block}#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-button-wrapper button{width:46%;margin:4% 2%;box-sizing:border-box;display:inline-block}#bbpress-forums #bbp-your-profile fieldset fieldset.password input,#bbpress-forums #bbp-your-profile fieldset fieldset.passwword textarea{width:100%}#bbpress-forums #bbp-your-profile fieldset fieldset.password button .dashicons{display:none}#bbpress-forums #bbp-your-profile fieldset fieldset.password span.description{margin-left:0;margin-bottom:20px}#bbpress-forums #password #pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:0;padding:8px;text-align:center;box-sizing:border-box;display:inline-block}#bbpress-forums #password #pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#bbpress-forums #password #pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#bbpress-forums #password #pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#bbpress-forums #password #pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#bbpress-forums #password #pass1-text.short,#bbpress-forums #password #pass1.short{border-color:#e35b5b}#bbpress-forums #password #pass1-text.bad,#bbpress-forums #password#pass1.bad{border-color:#f78b53}#bbpress-forums #password #pass1-text.good,#bbpress-forums #password #pass1.good{border-color:#ffc733}#bbpress-forums #password #pass1-text.strong,#bbpress-forums #password #pass1.strong{border-color:#83c373}#bbpress-forums .indicator-hint{padding-top:8px}#bbpress-forums #pass1-text,#bbpress-forums .pw-weak,#bbpress-forums .show-password #pass1{display:none}#bbpress-forums .show-password #pass1-text{display:inline-block}div.bbp-template-notice,div.indicator-hint{border-width:1px;border-style:solid;padding:0 .6em;margin:5px 0 15px;border-radius:3px;background-color:#ffffe0;border-color:#e6db55;color:#000;clear:both}div.bbp-template-notice a{color:#555;text-decoration:none}div.bbp-template-notice a:hover{color:#000}div.bbp-template-notice.info{border:#cee1ef 1px solid;background-color:#f0f8ff}div.bbp-template-notice.important{border:#e6db55 1px solid;background-color:#fffbcc}div.bbp-template-notice.error,div.bbp-template-notice.warning{background-color:#ffebe8;border-color:#c00}div.bbp-template-notice.error a,div.bbp-template-notice.warning a{color:#c00}div.bbp-template-notice li,div.bbp-template-notice p{margin:.5em 0 6px!important;padding:2px;font-size:12px;line-height:1.4}.bbp-forum-content ul.sticky,.bbp-topics ul.sticky,.bbp-topics ul.super-sticky,.bbp-topics-front ul.super-sticky{background-color:#ffffe0!important;font-size:1.1em}#bbpress-forums .bbp-reply-content ul.bbp-reply-revision-log,#bbpress-forums .bbp-reply-content ul.bbp-topic-revision-log,#bbpress-forums .bbp-topic-content ul.bbp-topic-revision-log{border-top:1px dotted #ddd;width:100%;margin:0;padding:8px 0 0;font-size:11px;color:#aaa}#bbpress-forums .bbp-reply-content ul.bbp-reply-revision-log li,#bbpress-forums .bbp-reply-content ul.bbp-topic-revision-log li,#bbpress-forums .bbp-topic-content ul.bbp-topic-revision-log li{list-style-type:none}.bbp-login-form fieldset legend{display:none}.bbp-login-form .bbp-email input,.bbp-login-form .bbp-password input,.bbp-login-form .bbp-username input{padding:5px}.bbp-login-form label{width:140px;display:inline-block}#sidebar .bbp-login-form label{width:70px}.bbp-login-form .bbp-email,.bbp-login-form .bbp-password,.bbp-login-form .bbp-remember-me,.bbp-login-form .bbp-submit-wrapper,.bbp-login-form .bbp-username{margin-top:10px}.bbp-login-form .bbp-submit-wrapper{text-align:right}.bbp-login-form .bbp-login-links a{float:left;clear:left}.bbp-logged-in img.avatar{float:left;margin:0 15px 0 0}.bbp-logged-in h4{font-weight:700;font-size:1.3em;clear:none;margin-bottom:10px}#bbpress-forums img.avatar{box-shadow:none;display:inline-block}#bbpress-forums .widget_display_replies img.avatar,#bbpress-forums .widget_display_topics img.avatar,#bbpress-forums div.bbp-template-notice img.avatar,#bbpress-forums p.bbp-topic-meta img.avatar,#bbpress-forums ul.bbp-reply-revision-log img.avatar,#bbpress-forums ul.bbp-topic-revision-log img.avatar{float:none;vertical-align:middle;border:3px double #ddd}fieldset div.avatar{float:right}.activity-list li.bbp_reply_create .activity-content .activity-inner,.activity-list li.bbp_topic_create .activity-content .activity-inner{border-left:2px solid #eaeaea;margin-left:5px;padding-left:10px}#bbpress-forums h1{clear:none;font-size:1.8em;line-height:1;padding-bottom:10px}#bbpress-forums #bbp-user-wrapper{float:left;width:100%}#bbpress-forums .bbp-user-section{overflow:auto;clear:right}#bbpress-forums #bbp-user-wrapper h2.entry-title{font-size:1.4em;margin:0;padding-bottom:10px;padding-top:0;clear:none}#bbpress-forums #bbp-user-wrapper fieldset.bbp-form,#bbpress-forums #bbp-user-wrapper ul.bbp-forums,#bbpress-forums #bbp-user-wrapper ul.bbp-lead-topic,#bbpress-forums #bbp-user-wrapper ul.bbp-replies,#bbpress-forums #bbp-user-wrapper ul.bbp-topics{clear:none}#bbpress-forums #bbp-single-user-details{margin:0;width:150px;float:left;overflow:hidden}#bbpress-forums #bbp-single-user-details #bbp-user-avatar{margin:0;width:150px}#bbpress-forums #bbp-single-user-details #bbp-user-avatar img.avatar{border:none;height:150px;padding:0;margin:0 0 20px;width:150px}#bbpress-forums #bbp-single-user-details #bbp-user-description{float:none;margin-left:180px}#bbpress-forums #bbp-single-user-details #bbp-user-navigation{float:none;margin:0}#bbpress-forums #bbp-single-user-details #bbp-user-navigation li{margin:0}#bbpress-forums #bbp-single-user-details #bbp-user-navigation a{padding:5px 8px;display:block;border:1px solid transparent;text-decoration:none}#bbpress-forums #bbp-single-user-details #bbp-user-navigation li.current a{background:#eee;opacity:.8}#bbpress-forums #bbp-user-body{margin-left:180px}body.my-account #bbpress-forums{border-top:none;padding-top:0;margin-bottom:0}#bbpress-forums dl.bbp-user-capabilities{display:inline-block;vertical-align:top}#bbpress-forums dl.bbp-user-capabilities dt{margin:0 0 10px;text-transform:capitalize}#bbpress-forums dl.bbp-user-capabilities dd{margin:0;padding:0}#bbpress-forums div.row-actions{font-size:11px;visibility:hidden}#bbpress-forums li:hover>div.row-actions{visibility:visible}.bbp-alert-outer{height:100%;width:100%;top:0;left:0;position:fixed;background-color:rgba(0,0,0,.2);z-index:99999}.bbp-alert-inner{width:350px;text-align:center;background:#fff;position:fixed;top:50%;left:50%;margin-top:-75px;margin-left:-185px;border-radius:3px;border:1px solid #aaa;padding:15px 10px 10px}.bbp-alert-outer .bbp-alert-inner p{margin:10px 0}.bbp-alert-actions a{padding:5px 20px;text-decoration:none}@media only screen and (max-width:480px){#bbpress-forums div.bbp-topic-tags{clear:left;float:left}div.bbp-search-form button,div.bbp-search-form input{font-size:11px;padding:2px}li.bbp-forum-info,li.bbp-topic-title{width:45%}li.bbp-forum-reply-count,li.bbp-forum-topic-count,li.bbp-topic-reply-count,li.bbp-topic-voice-count{width:15%}span.bbp-reply-post-date,span.bbp-topic-post-date{float:left}span.bbp-admin-links{clear:left;float:left}#bbpress-forums .bbp-forums-list li{display:block;font-size:11px}#bbpress-forums .bbp-body div.bbp-reply-author,#bbpress-forums .bbp-body div.bbp-topic-author{margin:-15px 10px 10px;min-height:100px;padding-left:80px;position:relative;text-align:left;width:100%}#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{clear:none;display:inline-block;margin-left:0;word-wrap:break-word}#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{position:absolute;top:15px;left:0;width:60px;height:auto}#bbpress-forums div.bbp-reply-author .bbp-author-role,#bbpress-forums div.bbp-topic-author .bbp-author-role{font-size:12px;font-style:normal}#bbpress-forums .bbp-body div.bbp-reply-content,#bbpress-forums .bbp-body div.bbp-topic-content{clear:both;margin:10px;padding:0}#bbpress-forums div.bbp-reply-content p,#bbpress-forums div.bbp-topic-content p{margin-bottom:1em}div.bbp-submit-wrapper{float:left}#bbpress-forums fieldset.bbp-form{padding:0 10px 10px}#bbpress-forums #bbp-user-body{clear:both;margin-left:0;word-wrap:break-word}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:14px}}@media only screen and (max-width:320px){#bbpress-forums div.bbp-search-form{margin-bottom:10px}#bbpress-forums li.bbp-body li.bbp-forum-info,#bbpress-forums li.bbp-body li.bbp-topic-title,#bbpress-forums li.bbp-header li.bbp-forum-info,#bbpress-forums li.bbp-header li.bbp-topic-title{width:100%}#bbpress-forums li.bbp-header li.bbp-forum-info,#bbpress-forums li.bbp-header li.bbp-topic-title{text-align:center;text-transform:uppercase}#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count,#bbpress-forums li.bbp-header li.bbp-forum-reply-count,#bbpress-forums li.bbp-header li.bbp-forum-topic-count,#bbpress-forums li.bbp-header li.bbp-topic-reply-count,#bbpress-forums li.bbp-header li.bbp-topic-voice-count{width:20%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{width:58%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count{margin-top:7px}#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{font-size:10px}#bbpress-forums li.bbp-header div.bbp-reply-author,#bbpress-forums li.bbp-header div.bbp-search-author,#bbpress-forums li.bbp-header div.bbp-topic-author{text-align:left;width:25%}#bbpress-forums li.bbp-header div.bbp-reply-content,#bbpress-forums li.bbp-header div.bbp-search-content,#bbpress-forums li.bbp-header div.bbp-topic-content{margin-left:25%}#bbpress-forums div.bbp-template-notice img.avatar,#bbpress-forums p.bbp-topic-meta img.avatar{width:14px;height:auto}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar{padding:1px}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar td{width:20px;height:20px}#bbpress-forums div.wp-editor-container{width:100%;overflow:auto}#bbpress-forums input#bbp_topic_tags,#bbpress-forums input#bbp_topic_title{width:95%}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:14px}}@media only screen and (max-width:240px){#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count,#bbpress-forums li.bbp-footer div.bbp-reply-author,#bbpress-forums li.bbp-footer div.bbp-search-author,#bbpress-forums li.bbp-footer div.bbp-topic-author,#bbpress-forums li.bbp-header li.bbp-forum-reply-count,#bbpress-forums li.bbp-header li.bbp-forum-topic-count,#bbpress-forums li.bbp-header li.bbp-topic-reply-count,#bbpress-forums li.bbp-header li.bbp-topic-voice-count{width:45%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{clear:both;width:100%}#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{text-align:center}#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header div.bbp-reply-author,#bbpress-forums li.bbp-header div.bbp-reply-content,#bbpress-forums li.bbp-header div.bbp-search-author,#bbpress-forums li.bbp-header div.bbp-search-content,#bbpress-forums li.bbp-header div.bbp-topic-author,#bbpress-forums li.bbp-header div.bbp-topic-content{margin-left:0;text-align:left}#bbpress-forums li.bbp-body li.bbp-topic-freshness p.bbp-topic-meta{display:inline-block}#bbpress-forums li.bbp-header{overflow:hidden}#bbpress-forums li.bbp-footer div.bbp-reply-content,#bbpress-forums li.bbp-footer div.bbp-search-content,#bbpress-forums li.bbp-footer div.bbp-topic-content{display:inline-block;margin-left:0}#bbpress-forums li.bbp-body div.bbp-reply-author,#bbpress-forums li.bbp-body div.bbp-topic-author{min-height:60px;padding-left:60px}#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{width:40px;height:auto}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:12px}}
1
+ .hidden,.js .hide-if-js{display:none}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;word-wrap:normal!important}#bbpress-forums{background:0 0;clear:both;margin-bottom:20px;overflow:hidden;font-size:12px;line-height:18px}#bbpress-forums a,#bbpress-forums a:hover{box-shadow:none;border:none;transition:none}#bbpress-forums hr{margin:0 0 24px}#bbpress-forums div.even,#bbpress-forums ul.even{background-color:#fff}#bbpress-forums div.odd,#bbpress-forums ul.odd{background-color:#fbfbfb}body.reply-edit .reply{float:none}#bbpress-forums div.reply{height:auto;width:100%}#bbpress-forums div.bbp-forum-header,#bbpress-forums div.bbp-reply-header,#bbpress-forums div.bbp-topic-header{background-color:#f4f4f4}#bbpress-forums .status-spam.even,#bbpress-forums .status-trash.even{background-color:#fee}#bbpress-forums .status-spam.odd,#bbpress-forums .status-trash.odd{background-color:#fdd}#bbpress-forums .status-pending.even,#bbpress-forums .status-pending.odd,#bbpress-forums ul.status-pending a{background-color:#fef7f1}#bbpress-forums ul.status-closed,#bbpress-forums ul.status-closed a{color:#ccc}#bbpress-forums ul{background:0 0;list-style:none;margin:0;padding:0}#bbpress-forums ul.bbp-threaded-replies{margin-left:50px}#bbpress-forums li{background:0 0;margin:0;list-style:none}#bbpress-forums ul.bbp-forums,#bbpress-forums ul.bbp-lead-topic,#bbpress-forums ul.bbp-replies,#bbpress-forums ul.bbp-search-results,#bbpress-forums ul.bbp-topics{font-size:12px;overflow:hidden;border:1px solid #eee;margin-bottom:20px;clear:both}#bbpress-forums li.bbp-body,#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{clear:both}#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{background:#f3f3f3;border-top:1px solid #eee;font-weight:700;padding:8px;text-align:center}#bbpress-forums li.bbp-header{background:#eaeaea}#bbpress-forums li.bbp-header ul{overflow:hidden}#bbpress-forums .bbp-forums-list{margin:0 0 0 7px;padding-left:12px;border-left:1px solid #ddd}#bbpress-forums .bbp-forums-list .bbp-forum{display:inline;font-size:11px}#bbpress-forums .bbp-forums-list .bbp-forum.css-sep:not(:last-child):after{content:", "}#bbpress-forums li.bbp-footer p{margin:0;line-height:1}li.bbp-forum-info,li.bbp-topic-title{float:left;text-align:left;width:55%}li.bbp-forum-reply-count,li.bbp-forum-topic-count,li.bbp-topic-reply-count,li.bbp-topic-voice-count{float:left;text-align:center;width:10%}li.bbp-forum-freshness,li.bbp-topic-freshness{text-align:center;float:left;width:22%}#bbpress-forums li.bbp-body ul.forum,#bbpress-forums li.bbp-body ul.topic{border-top:1px solid #eee;overflow:hidden;padding:8px}#bbpress-forums #favorite-toggle,#bbpress-forums #subscription-toggle{float:right}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{background:0 0;border:none;font-size:16px;line-height:1;margin:8px 0;padding:0;text-transform:none}#bbpress-forums div.bbp-forum-author,#bbpress-forums div.bbp-reply-author,#bbpress-forums div.bbp-topic-author{float:left;text-align:center;width:115px}#bbpress-forums div.bbp-forum-author img.avatar,#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{border:none;max-width:80px;padding:0;margin:12px auto 0;float:none}#bbpress-forums div.bbp-forum-author .bbp-author-name,#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{margin:0 12px;word-wrap:break-word;display:inline-block}#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{clear:left;display:block}#bbpress-forums div.bbp-forum-author .bbp-author-role,#bbpress-forums div.bbp-reply-author .bbp-author-role,#bbpress-forums div.bbp-topic-author .bbp-author-role{font-size:11px;font-style:italic}#bbpress-forums li.bbp-footer .bbp-forum-author,#bbpress-forums li.bbp-footer .bbp-reply-author,#bbpress-forums li.bbp-footer .bbp-search-author,#bbpress-forums li.bbp-footer .bbp-topic-author,#bbpress-forums li.bbp-header .bbp-forum-author,#bbpress-forums li.bbp-header .bbp-reply-author,#bbpress-forums li.bbp-header .bbp-search-author,#bbpress-forums li.bbp-header .bbp-topic-author{float:left;margin:0;padding:0;width:120px}#bbpress-forums li.bbp-footer .bbp-forum-content,#bbpress-forums li.bbp-footer .bbp-reply-content,#bbpress-forums li.bbp-footer .bbp-search-content,#bbpress-forums li.bbp-footer .bbp-topic-content,#bbpress-forums li.bbp-header .bbp-forum-content,#bbpress-forums li.bbp-header .bbp-reply-content,#bbpress-forums li.bbp-header .bbp-search-content,#bbpress-forums li.bbp-header .bbp-topic-content{margin-left:140px;padding:0;text-align:left}div.bbp-forum-header,div.bbp-reply-header,div.bbp-topic-header,li.bbp-body div.hentry{margin:0;overflow:hidden;padding:8px}div.bbp-forum-header,div.bbp-reply-header,div.bbp-topic-header{border-top:1px solid #ddd;clear:both}span.bbp-author-ip{font-size:11px;font-weight:700;word-wrap:break-word;color:#aaa}#bbpress-forums div.bbp-forum-content,#bbpress-forums div.bbp-reply-content,#bbpress-forums div.bbp-topic-content{margin-left:130px;padding:12px 12px 12px 0;text-align:left;position:relative}#bbpress-forums div.bbp-forum-content:after,#bbpress-forums div.bbp-reply-content:after,#bbpress-forums div.bbp-topic-content:after{clear:both;content:".";display:block;float:none;height:0;font-size:0;visibility:hidden}#bbpress-forums div.bbp-reply-content a,#bbpress-forums div.bbp-topic-content a{background:0 0;border:none;display:inline;font-weight:400;margin:0;padding:0}#bbpress-forums div.bbp-reply-content a.bbp-user-mention,#bbpress-forums div.bbp-topic-content a.bbp-user-mention{background:0 0;border:none;text-decoration:none;text-shadow:none;display:inline;font-weight:600;margin:0;padding:0}#bbpress-forums div.bbp-reply-content h1,#bbpress-forums div.bbp-reply-content h2,#bbpress-forums div.bbp-reply-content h3,#bbpress-forums div.bbp-reply-content h4,#bbpress-forums div.bbp-reply-content h5,#bbpress-forums div.bbp-reply-content h6,#bbpress-forums div.bbp-topic-content h1,#bbpress-forums div.bbp-topic-content h2,#bbpress-forums div.bbp-topic-content h3,#bbpress-forums div.bbp-topic-content h4,#bbpress-forums div.bbp-topic-content h5,#bbpress-forums div.bbp-topic-content h6{clear:none;line-height:1;margin:24px 0;padding:0}#bbpress-forums div.bbp-reply-content img,#bbpress-forums div.bbp-topic-content img{max-width:100%;height:auto}#bbpress-forums div.bbp-reply-content ol,#bbpress-forums div.bbp-reply-content ul,#bbpress-forums div.bbp-topic-content ol,#bbpress-forums div.bbp-topic-content ul{margin:0 15px 15px;padding:0}#bbpress-forums div.bbp-reply-content ul li,#bbpress-forums div.bbp-topic-content ul li{list-style-type:disc}#bbpress-forums div.bbp-reply-content ol li,#bbpress-forums div.bbp-topic-content ol li{list-style-type:decimal}#bbpress-forums div.bbp-reply-content ol li li,#bbpress-forums div.bbp-topic-content ol li li{list-style-type:lower-alpha}#bbpress-forums div.bbp-reply-content ol li li li,#bbpress-forums div.bbp-topic-content ol li li li{list-style-type:upper-roman}#bbpress-forums div.bbp-reply-content code,#bbpress-forums div.bbp-reply-content pre,#bbpress-forums div.bbp-topic-content code,#bbpress-forums div.bbp-topic-content pre{font-family:Inconsolata,Consolas,Monaco,"Lucida Console",monospace;display:inline-block;background-color:#f9f9f9;border:1px solid #ddd;padding:0 5px;max-width:95%;vertical-align:middle;margin-top:-3px;overflow-x:auto}#bbpress-forums div.bbp-reply-content pre,#bbpress-forums div.bbp-topic-content pre{display:block;line-height:18px;margin:0 0 24px;padding:5px 10px;white-space:pre;overflow:auto}#bbpress-forums div.bbp-reply-content pre code,#bbpress-forums div.bbp-topic-content pre code{display:block;border:none;padding:0;margin:0;background-color:transparent;overflow-wrap:normal;overflow:auto;max-width:100%}#bbpress-forums div.bbp-reply-content iframe.wp-embedded-content,#bbpress-forums div.bbp-topic-content iframe.wp-embedded-content{position:relative}#bbpress-forums div.bbp-reply-to{margin-left:130px;padding:12px 12px 12px 0;text-align:right}#bbpress-forums div#bbp-cancel-reply-to{text-align:right}div.bbp-breadcrumb{float:left}div.bbp-breadcrumb,div.bbp-topic-tags{font-size:12px}#bbpress-forums div.bbp-breadcrumb p,#bbpress-forums div.bbp-topic-tags p{margin-bottom:10px}#bbpress-forums div.bbp-topic-tags{float:right;clear:both}#bbp-topic-hot-tags{clear:both}#bbpress-forums #bbp-search-form{clear:left}#bbpress-forums #bbp-search-form .hidden{height:0;width:0;overflow:hidden;position:absolute;background:0 0;left:-999em}#bbpress-forums #bbp-search-form #bbp_search{display:inline-block;width:auto}#bbpress-forums div.bbp-search-form{float:right}span.bbp-admin-links{float:right;color:#ddd}span.bbp-admin-links a{color:#bbb;font-weight:400;font-size:10px;text-transform:uppercase;text-decoration:none}fieldset span.bbp-admin-links{float:left}tr td span.bbp-admin-links a:hover{color:#ff4b33}td.bbp-topic-admin-links,td.bbp-topic-counts{width:50%}.bbp-forum-header a.bbp-forum-permalink,.bbp-reply-header a.bbp-reply-permalink,.bbp-topic-header a.bbp-topic-permalink{float:right;margin-left:10px;color:#ccc}.bbp-row-actions #favorite-toggle a{text-decoration:none;padding:0 3px 1px;color:#7c7;border:1px solid #aca;background-color:#dfd;font-weight:700;font-size:12px}.bbp-row-actions #favorite-toggle a:hover{color:#5a5;border-color:#7c7;background-color:#beb}.bbp-row-actions #favorite-toggle span.is-favorite a{color:#faa;border:1px solid #faa;background-color:#fee}.bbp-row-actions #favorite-toggle span.is-favorite a:hover{color:#c88;border-color:#c88;background-color:#fdd}.bbp-row-actions #subscription-toggle a{text-decoration:none;padding:0 3px 1px;color:#7c7;border:1px solid #aca;background-color:#dfd;font-weight:700;font-size:12px}.bbp-row-actions #subscription-toggle a:hover{color:#5a5;border-color:#7c7;background-color:#beb}.bbp-row-actions #subscription-toggle span.is-subscribed a{color:#faa;border:1px solid #faa;background-color:#fee}.bbp-row-actions #subscription-toggle span.is-subscribed a:hover{color:#c88;border-color:#c88;background-color:#fdd}#bbpress-forums .bbp-forum-info .bbp-forum-content,#bbpress-forums p.bbp-topic-meta{font-size:11px;margin:5px 0;padding:0;word-wrap:break-word}#bbpress-forums p.bbp-topic-meta span{white-space:nowrap}.bbp-pagination-count{float:left;border:1px solid transparent}.bbp-pagination-links{float:right;list-style:none;display:inline}.bbp-pagination{float:left;width:100%;margin-bottom:15px}#bbpress-forums .bbp-pagination-links a,#bbpress-forums .bbp-pagination-links span.current{display:block;float:left;font-size:12px;line-height:18px;padding:0 5px;margin-left:5px;border:1px solid #efefef;border-radius:0;background:0 0;color:inherit;text-decoration:none}#bbpress-forums .bbp-pagination-links span.dots{display:block;float:left;padding:1px 4px;margin-left:5px}#bbpress-forums .bbp-topic-pagination{display:inline-block;margin-left:5px;margin-bottom:2px}#bbpress-forums .bbp-topic-pagination a{font-size:10px;line-height:10px;padding:1px 3px;border:1px solid #ddd;color:inherit;text-decoration:none}#bbpress-forums .bbp-pagination-links a:hover,#bbpress-forums .bbp-pagination-links span.current,#bbpress-forums .bbp-topic-pagination a:hover{background:#eee;opacity:.8;border:1px solid #ddd}#bbpress-forums fieldset.bbp-form{clear:left;border:1px solid #eee;padding:10px 20px;margin-bottom:10px}#bbpress-forums fieldset.bbp-form legend{padding:5px;width:auto;border:none}#bbpress-forums fieldset.bbp-form label{margin:0;display:inline-block}#bbp-edit-topic-tag.bbp-form fieldset.bbp-form label,#bbp-login fieldset label,#bbp-lost-pass fieldset label,#bbp-register fieldset label{width:100px}#bbpress-forums fieldset.bbp-form input,#bbpress-forums fieldset.bbp-form p,#bbpress-forums fieldset.bbp-form select,#bbpress-forums fieldset.bbp-form textarea{margin:0 0 8px}textarea#bbp_forum_content,textarea#bbp_reply_content,textarea#bbp_topic_content{width:97%;box-sizing:border-box}textarea#bbp_forum_content{height:210px}#bbpress-forums fieldset.bbp-forum-form-attributes{width:200px;float:right;clear:none;margin-left:25px}#bbpress-forums fieldset select#bbp_forum_id{max-width:200px}.bbp-reply-form,.bbp-topic-form,.bbp-topic-tag-form{clear:left}body.reply-edit .bbp-reply-form div.avatar img,body.single-forum .bbp-topic-form div.avatar img,body.single-reply .bbp-reply-form div.avatar img,body.topic-edit .bbp-topic-form div.avatar img{margin-right:0;padding:10px;border:1px solid #ddd;line-height:0;background-color:#efefef}body.page .bbp-reply-form code,body.page .bbp-topic-form code,body.reply-edit .bbp-reply-form code,body.single-forum .bbp-topic-form code,body.single-topic .bbp-reply-form code,body.topic-edit .bbp-topic-form code{font-size:10px;background-color:#f0fff8;border:1px solid #ceefe1;display:block;padding:8px;margin-top:5px;width:369px}#delete_tag,#merge_tag{display:inline}div.bbp-submit-wrapper{margin-top:15px;float:right;clear:both}p.form-allowed-tags{max-width:100%}#bbpress-forums div.bbp-the-content-wrapper{margin-bottom:10px}#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content{width:100%;margin:0;font-size:12px}#bbpress-forums div.bbp-the-content-wrapper table,#bbpress-forums div.bbp-the-content-wrapper tbody,#bbpress-forums div.bbp-the-content-wrapper td,#bbpress-forums div.bbp-the-content-wrapper tr{border:none;padding:0;margin:0;width:auto;line-height:1}#bbpress-forums div.bbp-the-content-wrapper input[type=button]{padding:5px 7px;margin:0 -1px 0 0;line-height:1;border:1px solid transparent;background-color:transparent;box-shadow:none;text-shadow:none;border-radius:0;text-transform:uppercase;font-size:11px}#bbpress-forums div.bbp-the-content-wrapper input[type=button]:hover{border-color:rgba(0,0,0,.1);background-color:rgba(255,255,255,.5)}#bbpress-forums div.bbp-the-content-wrapper div.quicktags-toolbar{padding:5px;min-height:26px}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar{padding:4px 4px 8px}#bbpress-forums div.wp-editor-container{margin:0;padding:0;line-height:0}#bbpress-forums div.bbp-the-content-wrapper td.mceStatusbar{line-height:16px}#bbpress-forums #bbp-your-profile fieldset{padding:20px 20px 0}#bbpress-forums #bbp-your-profile fieldset div{margin-bottom:20px;float:left;width:100%;clear:left}#bbpress-forums #bbp-your-profile fieldset select{margin-bottom:0;width:60%;background-color:#f9f9f9;border:1px solid #ddd}#bbpress-forums #bbp-your-profile fieldset input,#bbpress-forums #bbp-your-profile fieldset textarea{margin-bottom:0;width:60%;background-color:#f9f9f9;border:1px solid #ddd;box-shadow:none;border-radius:0}#bbpress-forums #bbp-your-profile fieldset input:focus,#bbpress-forums #bbp-your-profile fieldset textarea:focus{border:1px solid #ccc;box-shadow:inset 1px 1px 1px rgba(0,0,0,.1);outline-color:rgba(240,255,240,.1)}#bbpress-forums #bbp-your-profile fieldset.bbp-form input.checkbox{width:auto}#bbpress-forums #bbp-your-profile fieldset legend{display:none}#bbpress-forums #bbp-your-profile fieldset label[for]{float:left;width:20%;padding:5px 20px 5px 0;text-align:right;cursor:pointer}#bbpress-forums #bbp-your-profile fieldset dl label[for]{text-align:left;width:60%}#bbpress-forums #bbp-your-profile fieldset p.description{margin:5px 0 0 20%;font-size:12px;font-style:italic;float:left;clear:left;width:60%;padding:5px 8px;border:#cee1ef 1px solid;background-color:#f0f8ff}#bbpress-forums #bbp-your-profile fieldset fieldset{margin:0;border:none;padding:0;clear:none;float:none}#bbpress-forums #bbp-your-profile fieldset fieldset.capabilities dl{margin:0}#bbpress-forums #bbp-your-profile fieldset.submit button{float:right}#bbpress-forums #bbp-your-profile fieldset fieldset.password{width:60%;display:inline}#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-button-wrapper,#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-input-wrapper{width:100%;margin:0;display:inline-block}#bbpress-forums #bbp-your-profile fieldset fieldset.password .password-button-wrapper button{width:46%;margin:4% 2%;box-sizing:border-box;display:inline-block}#bbpress-forums #bbp-your-profile fieldset fieldset.password input,#bbpress-forums #bbp-your-profile fieldset fieldset.passwword textarea{width:100%}#bbpress-forums #bbp-your-profile fieldset fieldset.password button .dashicons{display:none}#bbpress-forums #bbp-your-profile fieldset fieldset.password span.description{margin-left:0;margin-bottom:20px}#bbpress-forums #password #pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:0;padding:8px;text-align:center;box-sizing:border-box;display:inline-block}#bbpress-forums #password #pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#bbpress-forums #password #pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#bbpress-forums #password #pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#bbpress-forums #password #pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#bbpress-forums #password #pass1-text.short,#bbpress-forums #password #pass1.short{border-color:#e35b5b}#bbpress-forums #password #pass1-text.bad,#bbpress-forums #password#pass1.bad{border-color:#f78b53}#bbpress-forums #password #pass1-text.good,#bbpress-forums #password #pass1.good{border-color:#ffc733}#bbpress-forums #password #pass1-text.strong,#bbpress-forums #password #pass1.strong{border-color:#83c373}#bbpress-forums .indicator-hint{padding-top:8px}#bbpress-forums #pass1-text,#bbpress-forums .pw-weak,#bbpress-forums .show-password #pass1{display:none}#bbpress-forums .show-password #pass1-text{display:inline-block}div.bbp-template-notice,div.indicator-hint{border-width:1px;border-style:solid;padding:0 .6em;margin:5px 0 15px;border-radius:3px;background-color:#ffffe0;border-color:#e6db55;color:#000;clear:both}div.bbp-template-notice a{color:#555;text-decoration:none}div.bbp-template-notice a:hover{color:#000}div.bbp-template-notice.info{border:#cee1ef 1px solid;background-color:#f0f8ff}div.bbp-template-notice.important{border:#e6db55 1px solid;background-color:#fffbcc}div.bbp-template-notice.error,div.bbp-template-notice.warning{background-color:#ffebe8;border-color:#c00}div.bbp-template-notice.error a,div.bbp-template-notice.warning a{color:#c00}div.bbp-template-notice li,div.bbp-template-notice p{margin:.5em 0 6px!important;padding:2px;font-size:12px;line-height:1.4}.bbp-forum-content ul.sticky,.bbp-topics ul.sticky,.bbp-topics ul.super-sticky,.bbp-topics-front ul.super-sticky{background-color:#ffffe0!important;font-size:1.1em}#bbpress-forums .bbp-reply-content ul.bbp-reply-revision-log,#bbpress-forums .bbp-reply-content ul.bbp-topic-revision-log,#bbpress-forums .bbp-topic-content ul.bbp-topic-revision-log{border-top:1px dotted #ddd;width:100%;margin:0;padding:8px 0 0;font-size:11px;color:#aaa}#bbpress-forums .bbp-reply-content ul.bbp-reply-revision-log li,#bbpress-forums .bbp-reply-content ul.bbp-topic-revision-log li,#bbpress-forums .bbp-topic-content ul.bbp-topic-revision-log li{list-style-type:none}.bbp-login-form fieldset legend{display:none}.bbp-login-form .bbp-email input,.bbp-login-form .bbp-password input,.bbp-login-form .bbp-username input{padding:5px}.bbp-login-form label{width:140px;display:inline-block}#sidebar .bbp-login-form label{width:70px}.bbp-login-form .bbp-email,.bbp-login-form .bbp-password,.bbp-login-form .bbp-remember-me,.bbp-login-form .bbp-submit-wrapper,.bbp-login-form .bbp-username{margin-top:10px}.bbp-login-form .bbp-submit-wrapper{text-align:right}.bbp-login-form .bbp-login-links a{float:left;clear:left}.bbp-logged-in img.avatar{float:left;margin:0 15px 0 0}.bbp-logged-in h4{font-weight:700;font-size:1.3em;clear:none;margin-bottom:10px}#bbpress-forums img.avatar{box-shadow:none;display:inline-block}#bbpress-forums .widget_display_replies img.avatar,#bbpress-forums .widget_display_topics img.avatar,#bbpress-forums div.bbp-template-notice img.avatar,#bbpress-forums p.bbp-topic-meta img.avatar,#bbpress-forums ul.bbp-reply-revision-log img.avatar,#bbpress-forums ul.bbp-topic-revision-log img.avatar{float:none;vertical-align:middle;border:3px double #ddd}fieldset div.avatar{float:right}.activity-list li.bbp_reply_create .activity-content .activity-inner,.activity-list li.bbp_topic_create .activity-content .activity-inner{border-left:2px solid #eaeaea;margin-left:5px;padding-left:10px}#bbpress-forums h1{clear:none;font-size:1.8em;line-height:1;padding-bottom:10px}#bbpress-forums #bbp-user-wrapper{float:left;width:100%}#bbpress-forums .bbp-user-section{overflow:auto;clear:right}#bbpress-forums #bbp-user-wrapper h2.entry-title{font-size:1.4em;margin:0;padding-bottom:10px;padding-top:0;clear:none}#bbpress-forums #bbp-user-wrapper fieldset.bbp-form,#bbpress-forums #bbp-user-wrapper ul.bbp-forums,#bbpress-forums #bbp-user-wrapper ul.bbp-lead-topic,#bbpress-forums #bbp-user-wrapper ul.bbp-replies,#bbpress-forums #bbp-user-wrapper ul.bbp-topics{clear:none}#bbpress-forums #bbp-single-user-details{margin:0;width:150px;float:left;overflow:hidden}#bbpress-forums #bbp-single-user-details #bbp-user-avatar{margin:0;width:150px}#bbpress-forums #bbp-single-user-details #bbp-user-avatar img.avatar{border:none;height:150px;padding:0;margin:0 0 20px;width:150px}#bbpress-forums #bbp-single-user-details #bbp-user-description{float:none;margin-left:180px}#bbpress-forums #bbp-single-user-details #bbp-user-navigation{float:none;margin:0}#bbpress-forums #bbp-single-user-details #bbp-user-navigation li{margin:0}#bbpress-forums #bbp-single-user-details #bbp-user-navigation a{padding:5px 8px;display:block;border:1px solid transparent;text-decoration:none}#bbpress-forums #bbp-single-user-details #bbp-user-navigation li.current a{background:#eee;opacity:.8}#bbpress-forums #bbp-user-body{margin-left:180px}body.my-account #bbpress-forums{border-top:none;padding-top:0;margin-bottom:0}#bbpress-forums dl.bbp-user-capabilities{display:inline-block;vertical-align:top}#bbpress-forums dl.bbp-user-capabilities dt{margin:0 0 10px;text-transform:capitalize}#bbpress-forums dl.bbp-user-capabilities dd{margin:0;padding:0}#bbpress-forums div.row-actions{font-size:11px;visibility:hidden}#bbpress-forums li:hover>div.row-actions{visibility:visible}.bbp-alert-outer{height:100%;width:100%;top:0;left:0;position:fixed;background-color:rgba(0,0,0,.2);z-index:99999}.bbp-alert-inner{width:350px;text-align:center;background:#fff;position:fixed;top:50%;left:50%;margin-top:-75px;margin-left:-185px;border-radius:3px;border:1px solid #aaa;padding:15px 10px 10px}.bbp-alert-outer .bbp-alert-inner p{margin:10px 0}.bbp-alert-actions a{padding:5px 20px;text-decoration:none}@media only screen and (max-width:480px){#bbpress-forums div.bbp-topic-tags{clear:left;float:left}div.bbp-search-form button,div.bbp-search-form input{font-size:11px;padding:2px}li.bbp-forum-info,li.bbp-topic-title{width:45%}li.bbp-forum-reply-count,li.bbp-forum-topic-count,li.bbp-topic-reply-count,li.bbp-topic-voice-count{width:15%}span.bbp-reply-post-date,span.bbp-topic-post-date{float:left}span.bbp-admin-links{clear:left;float:left}#bbpress-forums .bbp-forums-list li,#bbpress-forums .bbp-forums-list span{display:block;font-size:11px}#bbpress-forums .bbp-body div.bbp-reply-author,#bbpress-forums .bbp-body div.bbp-topic-author{margin:-15px 10px 10px;min-height:100px;padding-left:80px;position:relative;text-align:left;width:100%}#bbpress-forums div.bbp-reply-author .bbp-author-name,#bbpress-forums div.bbp-topic-author .bbp-author-name{clear:none;display:inline-block;margin-left:0;word-wrap:break-word}#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{position:absolute;top:15px;left:0;width:60px;height:auto}#bbpress-forums div.bbp-reply-author .bbp-author-role,#bbpress-forums div.bbp-topic-author .bbp-author-role{font-size:12px;font-style:normal}#bbpress-forums .bbp-body div.bbp-reply-content,#bbpress-forums .bbp-body div.bbp-topic-content{clear:both;margin:10px;padding:0}#bbpress-forums div.bbp-reply-content p,#bbpress-forums div.bbp-topic-content p{margin-bottom:1em}div.bbp-submit-wrapper{float:left}#bbpress-forums fieldset.bbp-form{padding:0 10px 10px}#bbpress-forums #bbp-user-body{clear:both;margin-left:0;word-wrap:break-word}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:14px}}@media only screen and (max-width:320px){#bbpress-forums div.bbp-search-form{margin-bottom:10px}#bbpress-forums li.bbp-body li.bbp-forum-info,#bbpress-forums li.bbp-body li.bbp-topic-title,#bbpress-forums li.bbp-header li.bbp-forum-info,#bbpress-forums li.bbp-header li.bbp-topic-title{width:100%}#bbpress-forums li.bbp-header li.bbp-forum-info,#bbpress-forums li.bbp-header li.bbp-topic-title{text-align:center;text-transform:uppercase}#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count,#bbpress-forums li.bbp-header li.bbp-forum-reply-count,#bbpress-forums li.bbp-header li.bbp-forum-topic-count,#bbpress-forums li.bbp-header li.bbp-topic-reply-count,#bbpress-forums li.bbp-header li.bbp-topic-voice-count{width:20%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{width:58%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count{margin-top:7px}#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-header{font-size:10px}#bbpress-forums li.bbp-header div.bbp-reply-author,#bbpress-forums li.bbp-header div.bbp-search-author,#bbpress-forums li.bbp-header div.bbp-topic-author{text-align:left;width:25%}#bbpress-forums li.bbp-header div.bbp-reply-content,#bbpress-forums li.bbp-header div.bbp-search-content,#bbpress-forums li.bbp-header div.bbp-topic-content{margin-left:25%}#bbpress-forums div.bbp-template-notice img.avatar,#bbpress-forums p.bbp-topic-meta img.avatar{width:14px;height:auto}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar{padding:1px}#bbpress-forums div.bbp-the-content-wrapper td.mceToolbar td{width:20px;height:20px}#bbpress-forums div.wp-editor-container{width:100%;overflow:auto}#bbpress-forums input#bbp_topic_tags,#bbpress-forums input#bbp_topic_title{width:95%}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:14px}}@media only screen and (max-width:240px){#bbpress-forums li.bbp-body li.bbp-forum-reply-count,#bbpress-forums li.bbp-body li.bbp-forum-topic-count,#bbpress-forums li.bbp-body li.bbp-topic-reply-count,#bbpress-forums li.bbp-body li.bbp-topic-voice-count,#bbpress-forums li.bbp-footer div.bbp-reply-author,#bbpress-forums li.bbp-footer div.bbp-search-author,#bbpress-forums li.bbp-footer div.bbp-topic-author,#bbpress-forums li.bbp-header li.bbp-forum-reply-count,#bbpress-forums li.bbp-header li.bbp-forum-topic-count,#bbpress-forums li.bbp-header li.bbp-topic-reply-count,#bbpress-forums li.bbp-header li.bbp-topic-voice-count{width:45%}#bbpress-forums li.bbp-body li.bbp-forum-freshness,#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{clear:both;width:100%}#bbpress-forums li.bbp-header li.bbp-forum-freshness,#bbpress-forums li.bbp-header li.bbp-topic-freshness{text-align:center}#bbpress-forums li.bbp-body li.bbp-topic-freshness,#bbpress-forums li.bbp-header div.bbp-reply-author,#bbpress-forums li.bbp-header div.bbp-reply-content,#bbpress-forums li.bbp-header div.bbp-search-author,#bbpress-forums li.bbp-header div.bbp-search-content,#bbpress-forums li.bbp-header div.bbp-topic-author,#bbpress-forums li.bbp-header div.bbp-topic-content{margin-left:0;text-align:left}#bbpress-forums li.bbp-body li.bbp-topic-freshness p.bbp-topic-meta{display:inline-block}#bbpress-forums li.bbp-header{overflow:hidden}#bbpress-forums li.bbp-footer div.bbp-reply-content,#bbpress-forums li.bbp-footer div.bbp-search-content,#bbpress-forums li.bbp-footer div.bbp-topic-content{display:inline-block;margin-left:0}#bbpress-forums li.bbp-body div.bbp-reply-author,#bbpress-forums li.bbp-body div.bbp-topic-author{min-height:60px;padding-left:60px}#bbpress-forums div.bbp-reply-author img.avatar,#bbpress-forums div.bbp-topic-author img.avatar{width:40px;height:auto}#bbpress-forums div.bbp-forum-title h3,#bbpress-forums div.bbp-reply-title h3,#bbpress-forums div.bbp-topic-title h3{font-size:12px}}