BuddyPress - Version 2.8.0-RC1

Version Description

= 2.8.0 = See: https://codex.buddypress.org/releases/version-2-8-0/

Download this release

Release Info

Developer boonebgorges
Plugin Icon 128x128 BuddyPress
Version 2.8.0-RC1
Comparing to
See all releases

Code changes from version 2.8.0-beta1 to 2.8.0-RC1

Files changed (62) hide show
  1. bp-activity/bp-activity-functions.php +1 -1
  2. bp-activity/bp-activity-template.php +49 -7
  3. bp-activity/classes/class-bp-activity-list-table.php +1 -0
  4. bp-blogs/bp-blogs-activity.php +1 -1
  5. bp-core/admin/css/common-rtl.css +131 -132
  6. bp-core/admin/css/common-rtl.min.css +1 -1
  7. bp-core/admin/css/common.css +131 -132
  8. bp-core/admin/css/common.min.css +1 -1
  9. bp-core/admin/images/list-unsubscribe.png +0 -0
  10. bp-core/admin/images/pending-accounts.png +0 -0
  11. bp-core/admin/images/twenty-seventeen.png +0 -0
  12. bp-core/bp-core-functions.php +43 -3
  13. bp-core/classes/class-bp-admin.php +116 -116
  14. bp-core/classes/class-bp-attachment-cover-image.php +291 -291
  15. bp-core/classes/class-bp-core-user.php +0 -10
  16. bp-core/js/cover-image.js +277 -277
  17. bp-groups/admin/css/admin-rtl.css +2 -2
  18. bp-groups/admin/css/admin-rtl.min.css +1 -1
  19. bp-groups/admin/css/admin.css +2 -2
  20. bp-groups/admin/css/admin.min.css +1 -1
  21. bp-groups/bp-groups-admin.php +1 -1
  22. bp-groups/bp-groups-screens.php +0 -16
  23. bp-groups/classes/class-bp-groups-component.php +18 -1
  24. bp-loader.php +1 -1
  25. bp-members/classes/class-bp-members-admin.php +72 -2
  26. bp-templates/bp-legacy/buddypress-functions.php +6 -4
  27. bp-templates/bp-legacy/buddypress/activity/post-form.php +1 -1
  28. bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php +36 -36
  29. bp-templates/bp-legacy/buddypress/groups/single/admin/delete-group.php +41 -41
  30. bp-templates/bp-legacy/buddypress/groups/single/admin/edit-details.php +53 -53
  31. bp-templates/bp-legacy/buddypress/groups/single/admin/group-avatar.php +67 -67
  32. bp-templates/bp-legacy/buddypress/groups/single/admin/group-cover-image.php +33 -33
  33. bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php +124 -124
  34. bp-templates/bp-legacy/buddypress/groups/single/admin/manage-members.php +332 -332
  35. bp-templates/bp-legacy/buddypress/groups/single/admin/membership-requests.php +35 -35
  36. bp-templates/bp-legacy/buddypress/groups/single/cover-image-header.php +129 -129
  37. bp-templates/bp-legacy/buddypress/members/single/cover-image-header.php +106 -106
  38. bp-templates/bp-legacy/buddypress/members/single/profile/change-cover-image.php +33 -33
  39. bp-templates/bp-legacy/css/twentyeleven-rtl.css +184 -184
  40. bp-templates/bp-legacy/css/twentyeleven.css +184 -184
  41. bp-templates/bp-legacy/css/twentyeleven.scss +2577 -2577
  42. bp-templates/bp-legacy/css/twentyseventeen-rtl.css +183 -183
  43. bp-templates/bp-legacy/css/twentyseventeen.css +183 -183
  44. bp-templates/bp-legacy/css/twentyseventeen.scss +3036 -3036
  45. bp-templates/bp-legacy/css/twentysixteen-rtl.css +186 -186
  46. bp-templates/bp-legacy/css/twentysixteen.css +186 -186
  47. bp-templates/bp-legacy/css/twentysixteen.scss +2459 -2459
  48. bp-templates/bp-legacy/css/twentyten-rtl.css +184 -184
  49. bp-templates/bp-legacy/css/twentyten.css +184 -184
  50. bp-templates/bp-legacy/css/twentyten.scss +2478 -2478
  51. bp-templates/bp-legacy/css/twentythirteen-rtl.css +188 -188
  52. bp-templates/bp-legacy/css/twentythirteen.css +188 -188
  53. bp-templates/bp-legacy/css/twentythirteen.scss +2427 -2427
  54. bp-templates/bp-legacy/css/twentytwelve-rtl.css +188 -188
  55. bp-templates/bp-legacy/css/twentytwelve.css +188 -188
  56. bp-templates/bp-legacy/css/twentytwelve.scss +2517 -2517
  57. bp-xprofile/bp-xprofile-admin.php +1 -1
  58. bp-xprofile/classes/class-bp-xprofile-field-type-checkbox.php +1 -1
  59. bp-xprofile/classes/class-bp-xprofile-field-type-radiobutton.php +1 -1
  60. buddypress.pot +370 -365
  61. class-buddypress.php +1 -1
  62. humans.txt +11 -1
bp-activity/bp-activity-functions.php CHANGED
@@ -1781,7 +1781,7 @@ function bp_activity_get_specific( $args = '' ) {
1781
'sort' => 'DESC', // Sort ASC or DESC
1782
'spam' => 'ham_only', // Retrieve items marked as spam.
1783
'update_meta_cache' => true,
1784
- ) );
1785
1786
$get_args = array(
1787
'display_comments' => $r['display_comments'],
1781
'sort' => 'DESC', // Sort ASC or DESC
1782
'spam' => 'ham_only', // Retrieve items marked as spam.
1783
'update_meta_cache' => true,
1784
+ ), 'activity_get_specific' );
1785
1786
$get_args = array(
1787
'display_comments' => $r['display_comments'],
bp-activity/bp-activity-template.php CHANGED
@@ -2227,19 +2227,61 @@ function bp_activity_comment_count() {
2227
* Output the depth of the current activity comment.
2228
*
2229
* @since 2.0.0
2230
*/
2231
- function bp_activity_comment_depth() {
2232
- echo bp_activity_get_comment_depth();
2233
}
2234
/**
2235
* Return the current activity comment depth.
2236
*
2237
* @since 2.0.0
2238
*
2239
- * @return int $depth Depth for the current activity comment.
2240
*/
2241
- function bp_activity_get_comment_depth() {
2242
- global $activities_template;
2243
2244
/**
2245
* Filters the comment depth of the current activity comment.
@@ -2248,7 +2290,7 @@ function bp_activity_comment_depth() {
2248
*
2249
* @param int $depth Depth for the current activity comment.
2250
*/
2251
- return apply_filters( 'bp_activity_get_comment_depth', $activities_template->activity->current_comment->depth );
2252
}
2253
2254
/**
@@ -2884,7 +2926,7 @@ function bp_activity_can_comment_reply( $comment = false ) {
2884
// Fall back on current comment in activity loop.
2885
$comment_depth = isset( $comment->depth )
2886
? intval( $comment->depth )
2887
- : bp_activity_get_comment_depth();
2888
2889
// Threading is turned on, so check the depth.
2890
if ( get_option( 'thread_comments' ) ) {
2227
* Output the depth of the current activity comment.
2228
*
2229
* @since 2.0.0
2230
+ * @since 2.8.0 Added $comment as a parameter.
2231
+ *
2232
+ * @param object|int $comment Object of the activity comment or activity comment ID. Usually unnecessary
2233
+ * when used in activity comment loop.
2234
*/
2235
+ function bp_activity_comment_depth( $comment = 0 ) {
2236
+ echo bp_activity_get_comment_depth( $comment );
2237
}
2238
+
2239
/**
2240
* Return the current activity comment depth.
2241
*
2242
* @since 2.0.0
2243
+ * @since 2.8.0 Added $comment as a parameter.
2244
*
2245
+ * @param object|int $comment Object of the activity comment or activity comment ID. Usually unnecessary
2246
+ * when used in activity comment loop.
2247
+ * @return int
2248
*/
2249
+ function bp_activity_get_comment_depth( $comment = 0 ) {
2250
+ $depth = 0;
2251
+
2252
+ // Activity comment loop takes precedence.
2253
+ if ( isset( $GLOBALS['activities_template']->activity->current_comment->depth ) ) {
2254
+ $depth = $GLOBALS['activities_template']->activity->current_comment->depth;
2255
+
2256
+ // Get depth for activity comment manually.
2257
+ } elseif ( ! empty( $comment ) ) {
2258
+ // We passed an activity ID, so fetch the activity object.
2259
+ if ( is_int( $comment ) ) {
2260
+ $comment = new BP_Activity_Activity( $comment );
2261
+ }
2262
+
2263
+ // Recurse through activity tree to find the depth.
2264
+ if ( is_object( $comment ) && isset( $comment->type ) && 'activity_comment' === $comment->type ) {
2265
+ // Fetch the entire root comment tree... ugh.
2266
+ $comments = BP_Activity_Activity::get_activity_comments( $comment->item_id, 1, constant( 'PHP_INT_MAX' ) );
2267
+
2268
+ // Recursively find our comment object from the comment tree.
2269
+ $iterator = new RecursiveArrayIterator( $comments );
2270
+ $recursive = new RecursiveIteratorIterator( $iterator, RecursiveIteratorIterator::SELF_FIRST );
2271
+ foreach ( $recursive as $cid => $cobj ) {
2272
+ // Skip items that are not a comment object.
2273
+ if ( ! is_numeric( $cid ) || ! is_object( $cobj ) ) {
2274
+ continue;
2275
+ }
2276
+
2277
+ // We found the activity comment! Set the depth.
2278
+ if ( $cid === $comment->id && isset( $cobj->depth ) ) {
2279
+ $depth = $cobj->depth;
2280
+ break;
2281
+ }
2282
+ }
2283
+ }
2284
+ }
2285
2286
/**
2287
* Filters the comment depth of the current activity comment.
2290
*
2291
* @param int $depth Depth for the current activity comment.
2292
*/
2293
+ return apply_filters( 'bp_activity_get_comment_depth', $depth );
2294
}
2295
2296
/**
2926
// Fall back on current comment in activity loop.
2927
$comment_depth = isset( $comment->depth )
2928
? intval( $comment->depth )
2929
+ : bp_activity_get_comment_depth( $comment );
2930
2931
// Threading is turned on, so check the depth.
2932
if ( get_option( 'thread_comments' ) ) {
bp-activity/classes/class-bp-activity-list-table.php CHANGED
@@ -807,6 +807,7 @@ class BP_Activity_List_Table extends WP_List_Table {
807
$parent_activity = (object) $item;
808
} elseif ( 'activity_comment' === $item['type'] ) {
809
$parent_activity = new BP_Activity_Activity( $item['item_id'] );
810
}
811
812
if ( isset( $parent_activity->type ) && bp_activity_post_type_get_tracking_arg( $parent_activity->type, 'post_type' ) ) {
807
$parent_activity = (object) $item;
808
} elseif ( 'activity_comment' === $item['type'] ) {
809
$parent_activity = new BP_Activity_Activity( $item['item_id'] );
810
+ $can_comment = bp_activity_can_comment_reply( (object) $item );
811
}
812
813
if ( isset( $parent_activity->type ) && bp_activity_post_type_get_tracking_arg( $parent_activity->type, 'post_type' ) ) {
bp-blogs/bp-blogs-activity.php CHANGED
@@ -1300,7 +1300,7 @@ function bp_blogs_can_comment_reply( $retval, $comment ) {
1300
1301
// Check comment depth and disable if depth is too large.
1302
if ( isset( buddypress()->blogs->thread_depth[$comment->item_id] ) ){
1303
- if ( bp_activity_get_comment_depth() > buddypress()->blogs->thread_depth[$comment->item_id] ) {
1304
$retval = false;
1305
}
1306
}
1300
1301
// Check comment depth and disable if depth is too large.
1302
if ( isset( buddypress()->blogs->thread_depth[$comment->item_id] ) ){
1303
+ if ( bp_activity_get_comment_depth( $comment ) >= buddypress()->blogs->thread_depth[$comment->item_id] ) {
1304
$retval = false;
1305
}
1306
}
bp-core/admin/css/common-rtl.css CHANGED
@@ -47,6 +47,12 @@ TABLE OF CONTENTS:
47
left: 0;
48
}
49
50
@media only screen and (max-width: 500px) {
51
.about-wrap .bp-badge {
52
position: relative;
@@ -63,22 +69,20 @@ TABLE OF CONTENTS:
63
/*
64
* 1.2.1 Headline Feature
65
*/
66
- .index_page_bp-about .bp-headline-feature,
67
- .dashboard_page_bp-about .bp-headline-feature {
68
margin-bottom: 3em;
69
margin-top: 3em;
70
padding: 2em 3em;
71
}
72
73
- .index_page_bp-about .bp-headline,
74
- .dashboard_page_bp-about .bp-headline {
75
margin: 0 auto;
76
- width: 35em;
77
}
78
79
- .index_page_bp-about .bp-headline span.dashicons,
80
- .dashboard_page_bp-about .bp-headline span.dashicons {
81
background-color: #f1f1f1;
82
clear: right;
83
font-size: 100px;
84
float: right;
@@ -89,41 +93,31 @@ TABLE OF CONTENTS:
89
width: 100px;
90
}
91
92
- .index_page_bp-about .bp-headline-feature h3,
93
- .index_page_bp-about .bp-headline-feature .headline-title,
94
- .dashboard_page_bp-about .bp-headline-feature h3,
95
- .dashboard_page_bp-about .bp-headline-feature .headline-title {
96
font-size: 2.2em;
97
font-weight: 300;
98
line-height: 1;
99
- margin: 0 125px 0 0;
100
}
101
102
- .index_page_bp-about .bp-headline-feature p,
103
- .dashboard_page_bp-about .bp-headline-feature p {
104
font-size: 1.15em;
105
- margin: 1.15em 125px 0.6em auto;
106
- }
107
-
108
- .index_page_bp-about .bp-headline-feature .introduction,
109
- .dashboard_page_bp-about .bp-headline-feature .introduction {
110
- font-weight: 600;
111
}
112
113
-
114
/*
115
* 1.2.2 Features Section
116
*/
117
- .index_page_bp-about .bp-features-section,
118
- .dashboard_page_bp-about .bp-features-section {
119
clear: both;
120
margin-top: 3em;
121
overflow: hidden;
122
padding-bottom: 0;
123
}
124
125
- .index_page_bp-about span.dashicons,
126
- .dashboard_page_bp-about span.dashicons {
127
background-color: #fff;
128
border-radius: 50%;
129
clear: right;
@@ -137,42 +131,59 @@ TABLE OF CONTENTS:
137
width: 80px;
138
}
139
140
- .index_page_bp-about .bp-features-section h3,
141
- .dashboard_page_bp-about .bp-features-section h3 {
142
font-size: 2em;
143
font-weight: 300;
144
line-height: 1.5;
145
- margin: 0 auto 3em;
146
text-align: center;
147
}
148
149
- .index_page_bp-about .bp-feature,
150
- .dashboard_page_bp-about .bp-feature {
151
float: right;
152
margin-bottom: 3em;
153
margin-left: 4.799999999%;
154
width: 47.6%;
155
}
156
157
158
- .index_page_bp-about .bp-feature code,
159
- .dashboard_page_bp-about .bp-feature code{
160
font-size: 0.95em;
161
line-height: 1.5;
162
}
163
164
- .index_page_bp-about .bp-feature:nth-of-type(2n),
165
- .dashboard_page_bp-about .bp-feature:nth-of-type(2n) {
166
- margin-left: 0;
167
}
168
169
- .index_page_bp-about .bp-feature::after,
170
- .dashboard_page_bp-about .bp-feature::after {
171
- content: '';
172
}
173
174
- .index_page_bp-about .bp-feature h4,
175
- .dashboard_page_bp-about .bp-feature h4 {
176
font-size: 1.25em;
177
line-height: 1.5;
178
margin-bottom: 0;
@@ -181,65 +192,62 @@ TABLE OF CONTENTS:
181
text-align: right;
182
}
183
184
- .index_page_bp-about .bp-feature p,
185
- .dashboard_page_bp-about .bp-feature p {
186
margin-right: 110px;
187
}
188
189
/*
190
* 1.2.3 Changelog Section
191
*/
192
- .index_page_bp-about .bp-changelog-section,
193
- .dashboard_page_bp-about .bp-changelog-section {
194
clear: both;
195
- margin-bottom: 8em;
196
margin-top: 3em;
197
overflow: hidden;
198
padding-bottom: 0;
199
}
200
201
- .index_page_bp-about .bp-changelog-section::after,
202
- .dashboard_page_bp-about .bp-changelog-section::after {
203
content: '';
204
}
205
206
- .index_page_bp-about .bp-changelog-section .changelog-title,
207
- .dashboard_page_bp-about .bp-changelog-section .changelog-title {
208
color: #23282d;
209
- font-size: 1.8em;
210
- font-weight: 300;
211
line-height: 1.5;
212
- margin: 0 auto 0.5em;
213
- text-align: center;
214
}
215
216
- .index_page_bp-about .bp-changelog-section .two-col > div,
217
- .dashboard_page_bp-about .bp-changelog-section .two-col > div {
218
float: right;
219
margin-left: 4.799999999%;
220
position: relative;
221
width: 47.6%;
222
}
223
224
- .index_page_bp-about .bp-changelog-section .two-col > div.last-feature,
225
- .dashboard_page_bp-about .bp-changelog-section .two-col > div.last-feature {
226
margin-left: 0;
227
}
228
229
- .index_page_bp-about .bp-changelog,
230
- .dashboard_page_bp-about .bp-changelog {
231
margin-bottom: 3em;
232
}
233
234
- .index_page_bp-about .bp-changelog h4,
235
- .dashboard_page_bp-about .bp-changelog h4 {
236
font-size: 1em;
237
margin-bottom: 0;
238
margin-top: 0;
239
}
240
241
- .index_page_bp-about .bp-changelog p,
242
- .dashboard_page_bp-about .bp-changelog p {
243
margin-bottom: 3em;
244
}
245
@@ -250,45 +258,51 @@ TABLE OF CONTENTS:
250
.bp-assets {
251
clear: both;
252
margin-bottom: 2em;
253
}
254
255
@media screen and ( max-width: 782px ) {
256
- .index_page_bp-about .bp-headline-feature,
257
- .dashboard_page_bp-about .bp-headline-feature {
258
padding: 0;
259
}
260
- .index_page_bp-about .bp-headline,
261
- .dashboard_page_bp-about .bp-headline {
262
margin: 0;
263
width: 97%;
264
}
265
- .index_page_bp-about .bp-features-section,
266
- .dashboard_page_bp-about .bp-features-section {
267
clear: both;
268
margin-bottom: 0;
269
margin-top: 2em;
270
}
271
- .index_page_bp-about .bp-features-section h3,
272
- .dashboard_page_bp-about .bp-features-section h3,
273
- .index_page_bp-about .bp-changelog-section .changelog-title,
274
- .dashboard_page_bp-about .bp-changelog-section .changelog-title {
275
- font-size: 1.8em;
276
- font-weight: 300;
277
line-height: 1.5;
278
margin-bottom: 0.5em;
279
margin-top: 0.5em;
280
}
281
- .index_page_bp-about .bp-features-section h4,
282
- .dashboard_page_bp-about .bp-features-section h4,
283
- .index_page_bp-about .bp-changelog-section h4,
284
- .dashboard_page_bp-about .bp-changelog-section h4 {
285
font-size: 1.25em;
286
line-height: 1.25;
287
margin-top: 0.6em;
288
text-align: right;
289
}
290
- .index_page_bp-about .bp-feature,
291
- .dashboard_page_bp-about .bp-feature {
292
clear: both;
293
float: right;
294
margin-bottom: 1em;
@@ -297,53 +311,42 @@ TABLE OF CONTENTS:
297
padding-left: 1em;
298
width: 100%;
299
}
300
- .index_page_bp-about .bp-feature span,
301
- .dashboard_page_bp-about .bp-feature span {
302
- margin-top: 0.33em;
303
}
304
- .index_page_bp-about .bp-feature h4,
305
- .dashboard_page_bp-about .bp-feature h4,
306
- .index_page_bp-about .bp-feature p,
307
- .dashboard_page_bp-about .bp-feature p {
308
- width: 100%;
309
}
310
- .index_page_bp-about .bp-feature.opposite h4,
311
- .dashboard_page_bp-about .bp-feature.opposite h4,
312
- .index_page_bp-about .bp-feature.opposite p,
313
- .dashboard_page_bp-about .bp-feature.opposite p {
314
float: none;
315
}
316
- .index_page_bp-about .bp-changelog-section,
317
- .dashboard_page_bp-about .bp-changelog-section {
318
clear: both;
319
margin-bottom: 2em;
320
}
321
- .index_page_bp-about .bp-changelog-section .changelog-title,
322
- .dashboard_page_bp-about .bp-changelog-section .changelog-title {
323
- margin-bottom: 1em;
324
}
325
- .index_page_bp-about .bp-changelog h4,
326
- .dashboard_page_bp-about .bp-changelog h4 {
327
font-size: 1em;
328
}
329
- .index_page_bp-about .bp-changelog p,
330
- .dashboard_page_bp-about .bp-changelog p {
331
- margin-bottom: 2em;
332
}
333
- .index_page_bp-about .bp-changelog-section .two-col > div,
334
- .dashboard_page_bp-about .bp-changelog-section .two-col > div {
335
margin-top: 0;
336
padding-bottom: 0.5em;
337
width: 100%;
338
}
339
}
340
@media screen and ( max-width: 360px ) {
341
- .index_page_bp-about .bp-headline,
342
- .dashboard_page_bp-about .bp-headline {
343
text-align: center;
344
}
345
- .index_page_bp-about .bp-headline span.dashicons,
346
- .dashboard_page_bp-about .bp-headline span.dashicons {
347
clear: none;
348
font-size: 80px;
349
float: none;
@@ -352,39 +355,28 @@ TABLE OF CONTENTS:
352
margin: 0 auto;
353
width: 80px;
354
}
355
- .index_page_bp-about .bp-headline-feature h3,
356
- .index_page_bp-about .bp-headline-feature .headline-title,
357
- .dashboard_page_bp-about .bp-headline-feature h3,
358
- .dashboard_page_bp-about .bp-headline-feature .headline-title {
359
- margin: 1em 0 0 0;
360
text-align: right;
361
}
362
- .index_page_bp-about .bp-headline-feature p,
363
- .dashboard_page_bp-about .bp-headline-feature p {
364
margin: 1.15em 0 0.6em auto;
365
text-align: right;
366
- }
367
- .index_page_bp-about .bp-headline-feature .headline-title,
368
- .dashboard_page_bp-about .bp-headline-feature .headline-title {
369
- font-size: 1.5em;
370
- line-height: 1.5;
371
- }
372
- .index_page_bp-about .bp-headline-feature p,
373
- .dashboard_page_bp-about .bp-headline-feature p {
374
width: auto;
375
}
376
- .index_page_bp-about .bp-feature,
377
- .dashboard_page_bp-about .bp-feature {
378
text-align: center;
379
}
380
- .index_page_bp-about span.dashicons,
381
- .dashboard_page_bp-about span.dashicons {
382
float: none;
383
}
384
- .index_page_bp-about .bp-features-section h4,
385
- .dashboard_page_bp-about .bp-features-section h4,
386
- .index_page_bp-about .bp-features-section p,
387
- .dashboard_page_bp-about .bp-features-section p {
388
margin-right: 0;
389
text-align: right;
390
}
@@ -553,6 +545,13 @@ body.users_page_bp-signups td.count_sent {
553
text-align: center;
554
}
555
556
557
/*------------------------------------------------------------------------------
558
* 4.0 Emails - Edit Page
47
left: 0;
48
}
49
50
+ .buddypress code {
51
+ background-color: #e0e0e0;
52
+ color: #636363;
53
+ font-size: 1em;
54
+ }
55
+
56
@media only screen and (max-width: 500px) {
57
.about-wrap .bp-badge {
58
position: relative;
69
/*
70
* 1.2.1 Headline Feature
71
*/
72
+ .buddypress .bp-headline-feature {
73
margin-bottom: 3em;
74
margin-top: 3em;
75
padding: 2em 3em;
76
}
77
78
+ .buddypress .bp-headline {
79
margin: 0 auto;
80
+ width: 45em;
81
}
82
83
+ .buddypress .bp-headline span.dashicons {
84
background-color: #f1f1f1;
85
+ color: #d84800;
86
clear: right;
87
font-size: 100px;
88
float: right;
93
width: 100px;
94
}
95
96
+ .buddypress .bp-headline-feature .headline-title {
97
font-size: 2.2em;
98
font-weight: 300;
99
line-height: 1;
100
+ margin: 0;
101
+ text-align: center;
102
}
103
104
+ .buddypress .bp-headline-feature p {
105
font-size: 1.15em;
106
+ margin: 1.15em 0 0.6em auto;
107
}
108
109
/*
110
* 1.2.2 Features Section
111
*/
112
+ .buddypress .bp-features-section {
113
+ border-bottom: 1px solid #ccc;
114
clear: both;
115
margin-top: 3em;
116
overflow: hidden;
117
padding-bottom: 0;
118
}
119
120
+ .buddypress .bp-features-section span.dashicons {
121
background-color: #fff;
122
border-radius: 50%;
123
clear: right;
131
width: 80px;
132
}
133
134
+ .buddypress .bp-features-section .headline-title {
135
font-size: 2em;
136
font-weight: 300;
137
line-height: 1.5;
138
+ margin: 0 auto 2em;
139
text-align: center;
140
}
141
142
+ .buddypress .bp-features-section .bp-feature-with-images {
143
+ border-bottom: 1px solid #ccc;
144
+ margin-bottom: 5em;
145
+ padding-bottom: 2em;
146
+ }
147
+
148
+ .buddypress .bp-features-section .bp-feature,
149
+ .buddypress .bp-features-section .bp-feature-imaged {
150
float: right;
151
margin-bottom: 3em;
152
margin-left: 4.799999999%;
153
width: 47.6%;
154
}
155
156
+ .buddypress .bp-features-section .bp-feature.opposite,
157
+ .buddypress .bp-features-section .bp-feature-imaged.anon {
158
+ margin-left: 0;
159
+ }
160
161
+ .buddypress .bp-features-section .bp-feature code {
162
font-size: 0.95em;
163
line-height: 1.5;
164
}
165
166
+ .buddypress .bp-feature::after {
167
+ content: '';
168
}
169
170
+ .buddypress .bp-feature-imaged .feature-title {
171
+ color: #23282d;
172
+ font-size: 1.25em;
173
+ margin-bottom: 0.6em;
174
+ margin-top: 0;
175
}
176
177
+ .buddypress .bp-feature-imaged p {
178
+ clear: right;
179
+ font-size: 1.1em;
180
+ }
181
+
182
+ .buddypress .bp-feature-imaged img {
183
+ clear: right;
184
+ }
185
+
186
+ .buddypress .bp-feature .feature-title {
187
font-size: 1.25em;
188
line-height: 1.5;
189
margin-bottom: 0;
192
text-align: right;
193
}
194
195
+ .buddypress .bp-feature p {
196
margin-right: 110px;
197
}
198
199
/*
200
* 1.2.3 Changelog Section
201
*/
202
+ .buddypress .bp-changelog-section {
203
clear: both;
204
+ margin-bottom: 3em;
205
margin-top: 3em;
206
overflow: hidden;
207
padding-bottom: 0;
208
}
209
210
+ .buddypress .bp-changelog-section::after {
211
content: '';
212
}
213
214
+ .buddypress .bp-changelog-section .changelog-title {
215
color: #23282d;
216
+ font-size: 1.25em;
217
line-height: 1.5;
218
+ margin: 0 auto 1.5em;
219
}
220
221
+ .buddypress .bp-changelog-section .two-col div {
222
float: right;
223
margin-left: 4.799999999%;
224
position: relative;
225
width: 47.6%;
226
}
227
228
+ .buddypress .bp-changelog-section .three-col .col {
229
+ float: right;
230
+ margin-left: 5%;
231
+ position: relative;
232
+ width: 29.95%;
233
+ }
234
+
235
+ .buddypress .two-col .col:nth-of-type(2n),
236
+ .buddypress .three-col .col:nth-of-type(3n) {
237
margin-left: 0;
238
}
239
240
+ .buddypress .bp-changelog {
241
margin-bottom: 3em;
242
}
243
244
+ .buddypress .bp-changelog .title {
245
font-size: 1em;
246
margin-bottom: 0;
247
margin-top: 0;
248
}
249
250
+ .buddypress .bp-changelog p {
251
margin-bottom: 3em;
252
}
253
258
.bp-assets {
259
clear: both;
260
margin-bottom: 2em;
261
+ margin-top: 2em;
262
}
263
264
@media screen and ( max-width: 782px ) {
265
+ .bp-headline-feature,
266
+ .bp-features-section,
267
+ .bp-changelog-section,
268
+ .bp-assets {
269
+ margin-right: 20px;
270
+ margin-left: 20px;
271
+ }
272
+ .buddypress .bp-headline-feature {
273
padding: 0;
274
}
275
+ .buddypress .bp-headline {
276
margin: 0;
277
width: 97%;
278
}
279
+ .buddypress .bp-features-section {
280
clear: both;
281
margin-bottom: 0;
282
margin-top: 2em;
283
+ padding-bottom: 2em;
284
+ }
285
+ .buddypress .bp-features-section .bp-feature-with-images {
286
+ margin-bottom: 2em;
287
+ }
288
+ .buddypress .bp-features-section .headline-title {
289
+ margin-bottom: 1em;
290
}
291
+ .buddypress .bp-changelog-section .changelog-title {
292
+ font-size: 1.25em;
293
line-height: 1.5;
294
margin-bottom: 0.5em;
295
margin-top: 0.5em;
296
}
297
+ .buddypress .bp-features-section .feature-title,
298
+ .buddypress .bp-changelog-section .title {
299
font-size: 1.25em;
300
line-height: 1.25;
301
margin-top: 0.6em;
302
text-align: right;
303
}
304
+ .buddypress .bp-features-section .bp-feature,
305
+ .buddypress .bp-features-section .bp-feature-imaged {
306
clear: both;
307
float: right;
308
margin-bottom: 1em;
311
padding-left: 1em;
312
width: 100%;
313
}
314
+ .buddypress .bp-features-section .bp-feature-imaged p {
315
+ font-size: 1em;
316
}
317
+ .buddypress .bp-features-section .bp-feature span {
318
+ margin-top: 0.33em;
319
}
320
+ .buddypress .bp-feature.opposite .feature-title,
321
+ .buddypress .bp-feature.opposite p {
322
float: none;
323
}
324
+ .buddypress .bp-changelog-section {
325
clear: both;
326
margin-bottom: 2em;
327
+ margin-top: 2em;
328
}
329
+ .buddypress .bp-changelog-section .changelog-title {
330
+ margin-bottom: 1.5em;
331
}
332
+ .buddypress .bp-changelog .title {
333
font-size: 1em;
334
}
335
+ .buddypress .bp-changelog p {
336
+ margin-bottom: 1em;
337
}
338
+ .buddypress .bp-changelog-section .two-col > div,
339
+ .buddypress .bp-changelog-section .three-col .col {
340
margin-top: 0;
341
padding-bottom: 0.5em;
342
width: 100%;
343
}
344
}
345
@media screen and ( max-width: 360px ) {
346
+ .buddypress .bp-headline {
347
text-align: center;
348
}
349
+ .buddypress .bp-headline span.dashicons {
350
clear: none;
351
font-size: 80px;
352
float: none;
355
margin: 0 auto;
356
width: 80px;
357
}
358
+ .buddypress .bp-headline-feature .headline-title,
359
+ .buddypress .bp-features-section .headline-title {
360
+ font-size: 1.5em;
361
+ line-height: 1.5;
362
text-align: right;
363
}
364
+ .buddypress .bp-headline-feature .headline-title {
365
+ margin: 1em 0 0 0;
366
+ }
367
+ .buddypress .bp-headline-feature p {
368
margin: 1.15em 0 0.6em auto;
369
text-align: right;
370
width: auto;
371
}
372
+ .buddypress .bp-features-section .bp-feature {
373
text-align: center;
374
}
375
+ .buddypress .bp-features-section span.dashicons {
376
float: none;
377
}
378
+ .buddypress .bp-features-section .feature-title,
379
+ .buddypress .bp-features-section p {
380
margin-right: 0;
381
text-align: right;
382
}
545
text-align: center;
546
}
547
548
+ .bp-signups-list table {
549
+ margin: 1em 0;
550
+ }
551
+
552
+ .bp-signups-list .column-fields {
553
+ font-weight: bold;
554
+ }
555
556
/*------------------------------------------------------------------------------
557
* 4.0 Emails - Edit Page
bp-core/admin/css/common-rtl.min.css CHANGED
@@ -1 +1 @@
1
- .bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.dashboard_page_bp-about .bp-changelog-section::after,.dashboard_page_bp-about .bp-feature::after,.index_page_bp-about .bp-changelog-section::after,.index_page_bp-about .bp-feature::after{content:''}.about-wrap .bp-badge{position:absolute;top:0;left:0}@media only screen and (max-width:500px){.about-wrap .bp-badge{position:relative;margin:10px auto;top:auto;left:auto}}.dashboard_page_bp-about .bp-headline-feature,.index_page_bp-about .bp-headline-feature{margin-bottom:3em;margin-top:3em;padding:2em 3em}.dashboard_page_bp-about .bp-headline,.index_page_bp-about .bp-headline{margin:0 auto;width:35em}.dashboard_page_bp-about .bp-headline span.dashicons,.index_page_bp-about .bp-headline span.dashicons{background-color:#f1f1f1;clear:right;font-size:100px;float:right;height:100px;line-height:100px;margin:0 0 15px 15px;text-align:center;width:100px}.dashboard_page_bp-about .bp-headline-feature .headline-title,.dashboard_page_bp-about .bp-headline-feature h3,.index_page_bp-about .bp-headline-feature .headline-title,.index_page_bp-about .bp-headline-feature h3{font-size:2.2em;font-weight:300;line-height:1;margin:0 125px 0 0}.dashboard_page_bp-about .bp-headline-feature p,.index_page_bp-about .bp-headline-feature p{font-size:1.15em;margin:1.15em 125px .6em auto}.dashboard_page_bp-about .bp-headline-feature .introduction,.index_page_bp-about .bp-headline-feature .introduction{font-weight:600}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{clear:both;margin-top:3em;overflow:hidden;padding-bottom:0}.dashboard_page_bp-about span.dashicons,.index_page_bp-about span.dashicons{background-color:#fff;border-radius:50%;clear:right;color:#d84800;font-size:50px;float:right;height:80px;line-height:80px;margin:0 0 15px 15px;text-align:center;width:80px}.dashboard_page_bp-about .bp-features-section h3,.index_page_bp-about .bp-features-section h3{font-size:2em;font-weight:300;line-height:1.5;margin:0 auto 3em;text-align:center}.dashboard_page_bp-about .bp-feature,.index_page_bp-about .bp-feature{float:right;margin-bottom:3em;margin-left:4.799999999%;width:47.6%}.dashboard_page_bp-about .bp-feature code,.index_page_bp-about .bp-feature code{font-size:.95em;line-height:1.5}.dashboard_page_bp-about .bp-feature:nth-of-type(2n),.index_page_bp-about .bp-feature:nth-of-type(2n){margin-left:0}.dashboard_page_bp-about .bp-feature h4,.index_page_bp-about .bp-feature h4{font-size:1.25em;line-height:1.5;margin-bottom:0;margin-right:110px;margin-top:0;text-align:right}.dashboard_page_bp-about .bp-feature p,.index_page_bp-about .bp-feature p{margin-right:110px}.dashboard_page_bp-about .bp-changelog-section,.index_page_bp-about .bp-changelog-section{clear:both;margin-bottom:8em;margin-top:3em;overflow:hidden;padding-bottom:0}.dashboard_page_bp-about .bp-changelog-section .changelog-title,.index_page_bp-about .bp-changelog-section .changelog-title{color:#23282d;font-size:1.8em;font-weight:300;line-height:1.5;margin:0 auto .5em;text-align:center}.dashboard_page_bp-about .bp-changelog-section .two-col>div,.index_page_bp-about .bp-changelog-section .two-col>div{float:right;margin-left:4.799999999%;position:relative;width:47.6%}.dashboard_page_bp-about .bp-changelog-section .two-col>div.last-feature,.index_page_bp-about .bp-changelog-section .two-col>div.last-feature{margin-left:0}.dashboard_page_bp-about .bp-changelog,.index_page_bp-about .bp-changelog{margin-bottom:3em}.dashboard_page_bp-about .bp-changelog h4,.index_page_bp-about .bp-changelog h4{font-size:1em;margin-bottom:0;margin-top:0}.dashboard_page_bp-about .bp-changelog p,.index_page_bp-about .bp-changelog p{margin-bottom:3em}.bp-changelog-url{text-align:center}.bp-assets{clear:both;margin-bottom:2em}@media screen and (max-width:782px){.dashboard_page_bp-about .bp-headline-feature,.index_page_bp-about .bp-headline-feature{padding:0}.dashboard_page_bp-about .bp-headline,.index_page_bp-about .bp-headline{margin:0;width:97%}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{clear:both;margin-bottom:0;margin-top:2em}.dashboard_page_bp-about .bp-changelog-section .changelog-title,.dashboard_page_bp-about .bp-features-section h3,.index_page_bp-about .bp-changelog-section .changelog-title,.index_page_bp-about .bp-features-section h3{font-size:1.8em;font-weight:300;line-height:1.5;margin-bottom:.5em;margin-top:.5em}.dashboard_page_bp-about .bp-changelog-section h4,.dashboard_page_bp-about .bp-features-section h4,.index_page_bp-about .bp-changelog-section h4,.index_page_bp-about .bp-features-section h4{font-size:1.25em;line-height:1.25;margin-top:.6em;text-align:right}.dashboard_page_bp-about .bp-feature,.index_page_bp-about .bp-feature{clear:both;float:right;margin-bottom:1em;margin-top:1em;margin-left:0;padding-left:1em;width:100%}.dashboard_page_bp-about .bp-feature span,.index_page_bp-about .bp-feature span{margin-top:.33em}.dashboard_page_bp-about .bp-feature h4,.dashboard_page_bp-about .bp-feature p,.index_page_bp-about .bp-feature h4,.index_page_bp-about .bp-feature p{width:100%}.dashboard_page_bp-about .bp-feature.opposite h4,.dashboard_page_bp-about .bp-feature.opposite p,.index_page_bp-about .bp-feature.opposite h4,.index_page_bp-about .bp-feature.opposite p{float:none}.dashboard_page_bp-about .bp-changelog-section,.index_page_bp-about .bp-changelog-section{clear:both;margin-bottom:2em}.dashboard_page_bp-about .bp-changelog-section .changelog-title,.index_page_bp-about .bp-changelog-section .changelog-title{margin-bottom:1em}.dashboard_page_bp-about .bp-changelog h4,.index_page_bp-about .bp-changelog h4{font-size:1em}.dashboard_page_bp-about .bp-changelog p,.index_page_bp-about .bp-changelog p{margin-bottom:2em}.dashboard_page_bp-about .bp-changelog-section .two-col>div,.index_page_bp-about .bp-changelog-section .two-col>div{margin-top:0;padding-bottom:.5em;width:100%}}@media screen and (max-width:360px){.dashboard_page_bp-about .bp-headline,.index_page_bp-about .bp-headline{text-align:center}.dashboard_page_bp-about .bp-headline span.dashicons,.index_page_bp-about .bp-headline span.dashicons{clear:none;font-size:80px;float:none;height:80px;line-height:80px;margin:0 auto;width:80px}.dashboard_page_bp-about .bp-headline-feature .headline-title,.dashboard_page_bp-about .bp-headline-feature h3,.index_page_bp-about .bp-headline-feature .headline-title,.index_page_bp-about .bp-headline-feature h3{margin:1em 0 0;text-align:right}.dashboard_page_bp-about .bp-headline-feature p,.index_page_bp-about .bp-headline-feature p{margin:1.15em 0 .6em auto;text-align:right;width:auto}.dashboard_page_bp-about .bp-headline-feature .headline-title,.index_page_bp-about .bp-headline-feature .headline-title{font-size:1.5em;line-height:1.5}.dashboard_page_bp-about .bp-feature,.index_page_bp-about .bp-feature{text-align:center}.dashboard_page_bp-about span.dashicons,.index_page_bp-about span.dashicons{float:none}.dashboard_page_bp-about .bp-features-section h4,.dashboard_page_bp-about .bp-features-section p,.index_page_bp-about .bp-features-section h4,.index_page_bp-about .bp-features-section p{margin-right:0;text-align:right}}#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before{content:"\f452"}#adminmenu #toplevel_page_bp-groups .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_user .wp-menu-image:before{content:"\f456"}#adminmenu #toplevel_page_bp-notifications .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_user .wp-menu-image:before{content:"\f439"}#adminmenu #toplevel_page_bp-messages .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_user .wp-menu-image:before{content:"\f457"}#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before{content:"\f454"}#adminmenu #toplevel_page_bp-settings .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_user .wp-menu-image:before{content:"\f108"}#adminmenu li.toplevel_page_bp-components .wp-menu-image,#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image{content:"\f448"}.settings_page_bp-components td.plugin-title span{float:right;width:18px;height:18px;margin-left:5px}.settings_page_bp-components td.plugin-title span:before{font-family:dashicons;font-size:18px}.settings_page_bp-components tr.activity td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.notifications td.plugin-title span:before{content:"\f339"}.settings_page_bp-components tr.xprofile td.plugin-title span:before{content:"\f336"}.settings_page_bp-components tr.settings td.plugin-title span:before{content:"\f108"}.settings_page_bp-components tr.groups td.plugin-title span:before{content:"\f456"}.settings_page_bp-components tr.messages td.plugin-title span:before{content:"\f457"}.settings_page_bp-components tr.forums td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.blogs td.plugin-title span:before{content:"\f120"}.settings_page_bp-components tr.friends td.plugin-title span:before{content:"\f454"}.settings_page_bp-components tr.core td.plugin-title span:before{content:"\f448"}.settings_page_bp-components tr.members td.plugin-title span:before{content:"\f307"}#bp-admin-component-form .wp-list-table.plugins .plugin-title{width:25%}@media screen and (max-width:782px){.settings_page_bp-components td.plugin-title span{margin-top:5px}#bp-admin-component-form .wp-list-table.plugins .plugin-title{display:block;width:auto}#bp-admin-component-form .subsubsub{margin-bottom:0;padding-bottom:35px}}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}body.site-users-php th#role,body.users-php th#role,body.users_page_bp-signups th#count_sent{width:10%}body.site-users-php th#email,body.site-users-php th#name,body.users-php th#email,body.users-php th#name,body.users-php th#registered,body.users_page_bp-signups th#date_sent,body.users_page_bp-signups th#email,body.users_page_bp-signups th#name,body.users_page_bp-signups th#registered{width:15%}body.post-type-bp-email th#situation,body.users-php th#blogs,body.users_page_bp-signups th#blogs{width:20%}body.users_page_bp-signups td.count_sent,body.users_page_bp-signups th.column-count_sent{text-align:center}body.post-type-bp-email #excerpt{height:auto}body.post-type-bp-email td.column-situation ul{margin:0}body.post-type-bp-email .categorydiv label{display:block;float:right;padding-right:25px;text-indent:-25px}.tools_page_bp-tools .wrap{max-width:950px}.tools_page_bp-tools p{line-height:2}.tools_page_bp-tools fieldset{margin:2em 0 0}.tools_page_bp-tools legend{color:#23282d;font-size:1.3em;font-weight:600px;margin:1em 0}.tools_page_bp-tools label{clear:right;display:block;line-height:1.5em;margin:0 0 1em;vertical-align:middle}@media screen and (max-width:782px){.tools_page_bp-tools p{line-height:1.5}.tools_page_bp-tools label{margin-bottom:1em;padding-left:25px;text-indent:-33px}.tools_page_bp-tools .checkbox{padding:0 30px 0 0}}#buddypress-update.not-shiny .update-message{border-right:0;padding-right:36px}#buddypress-update.not-shiny .update-message:before{content:"\f534"}
1
+ .bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.buddypress .bp-changelog-section::after,.buddypress .bp-feature::after{content:''}.about-wrap .bp-badge{position:absolute;top:0;left:0}.buddypress code{background-color:#e0e0e0;color:#636363;font-size:1em}@media only screen and (max-width:500px){.about-wrap .bp-badge{position:relative;margin:10px auto;top:auto;left:auto}}.buddypress .bp-headline-feature{margin-bottom:3em;margin-top:3em;padding:2em 3em}.buddypress .bp-headline{margin:0 auto;width:45em}.buddypress .bp-headline span.dashicons{background-color:#f1f1f1;color:#d84800;clear:right;font-size:100px;float:right;height:100px;line-height:100px;margin:0 0 15px 15px;text-align:center;width:100px}.buddypress .bp-headline-feature .headline-title{font-size:2.2em;font-weight:300;line-height:1;margin:0;text-align:center}.buddypress .bp-headline-feature p{font-size:1.15em;margin:1.15em 0 .6em auto}.buddypress .bp-features-section{border-bottom:1px solid #ccc;clear:both;margin-top:3em;overflow:hidden;padding-bottom:0}.buddypress .bp-features-section span.dashicons{background-color:#fff;border-radius:50%;clear:right;color:#d84800;font-size:50px;float:right;height:80px;line-height:80px;margin:0 0 15px 15px;text-align:center;width:80px}.buddypress .bp-features-section .headline-title{font-size:2em;font-weight:300;line-height:1.5;margin:0 auto 2em;text-align:center}.buddypress .bp-features-section .bp-feature-with-images{border-bottom:1px solid #ccc;margin-bottom:5em;padding-bottom:2em}.buddypress .bp-features-section .bp-feature,.buddypress .bp-features-section .bp-feature-imaged{float:right;margin-bottom:3em;margin-left:4.799999999%;width:47.6%}.buddypress .bp-features-section .bp-feature-imaged.anon,.buddypress .bp-features-section .bp-feature.opposite{margin-left:0}.buddypress .bp-features-section .bp-feature code{font-size:.95em;line-height:1.5}.buddypress .bp-feature-imaged .feature-title{color:#23282d;font-size:1.25em;margin-bottom:.6em;margin-top:0}.buddypress .bp-feature-imaged p{clear:right;font-size:1.1em}.buddypress .bp-feature-imaged img{clear:right}.buddypress .bp-feature .feature-title{font-size:1.25em;line-height:1.5;margin-bottom:0;margin-right:110px;margin-top:0;text-align:right}.buddypress .bp-feature p{margin-right:110px}.buddypress .bp-changelog-section{clear:both;margin-bottom:3em;margin-top:3em;overflow:hidden;padding-bottom:0}.buddypress .bp-changelog-section .changelog-title{color:#23282d;font-size:1.25em;line-height:1.5;margin:0 auto 1.5em}.buddypress .bp-changelog-section .two-col div{float:right;margin-left:4.799999999%;position:relative;width:47.6%}.buddypress .bp-changelog-section .three-col .col{float:right;margin-left:5%;position:relative;width:29.95%}.buddypress .three-col .col:nth-of-type(3n),.buddypress .two-col .col:nth-of-type(2n){margin-left:0}.buddypress .bp-changelog{margin-bottom:3em}.buddypress .bp-changelog .title{font-size:1em;margin-bottom:0;margin-top:0}.buddypress .bp-changelog p{margin-bottom:3em}.bp-changelog-url{text-align:center}.bp-assets{clear:both;margin-bottom:2em;margin-top:2em}@media screen and (max-width:782px){.bp-assets,.bp-changelog-section,.bp-features-section,.bp-headline-feature{margin-right:20px;margin-left:20px}.buddypress .bp-headline-feature{padding:0}.buddypress .bp-headline{margin:0;width:97%}.buddypress .bp-features-section{clear:both;margin-bottom:0;margin-top:2em;padding-bottom:2em}.buddypress .bp-features-section .bp-feature-with-images{margin-bottom:2em}.buddypress .bp-features-section .headline-title{margin-bottom:1em}.buddypress .bp-changelog-section .changelog-title{font-size:1.25em;line-height:1.5;margin-top:.5em}.buddypress .bp-changelog-section .title,.buddypress .bp-features-section .feature-title{font-size:1.25em;line-height:1.25;margin-top:.6em;text-align:right}.buddypress .bp-changelog .title,.buddypress .bp-features-section .bp-feature-imaged p{font-size:1em}.buddypress .bp-features-section .bp-feature,.buddypress .bp-features-section .bp-feature-imaged{clear:both;float:right;margin-bottom:1em;margin-top:1em;margin-left:0;padding-left:1em;width:100%}.buddypress .bp-features-section .bp-feature span{margin-top:.33em}.buddypress .bp-feature.opposite .feature-title,.buddypress .bp-feature.opposite p{float:none}.buddypress .bp-changelog-section{clear:both;margin-bottom:2em;margin-top:2em}.buddypress .bp-changelog-section .changelog-title{margin-bottom:1.5em}.buddypress .bp-changelog p{margin-bottom:1em}.buddypress .bp-changelog-section .three-col .col,.buddypress .bp-changelog-section .two-col>div{margin-top:0;padding-bottom:.5em;width:100%}}@media screen and (max-width:360px){.buddypress .bp-headline{text-align:center}.buddypress .bp-headline span.dashicons{clear:none;font-size:80px;float:none;height:80px;line-height:80px;margin:0 auto;width:80px}.buddypress .bp-features-section .headline-title,.buddypress .bp-headline-feature .headline-title{font-size:1.5em;line-height:1.5;text-align:right}.buddypress .bp-headline-feature .headline-title{margin:1em 0 0}.buddypress .bp-headline-feature p{margin:1.15em 0 .6em auto;text-align:right;width:auto}.buddypress .bp-features-section .bp-feature{text-align:center}.buddypress .bp-features-section span.dashicons{float:none}.buddypress .bp-features-section .feature-title,.buddypress .bp-features-section p{margin-right:0;text-align:right}}#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before{content:"\f452"}#adminmenu #toplevel_page_bp-groups .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_user .wp-menu-image:before{content:"\f456"}#adminmenu #toplevel_page_bp-notifications .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_user .wp-menu-image:before{content:"\f439"}#adminmenu #toplevel_page_bp-messages .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_user .wp-menu-image:before{content:"\f457"}#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before{content:"\f454"}#adminmenu #toplevel_page_bp-settings .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_user .wp-menu-image:before{content:"\f108"}#adminmenu li.toplevel_page_bp-components .wp-menu-image,#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image{content:"\f448"}.settings_page_bp-components td.plugin-title span{float:right;width:18px;height:18px;margin-left:5px}.settings_page_bp-components td.plugin-title span:before{font-family:dashicons;font-size:18px}.settings_page_bp-components tr.activity td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.notifications td.plugin-title span:before{content:"\f339"}.settings_page_bp-components tr.xprofile td.plugin-title span:before{content:"\f336"}.settings_page_bp-components tr.settings td.plugin-title span:before{content:"\f108"}.settings_page_bp-components tr.groups td.plugin-title span:before{content:"\f456"}.settings_page_bp-components tr.messages td.plugin-title span:before{content:"\f457"}.settings_page_bp-components tr.forums td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.blogs td.plugin-title span:before{content:"\f120"}.settings_page_bp-components tr.friends td.plugin-title span:before{content:"\f454"}.settings_page_bp-components tr.core td.plugin-title span:before{content:"\f448"}.settings_page_bp-components tr.members td.plugin-title span:before{content:"\f307"}#bp-admin-component-form .wp-list-table.plugins .plugin-title{width:25%}@media screen and (max-width:782px){.settings_page_bp-components td.plugin-title span{margin-top:5px}#bp-admin-component-form .wp-list-table.plugins .plugin-title{display:block;width:auto}#bp-admin-component-form .subsubsub{margin-bottom:0;padding-bottom:35px}}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}body.site-users-php th#role,body.users-php th#role,body.users_page_bp-signups th#count_sent{width:10%}body.site-users-php th#email,body.site-users-php th#name,body.users-php th#email,body.users-php th#name,body.users-php th#registered,body.users_page_bp-signups th#date_sent,body.users_page_bp-signups th#email,body.users_page_bp-signups th#name,body.users_page_bp-signups th#registered{width:15%}body.post-type-bp-email th#situation,body.users-php th#blogs,body.users_page_bp-signups th#blogs{width:20%}body.users_page_bp-signups td.count_sent,body.users_page_bp-signups th.column-count_sent{text-align:center}.bp-signups-list table{margin:1em 0}.bp-signups-list .column-fields{font-weight:700}body.post-type-bp-email #excerpt{height:auto}body.post-type-bp-email td.column-situation ul{margin:0}body.post-type-bp-email .categorydiv label{display:block;float:right;padding-right:25px;text-indent:-25px}.tools_page_bp-tools .wrap{max-width:950px}.tools_page_bp-tools p{line-height:2}.tools_page_bp-tools fieldset{margin:2em 0 0}.tools_page_bp-tools legend{color:#23282d;font-size:1.3em;font-weight:600px;margin:1em 0}.tools_page_bp-tools label{clear:right;display:block;line-height:1.5em;margin:0 0 1em;vertical-align:middle}@media screen and (max-width:782px){.tools_page_bp-tools p{line-height:1.5}.tools_page_bp-tools label{margin-bottom:1em;padding-left:25px;text-indent:-33px}.tools_page_bp-tools .checkbox{padding:0 30px 0 0}}#buddypress-update.not-shiny .update-message{border-right:0;padding-right:36px}#buddypress-update.not-shiny .update-message:before{content:"\f534"}
bp-core/admin/css/common.css CHANGED
@@ -47,6 +47,12 @@ TABLE OF CONTENTS:
47
right: 0;
48
}
49
50
@media only screen and (max-width: 500px) {
51
.about-wrap .bp-badge {
52
position: relative;
@@ -63,22 +69,20 @@ TABLE OF CONTENTS:
63
/*
64
* 1.2.1 Headline Feature
65
*/
66
- .index_page_bp-about .bp-headline-feature,
67
- .dashboard_page_bp-about .bp-headline-feature {
68
margin-bottom: 3em;
69
margin-top: 3em;
70
padding: 2em 3em;
71
}
72
73
- .index_page_bp-about .bp-headline,
74
- .dashboard_page_bp-about .bp-headline {
75
margin: 0 auto;
76
- width: 35em;
77
}
78
79
- .index_page_bp-about .bp-headline span.dashicons,
80
- .dashboard_page_bp-about .bp-headline span.dashicons {
81
background-color: #f1f1f1;
82
clear: left;
83
font-size: 100px;
84
float: left;
@@ -89,41 +93,31 @@ TABLE OF CONTENTS:
89
width: 100px;
90
}
91
92
- .index_page_bp-about .bp-headline-feature h3,
93
- .index_page_bp-about .bp-headline-feature .headline-title,
94
- .dashboard_page_bp-about .bp-headline-feature h3,
95
- .dashboard_page_bp-about .bp-headline-feature .headline-title {
96
font-size: 2.2em;
97
font-weight: 300;
98
line-height: 1;
99
- margin: 0 0 0 125px;
100
}
101
102
- .index_page_bp-about .bp-headline-feature p,
103
- .dashboard_page_bp-about .bp-headline-feature p {
104
font-size: 1.15em;
105
- margin: 1.15em auto 0.6em 125px;
106
- }
107
-
108
- .index_page_bp-about .bp-headline-feature .introduction,
109
- .dashboard_page_bp-about .bp-headline-feature .introduction {
110
- font-weight: 600;
111
}
112
113
-
114
/*
115
* 1.2.2 Features Section
116
*/
117
- .index_page_bp-about .bp-features-section,
118
- .dashboard_page_bp-about .bp-features-section {
119
clear: both;
120
margin-top: 3em;
121
overflow: hidden;
122
padding-bottom: 0;
123
}
124
125
- .index_page_bp-about span.dashicons,
126
- .dashboard_page_bp-about span.dashicons {
127
background-color: #fff;
128
border-radius: 50%;
129
clear: left;
@@ -137,42 +131,59 @@ TABLE OF CONTENTS:
137
width: 80px;
138
}
139
140
- .index_page_bp-about .bp-features-section h3,
141
- .dashboard_page_bp-about .bp-features-section h3 {
142
font-size: 2em;
143
font-weight: 300;
144
line-height: 1.5;
145
- margin: 0 auto 3em;
146
text-align: center;
147
}
148
149
- .index_page_bp-about .bp-feature,
150
- .dashboard_page_bp-about .bp-feature {
151
float: left;
152
margin-bottom: 3em;
153
margin-right: 4.799999999%;
154
width: 47.6%;
155
}
156
157
158
- .index_page_bp-about .bp-feature code,
159
- .dashboard_page_bp-about .bp-feature code{
160
font-size: 0.95em;
161
line-height: 1.5;
162
}
163
164
- .index_page_bp-about .bp-feature:nth-of-type(2n),
165
- .dashboard_page_bp-about .bp-feature:nth-of-type(2n) {
166
- margin-right: 0;
167
}
168
169
- .index_page_bp-about .bp-feature::after,
170
- .dashboard_page_bp-about .bp-feature::after {
171
- content: '';
172
}
173
174
- .index_page_bp-about .bp-feature h4,
175
- .dashboard_page_bp-about .bp-feature h4 {
176
font-size: 1.25em;
177
line-height: 1.5;
178
margin-bottom: 0;
@@ -181,65 +192,62 @@ TABLE OF CONTENTS:
181
text-align: left;
182
}
183
184
- .index_page_bp-about .bp-feature p,
185
- .dashboard_page_bp-about .bp-feature p {
186
margin-left: 110px;
187
}
188
189
/*
190
* 1.2.3 Changelog Section
191
*/
192
- .index_page_bp-about .bp-changelog-section,
193
- .dashboard_page_bp-about .bp-changelog-section {
194
clear: both;
195
- margin-bottom: 8em;
196
margin-top: 3em;
197
overflow: hidden;
198
padding-bottom: 0;
199
}
200
201
- .index_page_bp-about .bp-changelog-section::after,
202
- .dashboard_page_bp-about .bp-changelog-section::after {
203
content: '';
204
}
205
206
- .index_page_bp-about .bp-changelog-section .changelog-title,
207
- .dashboard_page_bp-about .bp-changelog-section .changelog-title {
208
color: #23282d;
209
- font-size: 1.8em;
210
- font-weight: 300;
211
line-height: 1.5;
212
- margin: 0 auto 0.5em;
213
- text-align: center;
214
}
215
216
- .index_page_bp-about .bp-changelog-section .two-col > div,
217
- .dashboard_page_bp-about .bp-changelog-section .two-col > div {
218
float: left;
219
margin-right: 4.799999999%;
220
position: relative;
221
width: 47.6%;
222
}
223
224
- .index_page_bp-about .bp-changelog-section .two-col > div.last-feature,
225
- .dashboard_page_bp-about .bp-changelog-section .two-col > div.last-feature {
226
margin-right: 0;
227
}
228
229
- .index_page_bp-about .bp-changelog,
230
- .dashboard_page_bp-about .bp-changelog {
231
margin-bottom: 3em;
232
}
233
234
- .index_page_bp-about .bp-changelog h4,
235
- .dashboard_page_bp-about .bp-changelog h4 {
236
font-size: 1em;
237
margin-bottom: 0;
238
margin-top: 0;
239
}
240
241
- .index_page_bp-about .bp-changelog p,
242
- .dashboard_page_bp-about .bp-changelog p {
243
margin-bottom: 3em;
244
}
245
@@ -250,45 +258,51 @@ TABLE OF CONTENTS:
250
.bp-assets {
251
clear: both;
252
margin-bottom: 2em;
253
}
254
255
@media screen and ( max-width: 782px ) {
256
- .index_page_bp-about .bp-headline-feature,
257
- .dashboard_page_bp-about .bp-headline-feature {
258
padding: 0;
259
}
260
- .index_page_bp-about .bp-headline,
261
- .dashboard_page_bp-about .bp-headline {
262
margin: 0;
263
width: 97%;
264
}
265
- .index_page_bp-about .bp-features-section,
266
- .dashboard_page_bp-about .bp-features-section {
267
clear: both;
268
margin-bottom: 0;
269
margin-top: 2em;
270
}
271
- .index_page_bp-about .bp-features-section h3,
272
- .dashboard_page_bp-about .bp-features-section h3,
273
- .index_page_bp-about .bp-changelog-section .changelog-title,
274
- .dashboard_page_bp-about .bp-changelog-section .changelog-title {
275
- font-size: 1.8em;
276
- font-weight: 300;
277
line-height: 1.5;
278
margin-bottom: 0.5em;
279
margin-top: 0.5em;
280
}
281
- .index_page_bp-about .bp-features-section h4,
282
- .dashboard_page_bp-about .bp-features-section h4,
283
- .index_page_bp-about .bp-changelog-section h4,
284
- .dashboard_page_bp-about .bp-changelog-section h4 {
285
font-size: 1.25em;
286
line-height: 1.25;
287
margin-top: 0.6em;
288
text-align: left;
289
}
290
- .index_page_bp-about .bp-feature,
291
- .dashboard_page_bp-about .bp-feature {
292
clear: both;
293
float: left;
294
margin-bottom: 1em;
@@ -297,53 +311,42 @@ TABLE OF CONTENTS:
297
padding-right: 1em;
298
width: 100%;
299
}
300
- .index_page_bp-about .bp-feature span,
301
- .dashboard_page_bp-about .bp-feature span {
302
- margin-top: 0.33em;
303
}
304
- .index_page_bp-about .bp-feature h4,
305
- .dashboard_page_bp-about .bp-feature h4,
306
- .index_page_bp-about .bp-feature p,
307
- .dashboard_page_bp-about .bp-feature p {
308
- width: 100%;
309
}
310
- .index_page_bp-about .bp-feature.opposite h4,
311
- .dashboard_page_bp-about .bp-feature.opposite h4,
312
- .index_page_bp-about .bp-feature.opposite p,
313
- .dashboard_page_bp-about .bp-feature.opposite p {
314
float: none;
315
}
316
- .index_page_bp-about .bp-changelog-section,
317
- .dashboard_page_bp-about .bp-changelog-section {
318
clear: both;
319
margin-bottom: 2em;
320
}
321
- .index_page_bp-about .bp-changelog-section .changelog-title,
322
- .dashboard_page_bp-about .bp-changelog-section .changelog-title {
323
- margin-bottom: 1em;
324
}
325
- .index_page_bp-about .bp-changelog h4,
326
- .dashboard_page_bp-about .bp-changelog h4 {
327
font-size: 1em;
328
}
329
- .index_page_bp-about .bp-changelog p,
330
- .dashboard_page_bp-about .bp-changelog p {
331
- margin-bottom: 2em;
332
}
333
- .index_page_bp-about .bp-changelog-section .two-col > div,
334
- .dashboard_page_bp-about .bp-changelog-section .two-col > div {
335
margin-top: 0;
336
padding-bottom: 0.5em;
337
width: 100%;
338
}
339
}
340
@media screen and ( max-width: 360px ) {
341
- .index_page_bp-about .bp-headline,
342
- .dashboard_page_bp-about .bp-headline {
343
text-align: center;
344
}
345
- .index_page_bp-about .bp-headline span.dashicons,
346
- .dashboard_page_bp-about .bp-headline span.dashicons {
347
clear: none;
348
font-size: 80px;
349
float: none;
@@ -352,39 +355,28 @@ TABLE OF CONTENTS:
352
margin: 0 auto;
353
width: 80px;
354
}
355
- .index_page_bp-about .bp-headline-feature h3,
356
- .index_page_bp-about .bp-headline-feature .headline-title,
357
- .dashboard_page_bp-about .bp-headline-feature h3,
358
- .dashboard_page_bp-about .bp-headline-feature .headline-title {
359
- margin: 1em 0 0 0;
360
text-align: left;
361
}
362
- .index_page_bp-about .bp-headline-feature p,
363
- .dashboard_page_bp-about .bp-headline-feature p {
364
margin: 1.15em auto 0.6em 0;
365
text-align: left;
366
- }
367
- .index_page_bp-about .bp-headline-feature .headline-title,
368
- .dashboard_page_bp-about .bp-headline-feature .headline-title {
369
- font-size: 1.5em;
370
- line-height: 1.5;
371
- }
372
- .index_page_bp-about .bp-headline-feature p,
373
- .dashboard_page_bp-about .bp-headline-feature p {
374
width: auto;
375
}
376
- .index_page_bp-about .bp-feature,
377
- .dashboard_page_bp-about .bp-feature {
378
text-align: center;
379
}
380
- .index_page_bp-about span.dashicons,
381
- .dashboard_page_bp-about span.dashicons {
382
float: none;
383
}
384
- .index_page_bp-about .bp-features-section h4,
385
- .dashboard_page_bp-about .bp-features-section h4,
386
- .index_page_bp-about .bp-features-section p,
387
- .dashboard_page_bp-about .bp-features-section p {
388
margin-left: 0;
389
text-align: left;
390
}
@@ -553,6 +545,13 @@ body.users_page_bp-signups td.count_sent {
553
text-align: center;
554
}
555
556
557
/*------------------------------------------------------------------------------
558
* 4.0 Emails - Edit Page
47
right: 0;
48
}
49
50
+ .buddypress code {
51
+ background-color: #e0e0e0;
52
+ color: #636363;
53
+ font-size: 1em;
54
+ }
55
+
56
@media only screen and (max-width: 500px) {
57
.about-wrap .bp-badge {
58
position: relative;
69
/*
70
* 1.2.1 Headline Feature
71
*/
72
+ .buddypress .bp-headline-feature {
73
margin-bottom: 3em;
74
margin-top: 3em;
75
padding: 2em 3em;
76
}
77
78
+ .buddypress .bp-headline {
79
margin: 0 auto;
80
+ width: 45em;
81
}
82
83
+ .buddypress .bp-headline span.dashicons {
84
background-color: #f1f1f1;
85
+ color: #d84800;
86
clear: left;
87
font-size: 100px;
88
float: left;
93
width: 100px;
94
}
95
96
+ .buddypress .bp-headline-feature .headline-title {
97
font-size: 2.2em;
98
font-weight: 300;
99
line-height: 1;
100
+ margin: 0;
101
+ text-align: center;
102
}
103
104
+ .buddypress .bp-headline-feature p {
105
font-size: 1.15em;
106
+ margin: 1.15em auto 0.6em 0;
107
}
108
109
/*
110
* 1.2.2 Features Section
111
*/
112
+ .buddypress .bp-features-section {
113
+ border-bottom: 1px solid #ccc;
114
clear: both;
115
margin-top: 3em;
116
overflow: hidden;
117
padding-bottom: 0;
118
}
119
120
+ .buddypress .bp-features-section span.dashicons {
121
background-color: #fff;
122
border-radius: 50%;
123
clear: left;
131
width: 80px;
132
}
133
134
+ .buddypress .bp-features-section .headline-title {
135
font-size: 2em;
136
font-weight: 300;
137
line-height: 1.5;
138
+ margin: 0 auto 2em;
139
text-align: center;
140
}
141
142
+ .buddypress .bp-features-section .bp-feature-with-images {
143
+ border-bottom: 1px solid #ccc;
144
+ margin-bottom: 5em;
145
+ padding-bottom: 2em;
146
+ }
147
+
148
+ .buddypress .bp-features-section .bp-feature,
149
+ .buddypress .bp-features-section .bp-feature-imaged {
150
float: left;
151
margin-bottom: 3em;
152
margin-right: 4.799999999%;
153
width: 47.6%;
154
}
155
156
+ .buddypress .bp-features-section .bp-feature.opposite,
157
+ .buddypress .bp-features-section .bp-feature-imaged.anon {
158
+ margin-right: 0;
159
+ }
160
161
+ .buddypress .bp-features-section .bp-feature code {
162
font-size: 0.95em;
163
line-height: 1.5;
164
}
165
166
+ .buddypress .bp-feature::after {
167
+ content: '';
168
}
169
170
+ .buddypress .bp-feature-imaged .feature-title {
171
+ color: #23282d;
172
+ font-size: 1.25em;
173
+ margin-bottom: 0.6em;
174
+ margin-top: 0;
175
}
176
177
+ .buddypress .bp-feature-imaged p {
178
+ clear: left;
179
+ font-size: 1.1em;
180
+ }
181
+
182
+ .buddypress .bp-feature-imaged img {
183
+ clear: left;
184
+ }
185
+
186
+ .buddypress .bp-feature .feature-title {
187
font-size: 1.25em;
188
line-height: 1.5;
189
margin-bottom: 0;
192
text-align: left;
193
}
194
195
+ .buddypress .bp-feature p {
196
margin-left: 110px;
197
}
198
199
/*
200
* 1.2.3 Changelog Section
201
*/
202
+ .buddypress .bp-changelog-section {
203
clear: both;
204
+ margin-bottom: 3em;
205
margin-top: 3em;
206
overflow: hidden;
207
padding-bottom: 0;
208
}
209
210
+ .buddypress .bp-changelog-section::after {
211
content: '';
212
}
213
214
+ .buddypress .bp-changelog-section .changelog-title {
215
color: #23282d;
216
+ font-size: 1.25em;
217
line-height: 1.5;
218
+ margin: 0 auto 1.5em;
219
}
220
221
+ .buddypress .bp-changelog-section .two-col div {
222
float: left;
223
margin-right: 4.799999999%;
224
position: relative;
225
width: 47.6%;
226
}
227
228
+ .buddypress .bp-changelog-section .three-col .col {
229
+ float: left;
230
+ margin-right: 5%;
231
+ position: relative;
232
+ width: 29.95%;
233
+ }
234
+
235
+ .buddypress .two-col .col:nth-of-type(2n),
236
+ .buddypress .three-col .col:nth-of-type(3n) {
237
margin-right: 0;
238
}
239
240
+ .buddypress .bp-changelog {
241
margin-bottom: 3em;
242
}
243
244
+ .buddypress .bp-changelog .title {
245
font-size: 1em;
246
margin-bottom: 0;
247
margin-top: 0;
248
}
249
250
+ .buddypress .bp-changelog p {
251
margin-bottom: 3em;
252
}
253
258
.bp-assets {
259
clear: both;
260
margin-bottom: 2em;
261
+ margin-top: 2em;
262
}
263
264
@media screen and ( max-width: 782px ) {
265
+ .bp-headline-feature,
266
+ .bp-features-section,
267
+ .bp-changelog-section,
268
+ .bp-assets {
269
+ margin-left: 20px;
270
+ margin-right: 20px;
271
+ }
272
+ .buddypress .bp-headline-feature {
273
padding: 0;
274
}
275
+ .buddypress .bp-headline {
276
margin: 0;
277
width: 97%;
278
}
279
+ .buddypress .bp-features-section {
280
clear: both;
281
margin-bottom: 0;
282
margin-top: 2em;
283
+ padding-bottom: 2em;
284
+ }
285
+ .buddypress .bp-features-section .bp-feature-with-images {
286
+ margin-bottom: 2em;
287
+ }
288
+ .buddypress .bp-features-section .headline-title {
289
+ margin-bottom: 1em;
290
}
291
+ .buddypress .bp-changelog-section .changelog-title {
292
+ font-size: 1.25em;
293
line-height: 1.5;
294
margin-bottom: 0.5em;
295
margin-top: 0.5em;
296
}
297
+ .buddypress .bp-features-section .feature-title,
298
+ .buddypress .bp-changelog-section .title {
299
font-size: 1.25em;
300
line-height: 1.25;
301
margin-top: 0.6em;
302
text-align: left;
303
}
304
+ .buddypress .bp-features-section .bp-feature,
305
+ .buddypress .bp-features-section .bp-feature-imaged {
306
clear: both;
307
float: left;
308
margin-bottom: 1em;
311
padding-right: 1em;
312
width: 100%;
313
}
314
+ .buddypress .bp-features-section .bp-feature-imaged p {
315
+ font-size: 1em;
316
}
317
+ .buddypress .bp-features-section .bp-feature span {
318
+ margin-top: 0.33em;
319
}
320
+ .buddypress .bp-feature.opposite .feature-title,
321
+ .buddypress .bp-feature.opposite p {
322
float: none;
323
}
324
+ .buddypress .bp-changelog-section {
325
clear: both;
326
margin-bottom: 2em;
327
+ margin-top: 2em;
328
}
329
+ .buddypress .bp-changelog-section .changelog-title {
330
+ margin-bottom: 1.5em;
331
}
332
+ .buddypress .bp-changelog .title {
333
font-size: 1em;
334
}
335
+ .buddypress .bp-changelog p {
336
+ margin-bottom: 1em;
337
}
338
+ .buddypress .bp-changelog-section .two-col > div,
339
+ .buddypress .bp-changelog-section .three-col .col {
340
margin-top: 0;
341
padding-bottom: 0.5em;
342
width: 100%;
343
}
344
}
345
@media screen and ( max-width: 360px ) {
346
+ .buddypress .bp-headline {
347
text-align: center;
348
}
349
+ .buddypress .bp-headline span.dashicons {
350
clear: none;
351
font-size: 80px;
352
float: none;
355
margin: 0 auto;
356
width: 80px;
357
}
358
+ .buddypress .bp-headline-feature .headline-title,
359
+ .buddypress .bp-features-section .headline-title {
360
+ font-size: 1.5em;
361
+ line-height: 1.5;
362
text-align: left;
363
}
364
+ .buddypress .bp-headline-feature .headline-title {
365
+ margin: 1em 0 0 0;
366
+ }
367
+ .buddypress .bp-headline-feature p {
368
margin: 1.15em auto 0.6em 0;
369
text-align: left;
370
width: auto;
371
}
372
+ .buddypress .bp-features-section .bp-feature {
373
text-align: center;
374
}
375
+ .buddypress .bp-features-section span.dashicons {
376
float: none;
377
}
378
+ .buddypress .bp-features-section .feature-title,
379
+ .buddypress .bp-features-section p {
380
margin-left: 0;
381
text-align: left;
382
}
545
text-align: center;
546
}
547
548
+ .bp-signups-list table {
549
+ margin: 1em 0;
550
+ }
551
+
552
+ .bp-signups-list .column-fields {
553
+ font-weight: bold;
554
+ }
555
556
/*------------------------------------------------------------------------------
557
* 4.0 Emails - Edit Page
bp-core/admin/css/common.min.css CHANGED
@@ -1 +1 @@
1
- .bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.dashboard_page_bp-about .bp-changelog-section::after,.dashboard_page_bp-about .bp-feature::after,.index_page_bp-about .bp-changelog-section::after,.index_page_bp-about .bp-feature::after{content:''}.about-wrap .bp-badge{position:absolute;top:0;right:0}@media only screen and (max-width:500px){.about-wrap .bp-badge{position:relative;margin:10px auto;top:auto;right:auto}}.dashboard_page_bp-about .bp-headline-feature,.index_page_bp-about .bp-headline-feature{margin-bottom:3em;margin-top:3em;padding:2em 3em}.dashboard_page_bp-about .bp-headline,.index_page_bp-about .bp-headline{margin:0 auto;width:35em}.dashboard_page_bp-about .bp-headline span.dashicons,.index_page_bp-about .bp-headline span.dashicons{background-color:#f1f1f1;clear:left;font-size:100px;float:left;height:100px;line-height:100px;margin:0 15px 15px 0;text-align:center;width:100px}.dashboard_page_bp-about .bp-headline-feature .headline-title,.dashboard_page_bp-about .bp-headline-feature h3,.index_page_bp-about .bp-headline-feature .headline-title,.index_page_bp-about .bp-headline-feature h3{font-size:2.2em;font-weight:300;line-height:1;margin:0 0 0 125px}.dashboard_page_bp-about .bp-headline-feature p,.index_page_bp-about .bp-headline-feature p{font-size:1.15em;margin:1.15em auto .6em 125px}.dashboard_page_bp-about .bp-headline-feature .introduction,.index_page_bp-about .bp-headline-feature .introduction{font-weight:600}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{clear:both;margin-top:3em;overflow:hidden;padding-bottom:0}.dashboard_page_bp-about span.dashicons,.index_page_bp-about span.dashicons{background-color:#fff;border-radius:50%;clear:left;color:#d84800;font-size:50px;float:left;height:80px;line-height:80px;margin:0 15px 15px 0;text-align:center;width:80px}.dashboard_page_bp-about .bp-features-section h3,.index_page_bp-about .bp-features-section h3{font-size:2em;font-weight:300;line-height:1.5;margin:0 auto 3em;text-align:center}.dashboard_page_bp-about .bp-feature,.index_page_bp-about .bp-feature{float:left;margin-bottom:3em;margin-right:4.799999999%;width:47.6%}.dashboard_page_bp-about .bp-feature code,.index_page_bp-about .bp-feature code{font-size:.95em;line-height:1.5}.dashboard_page_bp-about .bp-feature:nth-of-type(2n),.index_page_bp-about .bp-feature:nth-of-type(2n){margin-right:0}.dashboard_page_bp-about .bp-feature h4,.index_page_bp-about .bp-feature h4{font-size:1.25em;line-height:1.5;margin-bottom:0;margin-left:110px;margin-top:0;text-align:left}.dashboard_page_bp-about .bp-feature p,.index_page_bp-about .bp-feature p{margin-left:110px}.dashboard_page_bp-about .bp-changelog-section,.index_page_bp-about .bp-changelog-section{clear:both;margin-bottom:8em;margin-top:3em;overflow:hidden;padding-bottom:0}.dashboard_page_bp-about .bp-changelog-section .changelog-title,.index_page_bp-about .bp-changelog-section .changelog-title{color:#23282d;font-size:1.8em;font-weight:300;line-height:1.5;margin:0 auto .5em;text-align:center}.dashboard_page_bp-about .bp-changelog-section .two-col>div,.index_page_bp-about .bp-changelog-section .two-col>div{float:left;margin-right:4.799999999%;position:relative;width:47.6%}.dashboard_page_bp-about .bp-changelog-section .two-col>div.last-feature,.index_page_bp-about .bp-changelog-section .two-col>div.last-feature{margin-right:0}.dashboard_page_bp-about .bp-changelog,.index_page_bp-about .bp-changelog{margin-bottom:3em}.dashboard_page_bp-about .bp-changelog h4,.index_page_bp-about .bp-changelog h4{font-size:1em;margin-bottom:0;margin-top:0}.dashboard_page_bp-about .bp-changelog p,.index_page_bp-about .bp-changelog p{margin-bottom:3em}.bp-changelog-url{text-align:center}.bp-assets{clear:both;margin-bottom:2em}@media screen and (max-width:782px){.dashboard_page_bp-about .bp-headline-feature,.index_page_bp-about .bp-headline-feature{padding:0}.dashboard_page_bp-about .bp-headline,.index_page_bp-about .bp-headline{margin:0;width:97%}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{clear:both;margin-bottom:0;margin-top:2em}.dashboard_page_bp-about .bp-changelog-section .changelog-title,.dashboard_page_bp-about .bp-features-section h3,.index_page_bp-about .bp-changelog-section .changelog-title,.index_page_bp-about .bp-features-section h3{font-size:1.8em;font-weight:300;line-height:1.5;margin-bottom:.5em;margin-top:.5em}.dashboard_page_bp-about .bp-changelog-section h4,.dashboard_page_bp-about .bp-features-section h4,.index_page_bp-about .bp-changelog-section h4,.index_page_bp-about .bp-features-section h4{font-size:1.25em;line-height:1.25;margin-top:.6em;text-align:left}.dashboard_page_bp-about .bp-feature,.index_page_bp-about .bp-feature{clear:both;float:left;margin-bottom:1em;margin-top:1em;margin-right:0;padding-right:1em;width:100%}.dashboard_page_bp-about .bp-feature span,.index_page_bp-about .bp-feature span{margin-top:.33em}.dashboard_page_bp-about .bp-feature h4,.dashboard_page_bp-about .bp-feature p,.index_page_bp-about .bp-feature h4,.index_page_bp-about .bp-feature p{width:100%}.dashboard_page_bp-about .bp-feature.opposite h4,.dashboard_page_bp-about .bp-feature.opposite p,.index_page_bp-about .bp-feature.opposite h4,.index_page_bp-about .bp-feature.opposite p{float:none}.dashboard_page_bp-about .bp-changelog-section,.index_page_bp-about .bp-changelog-section{clear:both;margin-bottom:2em}.dashboard_page_bp-about .bp-changelog-section .changelog-title,.index_page_bp-about .bp-changelog-section .changelog-title{margin-bottom:1em}.dashboard_page_bp-about .bp-changelog h4,.index_page_bp-about .bp-changelog h4{font-size:1em}.dashboard_page_bp-about .bp-changelog p,.index_page_bp-about .bp-changelog p{margin-bottom:2em}.dashboard_page_bp-about .bp-changelog-section .two-col>div,.index_page_bp-about .bp-changelog-section .two-col>div{margin-top:0;padding-bottom:.5em;width:100%}}@media screen and (max-width:360px){.dashboard_page_bp-about .bp-headline,.index_page_bp-about .bp-headline{text-align:center}.dashboard_page_bp-about .bp-headline span.dashicons,.index_page_bp-about .bp-headline span.dashicons{clear:none;font-size:80px;float:none;height:80px;line-height:80px;margin:0 auto;width:80px}.dashboard_page_bp-about .bp-headline-feature .headline-title,.dashboard_page_bp-about .bp-headline-feature h3,.index_page_bp-about .bp-headline-feature .headline-title,.index_page_bp-about .bp-headline-feature h3{margin:1em 0 0;text-align:left}.dashboard_page_bp-about .bp-headline-feature p,.index_page_bp-about .bp-headline-feature p{margin:1.15em auto .6em 0;text-align:left;width:auto}.dashboard_page_bp-about .bp-headline-feature .headline-title,.index_page_bp-about .bp-headline-feature .headline-title{font-size:1.5em;line-height:1.5}.dashboard_page_bp-about .bp-feature,.index_page_bp-about .bp-feature{text-align:center}.dashboard_page_bp-about span.dashicons,.index_page_bp-about span.dashicons{float:none}.dashboard_page_bp-about .bp-features-section h4,.dashboard_page_bp-about .bp-features-section p,.index_page_bp-about .bp-features-section h4,.index_page_bp-about .bp-features-section p{margin-left:0;text-align:left}}#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before{content:"\f452"}#adminmenu #toplevel_page_bp-groups .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_user .wp-menu-image:before{content:"\f456"}#adminmenu #toplevel_page_bp-notifications .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_user .wp-menu-image:before{content:"\f439"}#adminmenu #toplevel_page_bp-messages .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_user .wp-menu-image:before{content:"\f457"}#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before{content:"\f454"}#adminmenu #toplevel_page_bp-settings .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_user .wp-menu-image:before{content:"\f108"}#adminmenu li.toplevel_page_bp-components .wp-menu-image,#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image{content:"\f448"}.settings_page_bp-components td.plugin-title span{float:left;width:18px;height:18px;margin-right:5px}.settings_page_bp-components td.plugin-title span:before{font-family:dashicons;font-size:18px}.settings_page_bp-components tr.activity td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.notifications td.plugin-title span:before{content:"\f339"}.settings_page_bp-components tr.xprofile td.plugin-title span:before{content:"\f336"}.settings_page_bp-components tr.settings td.plugin-title span:before{content:"\f108"}.settings_page_bp-components tr.groups td.plugin-title span:before{content:"\f456"}.settings_page_bp-components tr.messages td.plugin-title span:before{content:"\f457"}.settings_page_bp-components tr.forums td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.blogs td.plugin-title span:before{content:"\f120"}.settings_page_bp-components tr.friends td.plugin-title span:before{content:"\f454"}.settings_page_bp-components tr.core td.plugin-title span:before{content:"\f448"}.settings_page_bp-components tr.members td.plugin-title span:before{content:"\f307"}#bp-admin-component-form .wp-list-table.plugins .plugin-title{width:25%}@media screen and (max-width:782px){.settings_page_bp-components td.plugin-title span{margin-top:5px}#bp-admin-component-form .wp-list-table.plugins .plugin-title{display:block;width:auto}#bp-admin-component-form .subsubsub{margin-bottom:0;padding-bottom:35px}}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}body.site-users-php th#role,body.users-php th#role,body.users_page_bp-signups th#count_sent{width:10%}body.site-users-php th#email,body.site-users-php th#name,body.users-php th#email,body.users-php th#name,body.users-php th#registered,body.users_page_bp-signups th#date_sent,body.users_page_bp-signups th#email,body.users_page_bp-signups th#name,body.users_page_bp-signups th#registered{width:15%}body.post-type-bp-email th#situation,body.users-php th#blogs,body.users_page_bp-signups th#blogs{width:20%}body.users_page_bp-signups td.count_sent,body.users_page_bp-signups th.column-count_sent{text-align:center}body.post-type-bp-email #excerpt{height:auto}body.post-type-bp-email td.column-situation ul{margin:0}body.post-type-bp-email .categorydiv label{display:block;float:left;padding-left:25px;text-indent:-25px}.tools_page_bp-tools .wrap{max-width:950px}.tools_page_bp-tools p{line-height:2}.tools_page_bp-tools fieldset{margin:2em 0 0}.tools_page_bp-tools legend{color:#23282d;font-size:1.3em;font-weight:600px;margin:1em 0}.tools_page_bp-tools label{clear:left;display:block;line-height:1.5em;margin:0 0 1em;vertical-align:middle}@media screen and (max-width:782px){.tools_page_bp-tools p{line-height:1.5}.tools_page_bp-tools label{margin-bottom:1em;padding-right:25px;text-indent:-33px}.tools_page_bp-tools .checkbox{padding:0 0 0 30px}}#buddypress-update.not-shiny .update-message{border-left:0;padding-left:36px}#buddypress-update.not-shiny .update-message:before{content:"\f534"}
1
+ .bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.buddypress .bp-changelog-section::after,.buddypress .bp-feature::after{content:''}.about-wrap .bp-badge{position:absolute;top:0;right:0}.buddypress code{background-color:#e0e0e0;color:#636363;font-size:1em}@media only screen and (max-width:500px){.about-wrap .bp-badge{position:relative;margin:10px auto;top:auto;right:auto}}.buddypress .bp-headline-feature{margin-bottom:3em;margin-top:3em;padding:2em 3em}.buddypress .bp-headline{margin:0 auto;width:45em}.buddypress .bp-headline span.dashicons{background-color:#f1f1f1;color:#d84800;clear:left;font-size:100px;float:left;height:100px;line-height:100px;margin:0 15px 15px 0;text-align:center;width:100px}.buddypress .bp-headline-feature .headline-title{font-size:2.2em;font-weight:300;line-height:1;margin:0;text-align:center}.buddypress .bp-headline-feature p{font-size:1.15em;margin:1.15em auto .6em 0}.buddypress .bp-features-section{border-bottom:1px solid #ccc;clear:both;margin-top:3em;overflow:hidden;padding-bottom:0}.buddypress .bp-features-section span.dashicons{background-color:#fff;border-radius:50%;clear:left;color:#d84800;font-size:50px;float:left;height:80px;line-height:80px;margin:0 15px 15px 0;text-align:center;width:80px}.buddypress .bp-features-section .headline-title{font-size:2em;font-weight:300;line-height:1.5;margin:0 auto 2em;text-align:center}.buddypress .bp-features-section .bp-feature-with-images{border-bottom:1px solid #ccc;margin-bottom:5em;padding-bottom:2em}.buddypress .bp-features-section .bp-feature,.buddypress .bp-features-section .bp-feature-imaged{float:left;margin-bottom:3em;margin-right:4.799999999%;width:47.6%}.buddypress .bp-features-section .bp-feature-imaged.anon,.buddypress .bp-features-section .bp-feature.opposite{margin-right:0}.buddypress .bp-features-section .bp-feature code{font-size:.95em;line-height:1.5}.buddypress .bp-feature-imaged .feature-title{color:#23282d;font-size:1.25em;margin-bottom:.6em;margin-top:0}.buddypress .bp-feature-imaged p{clear:left;font-size:1.1em}.buddypress .bp-feature-imaged img{clear:left}.buddypress .bp-feature .feature-title{font-size:1.25em;line-height:1.5;margin-bottom:0;margin-left:110px;margin-top:0;text-align:left}.buddypress .bp-feature p{margin-left:110px}.buddypress .bp-changelog-section{clear:both;margin-bottom:3em;margin-top:3em;overflow:hidden;padding-bottom:0}.buddypress .bp-changelog-section .changelog-title{color:#23282d;font-size:1.25em;line-height:1.5;margin:0 auto 1.5em}.buddypress .bp-changelog-section .two-col div{float:left;margin-right:4.799999999%;position:relative;width:47.6%}.buddypress .bp-changelog-section .three-col .col{float:left;margin-right:5%;position:relative;width:29.95%}.buddypress .three-col .col:nth-of-type(3n),.buddypress .two-col .col:nth-of-type(2n){margin-right:0}.buddypress .bp-changelog{margin-bottom:3em}.buddypress .bp-changelog .title{font-size:1em;margin-bottom:0;margin-top:0}.buddypress .bp-changelog p{margin-bottom:3em}.bp-changelog-url{text-align:center}.bp-assets{clear:both;margin-bottom:2em;margin-top:2em}@media screen and (max-width:782px){.bp-assets,.bp-changelog-section,.bp-features-section,.bp-headline-feature{margin-left:20px;margin-right:20px}.buddypress .bp-headline-feature{padding:0}.buddypress .bp-headline{margin:0;width:97%}.buddypress .bp-features-section{clear:both;margin-bottom:0;margin-top:2em;padding-bottom:2em}.buddypress .bp-features-section .bp-feature-with-images{margin-bottom:2em}.buddypress .bp-features-section .headline-title{margin-bottom:1em}.buddypress .bp-changelog-section .changelog-title{font-size:1.25em;line-height:1.5;margin-top:.5em}.buddypress .bp-changelog-section .title,.buddypress .bp-features-section .feature-title{font-size:1.25em;line-height:1.25;margin-top:.6em;text-align:left}.buddypress .bp-changelog .title,.buddypress .bp-features-section .bp-feature-imaged p{font-size:1em}.buddypress .bp-features-section .bp-feature,.buddypress .bp-features-section .bp-feature-imaged{clear:both;float:left;margin-bottom:1em;margin-top:1em;margin-right:0;padding-right:1em;width:100%}.buddypress .bp-features-section .bp-feature span{margin-top:.33em}.buddypress .bp-feature.opposite .feature-title,.buddypress .bp-feature.opposite p{float:none}.buddypress .bp-changelog-section{clear:both;margin-bottom:2em;margin-top:2em}.buddypress .bp-changelog-section .changelog-title{margin-bottom:1.5em}.buddypress .bp-changelog p{margin-bottom:1em}.buddypress .bp-changelog-section .three-col .col,.buddypress .bp-changelog-section .two-col>div{margin-top:0;padding-bottom:.5em;width:100%}}@media screen and (max-width:360px){.buddypress .bp-headline{text-align:center}.buddypress .bp-headline span.dashicons{clear:none;font-size:80px;float:none;height:80px;line-height:80px;margin:0 auto;width:80px}.buddypress .bp-features-section .headline-title,.buddypress .bp-headline-feature .headline-title{font-size:1.5em;line-height:1.5;text-align:left}.buddypress .bp-headline-feature .headline-title{margin:1em 0 0}.buddypress .bp-headline-feature p{margin:1.15em auto .6em 0;text-align:left;width:auto}.buddypress .bp-features-section .bp-feature{text-align:center}.buddypress .bp-features-section span.dashicons{float:none}.buddypress .bp-features-section .feature-title,.buddypress .bp-features-section p{margin-left:0;text-align:left}}#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before{content:"\f452"}#adminmenu #toplevel_page_bp-groups .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_user .wp-menu-image:before{content:"\f456"}#adminmenu #toplevel_page_bp-notifications .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_user .wp-menu-image:before{content:"\f439"}#adminmenu #toplevel_page_bp-messages .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_user .wp-menu-image:before{content:"\f457"}#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before{content:"\f454"}#adminmenu #toplevel_page_bp-settings .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_user .wp-menu-image:before{content:"\f108"}#adminmenu li.toplevel_page_bp-components .wp-menu-image,#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image{content:"\f448"}.settings_page_bp-components td.plugin-title span{float:left;width:18px;height:18px;margin-right:5px}.settings_page_bp-components td.plugin-title span:before{font-family:dashicons;font-size:18px}.settings_page_bp-components tr.activity td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.notifications td.plugin-title span:before{content:"\f339"}.settings_page_bp-components tr.xprofile td.plugin-title span:before{content:"\f336"}.settings_page_bp-components tr.settings td.plugin-title span:before{content:"\f108"}.settings_page_bp-components tr.groups td.plugin-title span:before{content:"\f456"}.settings_page_bp-components tr.messages td.plugin-title span:before{content:"\f457"}.settings_page_bp-components tr.forums td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.blogs td.plugin-title span:before{content:"\f120"}.settings_page_bp-components tr.friends td.plugin-title span:before{content:"\f454"}.settings_page_bp-components tr.core td.plugin-title span:before{content:"\f448"}.settings_page_bp-components tr.members td.plugin-title span:before{content:"\f307"}#bp-admin-component-form .wp-list-table.plugins .plugin-title{width:25%}@media screen and (max-width:782px){.settings_page_bp-components td.plugin-title span{margin-top:5px}#bp-admin-component-form .wp-list-table.plugins .plugin-title{display:block;width:auto}#bp-admin-component-form .subsubsub{margin-bottom:0;padding-bottom:35px}}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}body.site-users-php th#role,body.users-php th#role,body.users_page_bp-signups th#count_sent{width:10%}body.site-users-php th#email,body.site-users-php th#name,body.users-php th#email,body.users-php th#name,body.users-php th#registered,body.users_page_bp-signups th#date_sent,body.users_page_bp-signups th#email,body.users_page_bp-signups th#name,body.users_page_bp-signups th#registered{width:15%}body.post-type-bp-email th#situation,body.users-php th#blogs,body.users_page_bp-signups th#blogs{width:20%}body.users_page_bp-signups td.count_sent,body.users_page_bp-signups th.column-count_sent{text-align:center}.bp-signups-list table{margin:1em 0}.bp-signups-list .column-fields{font-weight:700}body.post-type-bp-email #excerpt{height:auto}body.post-type-bp-email td.column-situation ul{margin:0}body.post-type-bp-email .categorydiv label{display:block;float:left;padding-left:25px;text-indent:-25px}.tools_page_bp-tools .wrap{max-width:950px}.tools_page_bp-tools p{line-height:2}.tools_page_bp-tools fieldset{margin:2em 0 0}.tools_page_bp-tools legend{color:#23282d;font-size:1.3em;font-weight:600px;margin:1em 0}.tools_page_bp-tools label{clear:left;display:block;line-height:1.5em;margin:0 0 1em;vertical-align:middle}@media screen and (max-width:782px){.tools_page_bp-tools p{line-height:1.5}.tools_page_bp-tools label{margin-bottom:1em;padding-right:25px;text-indent:-33px}.tools_page_bp-tools .checkbox{padding:0 0 0 30px}}#buddypress-update.not-shiny .update-message{border-left:0;padding-left:36px}#buddypress-update.not-shiny .update-message:before{content:"\f534"}
bp-core/admin/images/list-unsubscribe.png ADDED
Binary file
bp-core/admin/images/pending-accounts.png ADDED
Binary file
bp-core/admin/images/twenty-seventeen.png ADDED
Binary file
bp-core/bp-core-functions.php CHANGED
@@ -3089,7 +3089,7 @@ function bp_get_email( $email_type ) {
3089
* @param string|array|int|WP_User $to Either a email address, user ID, WP_User object,
3090
* or an array containg the address and name.
3091
* @param array $args {
3092
- * Optional. Array of extra. parameters.
3093
*
3094
* @type array $tokens Optional. Assocative arrays of string replacements for the email.
3095
* }
@@ -3135,6 +3135,23 @@ function bp_send_email( $email_type, $to, $args = array() ) {
3135
$email->set_to( $to );
3136
$email->set_tokens( $args['tokens'] );
3137
3138
$status = $email->validate();
3139
if ( is_wp_error( $status ) ) {
3140
return $status;
@@ -3651,7 +3668,7 @@ function bp_email_get_type_schema( $field = 'description' ) {
3651
* @since 2.7.0
3652
*/
3653
function bp_email_unsubscribe_handler() {
3654
- $emails = bp_email_get_type_schema( 'all' );
3655
$raw_email_type = ! empty( $_GET['nt'] ) ? $_GET['nt'] : '';
3656
$raw_hash = ! empty( $_GET['nh'] ) ? $_GET['nh'] : '';
3657
$raw_user_id = ! empty( $_GET['uid'] ) ? absint( $_GET['uid'] ) : 0;
@@ -3732,7 +3749,7 @@ function bp_email_unsubscribe_handler() {
3732
* @return string The unsubscribe link.
3733
*/
3734
function bp_email_get_unsubscribe_link( $args ) {
3735
- $emails = bp_email_get_type_schema( 'all' );
3736
3737
if ( empty( $args['notification_type'] ) || ! array_key_exists( $args['notification_type'], $emails ) ) {
3738
return site_url( 'wp-login.php' );
@@ -3775,3 +3792,26 @@ function bp_email_get_unsubscribe_link( $args ) {
3775
function bp_email_get_salt() {
3776
return bp_get_option( 'bp-emails-unsubscribe-salt', null );
3777
}
3089
* @param string|array|int|WP_User $to Either a email address, user ID, WP_User object,
3090
* or an array containg the address and name.
3091
* @param array $args {
3092
+ * Optional. Array of extra parameters.
3093
*
3094
* @type array $tokens Optional. Assocative arrays of string replacements for the email.
3095
* }
3135
$email->set_to( $to );
3136
$email->set_tokens( $args['tokens'] );
3137
3138
+ /**
3139
+ * Gives access to an email before it is sent.
3140
+ *
3141
+ * @since 2.8.0
3142
+ *
3143
+ * @param BP_Email $email The email (object) about to be sent.
3144
+ * @param string $email_type Type of email being sent.
3145
+ * @param string|array|int|WP_User $to Either a email address, user ID, WP_User object,
3146
+ * or an array containg the address and name.
3147
+ * @param array $args {
3148
+ * Optional. Array of extra parameters.
3149
+ *
3150
+ * @type array $tokens Optional. Assocative arrays of string replacements for the email.
3151
+ * }
3152
+ */
3153
+ do_action_ref_array( 'bp_send_email', array( &$email, $email_type, $to, $args ) );
3154
+
3155
$status = $email->validate();
3156
if ( is_wp_error( $status ) ) {
3157
return $status;
3668
* @since 2.7.0
3669
*/
3670
function bp_email_unsubscribe_handler() {
3671
+ $emails = bp_email_get_unsubscribe_type_schema();
3672
$raw_email_type = ! empty( $_GET['nt'] ) ? $_GET['nt'] : '';
3673
$raw_hash = ! empty( $_GET['nh'] ) ? $_GET['nh'] : '';
3674
$raw_user_id = ! empty( $_GET['uid'] ) ? absint( $_GET['uid'] ) : 0;
3749
* @return string The unsubscribe link.
3750
*/
3751
function bp_email_get_unsubscribe_link( $args ) {
3752
+ $emails = bp_email_get_unsubscribe_type_schema();
3753
3754
if ( empty( $args['notification_type'] ) || ! array_key_exists( $args['notification_type'], $emails ) ) {
3755
return site_url( 'wp-login.php' );
3792
function bp_email_get_salt() {
3793
return bp_get_option( 'bp-emails-unsubscribe-salt', null );
3794
}
3795
+
3796
+ /**
3797
+ * Get a list of emails for use in our unsubscribe functions.
3798
+ *
3799
+ * @since 2.8.0
3800
+ *
3801
+ * @see https://buddypress.trac.wordpress.org/ticket/7431
3802
+ *
3803
+ * @return array The array of email types and their schema.
3804
+ */
3805
+ function bp_email_get_unsubscribe_type_schema() {
3806
+ $emails = bp_email_get_type_schema( 'all' );
3807
+
3808
+ /**
3809
+ * Filters the return of `bp_email_get_type_schema( 'all' )` for use with
3810
+ * our unsubscribe functionality.
3811
+ *
3812
+ * @since 2.8.0
3813
+ *
3814
+ * @param array $emails The array of email types and their schema.
3815
+ */
3816
+ return (array) apply_filters( 'bp_email_get_unsubscribe_type_schema', $emails );
3817
+ }
bp-core/classes/class-bp-admin.php CHANGED
@@ -605,13 +605,12 @@ class BP_Admin {
605
606
<div class="bp-headline-feature">
607
<div class="bp-headline">
608
- <span class="dashicons dashicons-list-view" aria-hidden="true"></span>
609
- <h3 class="headline-title"><?php esc_html_e( 'Groups Query Overhaul', 'buddypress' ); ?></h3>
610
-
611
<p class="introduction"><?php
612
- /* translators: %s: URL to the development post about this feature */
613
- printf( __( 'Huge performance improvements on sites using persistent caching. <a href="%s">Learn more about the Groups Query rewrite</a>.', 'buddypress' ),
614
- 'https://bpdevel.wordpress.com/2016/09/19/group-queries-have-been-rewritten-for-bp-2-7/' );
615
?></p>
616
</div>
617
</div>
@@ -620,107 +619,98 @@ class BP_Admin {
620
621
<h3 class="headline-title"><?php esc_html_e( 'For Developers &amp; Site Builders', 'buddypress' ); ?></h3>
622
623
- <div class="bp-feature">
624
- <span class="dashicons dashicons-calendar" aria-hidden="true"></span>
625
- <h4 class="feature-title"><?php esc_html_e( 'Improved Profile Date Field', 'buddypress' ); ?></h4>
626
- <p><?php _e( 'New Date Field settings, "Date format" and "Range", make it easier for site administrators to decide how date-based data will be collected and displayed.', 'buddypress' ); ?></p>
627
- </div>
628
629
- <div class="bp-feature opposite">
630
- <span class="dashicons dashicons-groups" aria-hidden="true"></span>
631
- <h4 class="feature-title"><?php esc_html_e( 'Group Types Integration in Templates', 'buddypress' ); ?></h4>
632
- <p><?php
633
- /* translators: %s: URL to the BuddyPress Codex article */
634
- printf( __( 'Enable developers to show Group Types on the front end as well as control where the group type information is rendered. <a href="%s">Learn how to implement this feature</a>.', 'buddypress' ),
635
- 'https://codex.buddypress.org/developer/group-types/' );
636
- ?></p>
637
- </div>
638
639
- <div class="bp-feature">
640
- <span class="dashicons dashicons-admin-multisite" aria-hidden="true"></span>
641
- <h4 class="feature-title"><?php esc_html_e( 'Use the Site Icon as Your Site&#8217;s Profile Photo', 'buddypress' ); ?></h4>
642
- <p><?php
643
- /* translators: %s: URL to the WordPress Codex article */
644
- printf( __( 'BuddyPress sets the site admin&#8217;s profile photo as the default site profile photo on the Sites Directory page. You can now <a href="%s">use the Site Icon introduced in WordPress 4.3</a> instead.', 'buddypress' ),
645
- 'https://codex.wordpress.org/Creating_a_Favicon#WordPress_Version_4.3_or_later' );
646
- ?></p>
647
- </div>
648
649
- <div class="bp-feature opposite">
650
- <span class="dashicons dashicons-filter" aria-hidden="true"></span>
651
- <h4 class="title"><?php esc_html_e( 'Member Type and Group Type Filters in Users and Groups Admin Screens', 'buddypress' ); ?></h4>
652
- <p><?php esc_html_e( 'Easily filter your members and groups by type and set types in bulk on the users and groups list tables in the dashboard.', 'buddypress' ); ?></p>
653
- </div>
654
655
- <div class="bp-feature">
656
- <span class="dashicons dashicons-clock" aria-hidden="true"></span>
657
- <h4 class="feature-title"><?php esc_html_e( 'Localized Timestamps', 'buddypress' ); ?></h4>
658
- <p><?php esc_html_e( 'Fix inaccurate timestamps due to time zones or page caching with new client-side timestamp handling.', 'buddypress' ); ?></p>
659
- </div>
660
661
- <div class="bp-feature opposite">
662
- <span class="dashicons dashicons-email" aria-hidden="true"></span>
663
- <h4 class="feature-title"><?php esc_html_e( 'Links to Unsubscribe from Emails', 'buddypress' ); ?></h4>
664
- <p><?php esc_html_e( 'Improve user experience by facilitating the removal of any or all subscriptions via new email tokens and unsubscribe links.', 'buddypress' ); ?></p>
665
</div>
666
667
<div class="bp-feature">
668
- <span class="dashicons dashicons-admin-page" aria-hidden="true"></span>
669
- <h4 class="title"><?php esc_html_e( 'Use WP Page Names for Headings of BP Directory Pages', 'buddypress' ); ?></h4>
670
- <p><?php esc_html_e( 'Whatever you choose as the title of your Activity, Sites, Members, or Groups directory pages on the back end, is what you&#8217;ll get as the heading on the front end.', 'buddypress' ); ?></p>
671
</div>
672
673
<div class="bp-feature opposite">
674
- <span class="dashicons dashicons-universal-access" aria-hidden="true"></span>
675
- <h4 class="title"><?php esc_html_e( 'Accessibility Updates for the Front End and Back End', 'buddypress' ); ?></h4>
676
- <p><?php esc_html_e( 'Continued improvements for universal access help make BuddyPress back- and front-end screens usable for everyone (and on more devices).', 'buddypress' ); ?></p>
677
</div>
678
679
<div class="bp-feature">
680
- <span class="dashicons dashicons-screenoptions" aria-hidden="true"></span>
681
- <h4 class="title"><?php
682
- /* translators: %s: BP_Button */
683
- printf( __( 'Refactored %s Class to Accept New Arguments', 'buddypress' ), '<code>BP_Button</code>' );
684
- ?></h4>
685
- <p><?php esc_html_e( 'Provides developers with improved syntax and more control over the rendering of buttons.', 'buddypress' ); ?></p>
686
</div>
687
688
<div class="bp-feature opposite">
689
- <span class="dashicons dashicons-image-filter" aria-hidden="true"></span>
690
- <h4 class="title"><?php esc_html_e( 'Improvements to a Single Group&#8217;s Management Screens', 'buddypress' ); ?></h4>
691
- <p><?php esc_html_e( 'Improved markup, new modular group management templates, and a new member search form are just some of the enhancements added to the single group admin screens.', 'buddypress' ); ?></p>
692
- </div>
693
-
694
- <div class="bp-feature">
695
- <span class="dashicons dashicons-groups" aria-hidden="true"></span>
696
- <h4 class="title"><?php
697
- /* translators: %s: parent_id */
698
- printf( __( 'Support for Querying for Groups by New Column %s', 'buddypress' ), '<code>parent_id</code>' );
699
?></h4>
700
- <p><?php esc_html_e( 'Query support for hierarchical groups makes it much easier for developers to add custom front-end functionality.', 'buddypress' ); ?></p>
701
- </div>
702
-
703
- <div class="bp-feature opposite">
704
- <span class="dashicons dashicons-chart-bar" aria-hidden="true"></span>
705
- <h4 class="title"><?php esc_html_e( 'Many, Many Performance Improvements', 'buddypress' ); ?></h4>
706
<p><?php
707
- /* translators: %s: bp_get_user_groups() */
708
- printf( __( 'Improved performance by removing extra database queries, adding new cache calls, and removing the number of loops in %s.', 'buddypress' ), '<code>bp_get_user_groups()</code>' );
709
?></p>
710
</div>
711
712
-
713
<div class="clear"></div>
714
</div>
715
716
<div class="bp-changelog-section">
717
- <h3 class="changelog-title"><?php esc_html_e( 'And so much more!', 'buddypress' ); ?></h3>
718
- <p class="bp-changelog-url"><?php
719
- /* translators: %s: URL to the BuddyPress Codex article */
720
- printf( __( '<a href="%s">Changelog for BuddyPress 2.7.</a>', 'buddypress' ),
721
- 'https://codex.buddypress.org/releases/version-2-7-0/' );
722
- ?></p>
723
724
</div>
725
726
<div class="bp-assets">
@@ -774,10 +764,10 @@ class BP_Admin {
774
775
<h3 class="wp-people-group"><?php _e( 'BuddyPress Team', 'buddypress' ); ?></h3>
776
<ul class="wp-people-group " id="wp-people-group-core-team">
777
- <li class="wp-person" id="wp-person-mercime">
778
- <a class="web" href="https://profiles.wordpress.org/mercime"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/fae451be6708241627983570a1a1817a?s=60">
779
- Mercime</a>
780
- <span class="title"><?php _e( '2.7 Release Lead', 'buddypress' ); ?></span>
781
</li>
782
<li class="wp-person" id="wp-person-r-a-y">
783
<a class="web" href="https://profiles.wordpress.org/r-a-y"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/3bfa556a62b5bfac1012b6ba5f42ebfa?s=60">
@@ -789,6 +779,11 @@ class BP_Admin {
789
Mathieu Viet</a>
790
<span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
791
</li>
792
<li class="wp-person" id="wp-person-dcavins">
793
<a class="web" href="https://profiles.wordpress.org/dcavins"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/a5fa7e83d59cb45ebb616235a176595a?s=60">
794
David Cavins</a>
@@ -819,22 +814,25 @@ class BP_Admin {
819
shanebp</a>
820
<span class="title"><?php _e( 'Community Support', 'buddypress' ); ?></span>
821
</li>
822
- </ul>
823
824
- <h3 class="wp-people-group"><?php _e( '&#x1f31f;Recent Rockstars&#x1f31f;', 'buddypress' ); ?></h3>
825
- <ul class="wp-people-group " id="wp-people-group-rockstars">
826
<li class="wp-person" id="wp-person-netweb">
827
<a class="web" href="https://profiles.wordpress.org/netweb"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/97e1620b501da675315ba7cfb740e80f?s=60">
828
Stephen Edgar</a>
829
</li>
830
<li class="wp-person" id="wp-person-dimensionmedia">
831
<a class="web" href="https://profiles.wordpress.org/dimensionmedia"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/7735aada1ec39d0c1118bd92ed4551f1?s=60">
832
David Bisset</a>
833
</li>
834
- <li class="wp-person" id="wp-person-offereins">
835
- <a class="web" href="https://profiles.wordpress.org/Offereins"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/2404ed0a35bb41aedefd42b0a7be61c1?s=60">
836
- Laurens Offereins</a>
837
- </li>
838
<li class="wp-person" id="wp-person-garrett-eclipse">
839
<a class="web" href="https://profiles.wordpress.org/garrett-eclipse"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/7f68f24441c61514d5d0e1451bb5bc9d?s=60">
840
Garrett Hyder</a>
@@ -847,51 +845,53 @@ class BP_Admin {
847
<a class="web" href="https://profiles.wordpress.org/ramiy"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/ce2a269e424156d79cb0c4e1d4d82db1?s=60">
848
Rami Yushuvaev</a>
849
</li>
850
- <li class="wp-person" id="wp-person-slaffik">
851
- <a class="web" href="https://profiles.wordpress.org/slaffik/"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/61fb07ede3247b63f19015f200b3eb2c?s=60">
852
- Slava Abakumov</a>
853
- </li>
854
</ul>
855
856
<h3 class="wp-people-group"><?php printf( esc_html__( 'Contributors to BuddyPress %s', 'buddypress' ), self::display_version() ); ?></h3>
857
<p class="wp-credits-list">
858
- <a href="https://profiles.wordpress.org/jorbin/">Aaron Jorbin (jorbin)</a>,
859
- <a href="https://profiles.wordpress.org/abwebstudio1/">abwebstudio1</a>,
860
<a href="https://profiles.wordpress.org/boonebgorges/">Boone B Gorges (boonebgorges)</a>,
861
- <a href="https://profiles.wordpress.org/sbrajesh/">Brajesh Singh (sbrajesh)</a>,
862
- <a href="https://profiles.wordpress.org/needle/">Christian Wach (needle)</a>,
863
<a href="https://profiles.wordpress.org/danbp/">danbp</a>,
864
- <a href="https://profiles.wordpress.org/danielhuesken/">Daniel Hüsken (danielhuesken)</a>,
865
<a href="https://profiles.wordpress.org/dcavins/">David Cavins (dcavins)</a>,
866
- <a href="https://profiles.wordpress.org/demon_ru/">demon_ru</a>,
867
<a href="https://profiles.wordpress.org/wpdennis/">Dennis (wpdennis)</a>,
868
- <a href="https://profiles.wordpress.org/ericlewis/">Eric Andrew Lewis (ericlewis)</a>,
869
- <a href="https://profiles.wordpress.org/henrywright/">Henry Wright (henry.wright)</a>,
870
- <a href="https://profiles.wordpress.org/herbovec/">herbovec</a>,
871
<a href="https://profiles.wordpress.org/hnla/">Hugo (hnla)</a>,
872
<a href="https://profiles.wordpress.org/jdgrimes/">J.D. Grimes (jdgrimes)</a>,
873
<a href="https://profiles.wordpress.org/johnjamesjacoby/">John James Jacoby (johnjamesjacoby)</a>,
874
- <a href="https://profiles.wordpress.org/dunhakdis/">Joseph G. (dunhakdis)</a>,
875
- <a href="https://profiles.wordpress.org/kitsunesolar/">kitsunesolar</a>,
876
<a href="https://profiles.wordpress.org/lakrisgubben/">lakrisgubben</a>,
877
<a href="https://profiles.wordpress.org/Offereins">Laurens Offereins (Offereins)</a>,
878
<a href="https://profiles.wordpress.org/imath/">Mathieu Viet (imath)</a>,
879
<a href="https://profiles.wordpress.org/mercime/">mercime</a>,
880
<a href="https://profiles.wordpress.org/tw2113/">Michael Beckwith (tw2113)</a>,
881
- <a href="https://profiles.wordpress.org/michaelbeil/">Michael Beil (michaelbeil)</a>,
882
- <a href="https://profiles.wordpress.org/swissspidy/">Pascal Birchler (swissspidy)</a>,
883
<a href="https://profiles.wordpress.org/DJPaul/">Paul Gibbs (DJPaul)</a>,
884
<a href="https://profiles.wordpress.org/r-a-y/">r-a-y</a>,
885
<a href="https://profiles.wordpress.org/espellcaste/">Renato Alves (espellcaste)</a>,
886
- <a href="https://profiles.wordpress.org/scharc/">scharc</a>,
887
<a href="https://profiles.wordpress.org/slaffik/">Slava Abakumov (slaffik)</a>,
888
- <a href="https://profiles.wordpress.org/spenser4551/">spenser4551</a>,
889
<a href="https://profiles.wordpress.org/netweb/">Stephen Edgar (netweb)</a>,
890
- <a href="https://profiles.wordpress.org/svenl77/">Sven Lehnert (svenl77)</a>,
891
- <a href="https://profiles.wordpress.org/tharsheblows/">tharsheblows</a>,
892
- <a href="https://profiles.wordpress.org/thomaslhotta/">thomaslhotta</a>,
893
- <a href="https://profiles.wordpress.org/tomas711/">tomas711</a>,
894
- <a href="https://profiles.wordpress.org/venturavan2/">venturavan2</a>,
895
<a href="https://profiles.wordpress.org/wordpressrene/">wordpressrene</a>.
896
</p>
897
@@ -924,7 +924,7 @@ class BP_Admin {
924
// Switch welcome text based on whether this is a new installation or not.
925
$welcome_text = ( self::is_new_install() )
926
? __( 'Thank you for installing BuddyPress! BuddyPress helps site builders and WordPress developers add community features to their websites, with user profile fields, activity streams, messaging, and notifications.', 'buddypress' )
927
- : __( 'Thank you for updating! BuddyPress %s has many new features that you will enjoy.', 'buddypress' );
928
929
?>
930
605
606
<div class="bp-headline-feature">
607
<div class="bp-headline">
608
+ <h3 class="headline-title"><?php esc_html_e( 'Modernizing the Codebase', 'buddypress' ); ?></h3>
609
<p class="introduction"><?php
610
+ /* translators: 1: BP REST API, 2: Link to Codex article */
611
+ printf( __( 'To continue the migration of legacy code to modern standards and techniques necessary for the %1$s project and other new features moving forward, <a href="%2$s">BuddyPress 2.8 requires at least PHP 5.3</a>. This will allow us to build better, robust, and secure code, benefitting developers and users now and in the future.', 'buddypress'),
612
+ '<code>BP REST API</code>',
613
+ 'https://codex.buddypress.org/getting-started/buddypress-2-8-will-require-php-5-3/' );
614
?></p>
615
</div>
616
</div>
619
620
<h3 class="headline-title"><?php esc_html_e( 'For Developers &amp; Site Builders', 'buddypress' ); ?></h3>
621
622
+ <div class="bp-feature-with-images">
623
624
+ <div class="bp-feature-imaged">
625
+ <h4 class="feature-title"><?php esc_html_e( 'More helpful "Activate Pending Accounts" screen', 'buddypress' ); ?></h4>
626
+ <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/pending-accounts.png' ); ?>" alt="<?php esc_attr_e( 'The improved pending account screen.', 'buddypress' ); ?>">
627
+ <p><?php esc_html_e( 'When you click on the username on the "Users > Manage Signups" page, you can now view profile data entered by the user at the time of registration.', 'buddypress' ); ?></p>
628
+ </div>
629
630
+ <div class="bp-feature-imaged anon">
631
+ <h4 class="feature-title"><?php
632
+ /* translators: %s: List-Unsubscribe */
633
+ printf( __( 'Support for %s header in emails', 'buddypress' ),
634
+ '<code>List-Unsubscribe</code>' );
635
+ ?></h4>
636
+ <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/list-unsubscribe.png' ); ?>" alt="<?php esc_attr_e( 'Email header showing the list-unsubscribe feature.', 'buddypress' ); ?>">
637
+ <p><?php esc_html_e( 'Allow users to unsubscribe from BuddyPress email notifications in some email clients such as Gmail (web), when properly configured.', 'buddypress' ); ?></p>
638
+ </div>
639
640
+ <div class="bp-feature-imaged">
641
+ <h4 class="feature-title"><?php esc_html_e( 'Twenty Seventeen Companion Stylesheet', 'buddypress' ); ?></h4>
642
+ <p><?php esc_html_e( 'BuddyPress looks great in WordPress\'s latest default theme with the new Twenty Seventeen companion stylesheet.', 'buddypress' ); ?></p>
643
+ <p><?php
644
+ /* translators: 1: Link to the Codex article, 2: functions.php */
645
+ printf( __( 'To change the default two-column page layout to a full-width layout as seen in the image, add the <a href="%1$s">following code</a> to the %2$s file of your Twenty Seventeen child theme.', 'buddypress' ),
646
+ 'https://codex.buddypress.org/themes/bp-theme-compatibility-and-the-wordpress-default-themes/twenty-seventeen-theme/',
647
+ '<code>functions.php</code>' );
648
+ ?></p>
649
+ </div>
650
651
+ <div class="bp-feature-imaged anon">
652
+ <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/twenty-seventeen.png' ); ?>" alt="<?php esc_attr_e( 'Full-width BuddyPress layout for Twenty Seventeen theme.', 'buddypress' ); ?>">
653
+ </div>
654
655
+ <div class="clear"></div>
656
</div>
657
658
<div class="bp-feature">
659
+ <span class="dashicons dashicons-testimonial" aria-hidden="true"></span>
660
+ <h4 class="feature-title"><?php esc_html_e( 'More hooks for Messages', 'buddypress' ); ?></h4>
661
+ <p><?php esc_html_e( 'We\'ve added new filters and actions for different methods throughout the Messages component.', 'buddypress' ); ?></p>
662
</div>
663
664
<div class="bp-feature opposite">
665
+ <span class="dashicons dashicons-search" aria-hidden="true"></span>
666
+ <h4 class="feature-title"><?php esc_html_e( 'A more flexible Group search', 'buddypress' ); ?></h4>
667
+ <p><?php
668
+ /* translators: 1: search_column, 2: BP_Groups_Group::get() */
669
+ printf( __( 'The new %1$s parameter allows developers to specify which columns should be matched, as well as where wildcard characters should be placed, when searching via %2$s.', 'buddypress' ),
670
+ '<code>search_column</code>',
671
+ '<code>BP_Groups_Group::get()</code>' );
672
+ ?></p>
673
</div>
674
675
<div class="bp-feature">
676
+ <span class="dashicons dashicons-groups" aria-hidden="true"></span>
677
+ <h4 class="feature-title"><?php esc_html_e( 'Alphabetical sorting for Groups widget', 'buddypress' ); ?></h4>
678
+ <p><?php esc_html_e( 'The groups widget can now be sorted alphabetically, in addition to sorting the results by recently active, popular, and newest groups.', 'buddypress' ); ?></p>
679
</div>
680
681
<div class="bp-feature opposite">
682
+ <span class="dashicons dashicons-email" aria-hidden="true"></span>
683
+ <h4 class="feature-title"><?php
684
+ /* translators: %s: PHPMailer */
685
+ printf( __( 'Enable choice of %s', 'buddypress' ), '<code>PHPMailer</code>' );
686
?></h4>
687
<p><?php
688
+ /* translators: %s: PHPMailer */
689
+ printf( __( 'Developers can specify which %s should be used when sending BuddyPress with a new filter.', 'buddypress' ), '<code>PHPMailer</code>' );
690
?></p>
691
</div>
692
693
<div class="clear"></div>
694
</div>
695
696
<div class="bp-changelog-section">
697
+ <h3 class="changelog-title"><?php esc_html_e( 'More under the hood &#8230;', 'buddypress' ); ?></h3>
698
+ <div class="bp-changelog three-col">
699
+ <div class="col">
700
+ <h4 class="title"><?php esc_html_e( 'Localization Improvements', 'buddypress' ); ?></h4>
701
+ <p><?php esc_html_e( 'We continue to improve our localization internals, making it easier for translation editors to ensure that BuddyPress will be available for everyone in their own language.', 'buddypress' ); ?></p>
702
+ </div>
703
+ <div class="col">
704
+ <h4 class="title"><?php esc_html_e( 'Developer Reference', 'buddypress' ); ?></h4>
705
+ <p><?php esc_html_e( 'Regular updates to inline code documentation make it easier for developers to understand how BuddyPress works.', 'buddypress' ); ?></p>
706
+ </div>
707
708
+ <div class="col">
709
+ <h4 class="title"><?php esc_html_e( 'Accessibility Upgrades', 'buddypress' ); ?></h4>
710
+ <p><?php esc_html_e( 'Continued improvements for universal access help make BuddyPress back- and front-end screens usable for everyone (and on more devices).', 'buddypress' ); ?></p>
711
+ </div>
712
+ </div>
713
+ <div class="clear"></div>
714
</div>
715
716
<div class="bp-assets">
764
765
<h3 class="wp-people-group"><?php _e( 'BuddyPress Team', 'buddypress' ); ?></h3>
766
<ul class="wp-people-group " id="wp-people-group-core-team">
767
+ <li class="wp-person" id="wp-person-slaffik">
768
+ <a class="web" href="https://profiles.wordpress.org/r-a-y"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/61fb07ede3247b63f19015f200b3eb2c?s=60">
769
+ Slava Abakumov</a>
770
+ <span class="title"><?php _e( '2.8 Release Lead', 'buddypress' ); ?></span>
771
</li>
772
<li class="wp-person" id="wp-person-r-a-y">
773
<a class="web" href="https://profiles.wordpress.org/r-a-y"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/3bfa556a62b5bfac1012b6ba5f42ebfa?s=60">
779
Mathieu Viet</a>
780
<span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
781
</li>
782
+ <li class="wp-person" id="wp-person-mercime">
783
+ <a class="web" href="https://profiles.wordpress.org/mercime"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/fae451be6708241627983570a1a1817a?s=60">
784
+ Mercime</a>
785
+ <span class="title"><?php _e( 'Navigator', 'buddypress' ); ?></span>
786
+ </li>
787
<li class="wp-person" id="wp-person-dcavins">
788
<a class="web" href="https://profiles.wordpress.org/dcavins"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/a5fa7e83d59cb45ebb616235a176595a?s=60">
789
David Cavins</a>
814
shanebp</a>
815
<span class="title"><?php _e( 'Community Support', 'buddypress' ); ?></span>
816
</li>
817
818
+ <li class="wp-person" id="wp-person-offereins">
819
+ <a class="web" href="https://profiles.wordpress.org/Offereins"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/2404ed0a35bb41aedefd42b0a7be61c1?s=60">
820
+ Laurens Offereins</a>
821
+ <span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
822
+ </li>
823
<li class="wp-person" id="wp-person-netweb">
824
<a class="web" href="https://profiles.wordpress.org/netweb"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/97e1620b501da675315ba7cfb740e80f?s=60">
825
Stephen Edgar</a>
826
+ <span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
827
</li>
828
+ </ul>
829
+
830
+ <h3 class="wp-people-group"><?php _e( '&#x1f31f;Recent Rockstars&#x1f31f;', 'buddypress' ); ?></h3>
831
+ <ul class="wp-people-group " id="wp-people-group-rockstars">
832
<li class="wp-person" id="wp-person-dimensionmedia">
833
<a class="web" href="https://profiles.wordpress.org/dimensionmedia"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/7735aada1ec39d0c1118bd92ed4551f1?s=60">
834
David Bisset</a>
835
</li>
836
<li class="wp-person" id="wp-person-garrett-eclipse">
837
<a class="web" href="https://profiles.wordpress.org/garrett-eclipse"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/7f68f24441c61514d5d0e1451bb5bc9d?s=60">
838
Garrett Hyder</a>
845
<a class="web" href="https://profiles.wordpress.org/ramiy"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/ce2a269e424156d79cb0c4e1d4d82db1?s=60">
846
Rami Yushuvaev</a>
847
</li>
848
</ul>
849
850
<h3 class="wp-people-group"><?php printf( esc_html__( 'Contributors to BuddyPress %s', 'buddypress' ), self::display_version() ); ?></h3>
851
<p class="wp-credits-list">
852
+ <a href="https://profiles.wordpress.org/dontdream/">Andrea Tarantini (dontdream)</a>,
853
+ <a href="https://profiles.wordpress.org/ankit-k-gupta/">Ankit K Gupta (ankit-k-gupta)</a>,
854
+ <a href="https://profiles.wordpress.org/angeljs/">angeljs</a>,
855
<a href="https://profiles.wordpress.org/boonebgorges/">Boone B Gorges (boonebgorges)</a>,
856
+ <a href="https://profiles.wordpress.org/thebrandonallen/">Brandon Allen (thebrandonallen)</a>,
857
+ <a href="https://profiles.wordpress.org/bhargavbhandari90/">Bunty (bhargavbhandari90)</a>,
858
+ <a href="https://profiles.wordpress.org/ketuchetan/">chetansatasiya (ketuchetan)</a>,
859
+ <a href="https://profiles.wordpress.org/chiragpatel/">Chirag Patel (chiragpatel)</a>,
860
<a href="https://profiles.wordpress.org/danbp/">danbp</a>,
861
<a href="https://profiles.wordpress.org/dcavins/">David Cavins (dcavins)</a>,
862
<a href="https://profiles.wordpress.org/wpdennis/">Dennis (wpdennis)</a>,
863
+ <a href="https://profiles.wordpress.org/Dianakc/">Diana K. Cury (Dianakc)</a>,
864
+ <a href="https://profiles.wordpress.org/finzend/">finzend</a>,
865
<a href="https://profiles.wordpress.org/hnla/">Hugo (hnla)</a>,
866
<a href="https://profiles.wordpress.org/jdgrimes/">J.D. Grimes (jdgrimes)</a>,
867
<a href="https://profiles.wordpress.org/johnjamesjacoby/">John James Jacoby (johnjamesjacoby)</a>,
868
+ <a href="https://profiles.wordpress.org/jonas-lundman/">Jonas Lundman (jonas-lundman)</a>,
869
+ <a href="https://profiles.wordpress.org/jonieske/">jonieske</a>,
870
+ <a href="https://profiles.wordpress.org/jreeve/">jreeve</a>,
871
<a href="https://profiles.wordpress.org/lakrisgubben/">lakrisgubben</a>,
872
<a href="https://profiles.wordpress.org/Offereins">Laurens Offereins (Offereins)</a>,
873
+ <a href="https://profiles.wordpress.org/lgreenwoo/">lgreenwoo</a>,
874
+ <a href="https://profiles.wordpress.org/maccast/">maccast</a>,
875
<a href="https://profiles.wordpress.org/imath/">Mathieu Viet (imath)</a>,
876
+ <a href="https://profiles.wordpress.org/mchansy/">mchansy</a>,
877
<a href="https://profiles.wordpress.org/mercime/">mercime</a>,
878
<a href="https://profiles.wordpress.org/tw2113/">Michael Beckwith (tw2113)</a>,
879
+ <a href="https://profiles.wordpress.org/modemlooper/">modemlooper</a>,
880
+ <a href="https://profiles.wordpress.org/m_uysl/">Mustafa Uysal (m_uysl)</a>,
881
+ <a href="https://profiles.wordpress.org/nickmomrik/">Nick Momrik (nickmomrik)</a>,
882
<a href="https://profiles.wordpress.org/DJPaul/">Paul Gibbs (DJPaul)</a>,
883
+ <a href="https://profiles.wordpress.org/pareshradadiya/">paresh.radadiya (pareshradadiya)</a>,
884
+ <a href="https://profiles.wordpress.org/petya/">Petya Raykovska</a>,
885
<a href="https://profiles.wordpress.org/r-a-y/">r-a-y</a>,
886
+ <a href="https://profiles.wordpress.org/rekmla/">rekmla</a>,
887
<a href="https://profiles.wordpress.org/espellcaste/">Renato Alves (espellcaste)</a>,
888
+ <a href="https://profiles.wordpress.org/rogercoathup/">Roger Coathup (rogercoathup)</a>,
889
+ <a href="https://profiles.wordpress.org/DarkWolf/">Salvatore (DarkWolf)</a>,
890
+ <a href="https://profiles.wordpress.org/sanket.parmar/">Sanket Parmar (sanket.parmar)</a>,
891
<a href="https://profiles.wordpress.org/slaffik/">Slava Abakumov (slaffik)</a>,
892
+ <a href="https://profiles.wordpress.org/stagger-lee/">Stagger Lee (stagger-lee)</a>,
893
<a href="https://profiles.wordpress.org/netweb/">Stephen Edgar (netweb)</a>,
894
+ <a href="https://profiles.wordpress.org/mahype/">Sven Wagener (mahype)</a>,
895
<a href="https://profiles.wordpress.org/wordpressrene/">wordpressrene</a>.
896
</p>
897
924
// Switch welcome text based on whether this is a new installation or not.
925
$welcome_text = ( self::is_new_install() )
926
? __( 'Thank you for installing BuddyPress! BuddyPress helps site builders and WordPress developers add community features to their websites, with user profile fields, activity streams, messaging, and notifications.', 'buddypress' )
927
+ : __( 'Thank you for updating! BuddyPress %s has many new improvements that you will enjoy.', 'buddypress' );
928
929
?>
930
bp-core/classes/class-bp-attachment-cover-image.php CHANGED
@@ -1,291 +1,291 @@
1
- <?php
2
- /**
3
- * Core Cover Image attachment class.
4
- *
5
- * @package BuddyPress
6
- * @subpackage Core
7
- * @since 2.4.0
8
- */
9
-
10
- // Exit if accessed directly.
11
- defined( 'ABSPATH' ) || exit;
12
-
13
- /**
14
- * BP Attachment Cover Image class.
15
- *
16
- * Extends BP Attachment to manage the cover images uploads.
17
- *
18
- * @since 2.4.0
19
- */
20
- class BP_Attachment_Cover_Image extends BP_Attachment {
21
- /**
22
- * The constuctor.
23
- *
24
- * @since 2.4.0
25
- */
26
- public function __construct() {
27
- // Allowed cover image types & upload size.
28
- $allowed_types = bp_attachments_get_allowed_types( 'cover_image' );
29
- $max_upload_file_size = bp_attachments_get_max_upload_file_size( 'cover_image' );
30
-
31
- parent::__construct( array(
32
- 'action' => 'bp_cover_image_upload',
33
- 'file_input' => 'file',
34
- 'original_max_filesize' => $max_upload_file_size,
35
- 'base_dir' => bp_attachments_uploads_dir_get( 'dir' ),
36
- 'required_wp_files' => array( 'file', 'image' ),
37
-
38
- // Specific errors for cover images.
39
- 'upload_error_strings' => array(
40
- 11 => sprintf( __( 'That image is too big. Please upload one smaller than %s', 'buddypress' ), size_format( $max_upload_file_size ) ),
41
- 12 => sprintf( _n( 'Please upload only this file type: %s.', 'Please upload only these file types: %s.', count( $allowed_types ), 'buddypress' ), self::get_cover_image_types( $allowed_types ) ),
42
- ),
43
- ) );
44
- }
45
-
46
- /**
47
- * Gets the available cover image types.
48
- *
49
- * @since 2.4.0
50
- *
51
- * @param array $allowed_types Array of allowed cover image types.
52
- * @return string $value Comma-separated list of allowed cover image types.
53
- */
54
- public static function get_cover_image_types( $allowed_types = array() ) {
55
- $types = array_map( 'strtoupper', $allowed_types );
56
- $comma = _x( ',', 'cover image types separator', 'buddypress' );
57
- return join( $comma . ' ', $types );
58
- }
59
-
60
- /**
61
- * Cover image specific rules.
62
- *
63
- * Adds an error if the cover image size or type don't match BuddyPress needs.
64
- * The error code is the index of $upload_error_strings.
65
- *
66
- * @since 2.4.0
67
- *
68
- * @param array $file The temporary file attributes (before it has been moved).
69
- * @return array $file The file with extra errors if needed.
70
- */
71
- public function validate_upload( $file = array() ) {
72
- // Bail if already an error.
73
- if ( ! empty( $file['error'] ) ) {
74
- return $file;
75
- }
76
-
77
- // File size is too big.
78
- if ( $file['size'] > $this->original_max_filesize ) {
79
- $file['error'] = 11;
80
-
81
- // File is of invalid type.
82
- } elseif ( ! bp_attachments_check_filetype( $file['tmp_name'], $file['name'], bp_attachments_get_allowed_mimes( 'cover_image' ) ) ) {
83
- $file['error'] = 12;
84
- }
85
-
86
- // Return with error code attached.
87
- return $file;
88
- }
89
-
90
- /**
91
- * Set the directory when uploading a file.
92
- *
93
- * @since 2.4.0
94
- *
95
- * @param array $upload_dir The original Uploads dir.
96
- * @return array $value Upload data (path, url, basedir...).
97
- */
98
- public function upload_dir_filter( $upload_dir = array() ) {
99
- // Default values are for profiles.
100
- $object_id = bp_displayed_user_id();
101
-
102
- if ( empty( $object_id ) ) {
103
- $object_id = bp_loggedin_user_id();
104
- }
105
-
106
- $object_directory = 'members';
107
-
108
- // We're in a group, edit default values.
109
- if ( bp_is_group() || bp_is_group_create() ) {
110
- $object_id = bp_get_current_group_id();
111
- $object_directory = 'groups';
112
- }
113
-
114
- // Set the subdir.
115
- $subdir = '/' . $object_directory . '/' . $object_id . '/cover-image';
116
-
117
- /**
118
- * Filters the cover image upload directory.
119
- *
120
- * @since 2.4.0
121
- *
122
- * @param array $value Array containing the path, URL, and other helpful settings.
123
- * @param array $upload_dir The original Uploads dir.
124
- */
125
- return apply_filters( 'bp_attachments_cover_image_upload_dir', array(
126
- 'path' => $this->upload_path . $subdir,
127
- 'url' => $this->url . $subdir,
128
- 'subdir' => $subdir,
129
- 'basedir' => $this->upload_path,
130
- 'baseurl' => $this->url,
131
- 'error' => false
132
- ), $upload_dir );
133
- }
134
-
135
- /**
136
- * Adjust the cover image to fit with advised width & height.
137
- *
138
- * @since 2.4.0
139
- *
140
- * @param string $file The absolute path to the file.
141
- * @param array $dimensions Array of dimensions for the cover image.
142
- * @return mixed
143
- */
144
- public function fit( $file = '', $dimensions = array() ) {
145
- if ( empty( $dimensions['width'] ) || empty( $dimensions['height'] ) ) {
146
- return false;
147
- }
148
-
149
- // Get image size.
150
- $cover_data = parent::get_image_data( $file );
151
-
152
- // Init the edit args.
153
- $edit_args = array();
154
-
155
- // Do we need to resize the image?
156
- if ( ( isset( $cover_data['width'] ) && $cover_data['width'] > $dimensions['width'] ) ||
157
- ( isset( $cover_data['height'] ) && $cover_data['height'] > $dimensions['height'] ) ) {
158
- $edit_args = array(
159
- 'max_w' => $dimensions['width'],
160
- 'max_h' => $dimensions['height'],
161
- 'crop' => true,
162
- );
163
- }
164
-
165
- // Do we need to rotate the image?
166
- $angles = array(
167
- 3 => 180,
168
- 6 => -90,
169
- 8 => 90,
170
- );
171
-
172
- if ( isset( $cover_data['meta']['orientation'] ) && isset( $angles[ $cover_data['meta']['orientation'] ] ) ) {
173
- $edit_args['rotate'] = $angles[ $cover_data['meta']['orientation'] ];
174
- }
175
-
176
- // No need to edit the avatar, original file will be used.
177
- if ( empty( $edit_args ) ) {
178
- return false;
179
-
180
- // Add the file to the edit arguments.
181
- } else {
182
- $edit_args = array_merge( $edit_args, array( 'file' => $file, 'save' => false ) );
183
- }
184
-
185
- // Get the editor so that we can use a specific save method.
186
- $editor = parent::edit_image( 'cover_image', $edit_args );
187
-
188
- if ( is_wp_error( $editor ) ) {
189
- return $editor;
190
- } elseif ( ! is_a( $editor, 'WP_Image_Editor' ) ) {
191
- return false;
192
- }
193
-
194
- // Save the new image file.
195
- return $editor->save( $this->generate_filename( $file ) );
196
- }
197
-
198
- /**
199
- * Generate a filename for the cover image.
200
- *
201
- * @since 2.4.0
202
- *
203
- * @param string $file The absolute path to the file.
204
- * @return string $value The absolute path to the new file name.
205
- */
206
- public function generate_filename( $file = '' ) {
207
- if ( empty( $file ) || ! file_exists( $file ) ) {
208
- return false;
209
- }
210
-
211
- $info = pathinfo( $file );
212
- $ext = strtolower( $info['extension'] );
213
- $name = wp_unique_filename( $info['dirname'], uniqid() . "-bp-cover-image.$ext" );
214
-
215
- return trailingslashit( $info['dirname'] ) . $name;
216
- }
217
-
218
- /**
219
- * Build script datas for the Uploader UI.
220
- *
221
- * @since 2.4.0
222
- *
223
- * @return array The javascript localization data
224
- */
225
- public function script_data() {
226
- // Get default script data.
227
- $script_data = parent::script_data();
228
-
229
- if ( bp_is_user() ) {
230
- $item_id = bp_displayed_user_id();
231
-
232
- $script_data['bp_params'] = array(
233
- 'object' => 'user',
234
- 'item_id' => $item_id,
235
- 'has_cover_image' => bp_attachments_get_user_has_cover_image( $item_id ),
236
- 'nonces' => array(
237
- 'remove' => wp_create_nonce( 'bp_delete_cover_image' ),
238
- ),
239
- );
240
-
241
- // Set feedback messages.
242
- $script_data['feedback_messages'] = array(
243
- 1 => __( 'Your new cover image was uploaded successfully.', 'buddypress' ),
244
- 2 => __( 'There was a problem deleting your cover image. Please try again.', 'buddypress' ),
245
- 3 => __( 'Your cover image was deleted successfully!', 'buddypress' ),
246
- );
247
- } elseif ( bp_is_group() ) {
248
- $item_id = bp_get_current_group_id();
249
-
250
- $script_data['bp_params'] = array(
251
- 'object' => 'group',
252
- 'item_id' => bp_get_current_group_id(),
253
- 'has_cover_image' => bp_attachments_get_group_has_cover_image( $item_id ),
254
- 'nonces' => array(
255
- 'remove' => wp_create_nonce( 'bp_delete_cover_image' ),
256
- ),
257
- );
258
-
259
- // Set feedback messages.
260
- $script_data['feedback_messages'] = array(
261
- 1 => __( 'The group cover image was uploaded successfully.', 'buddypress' ),
262
- 2 => __( 'There was a problem deleting the group cover image. Please try again.', 'buddypress' ),
263
- 3 => __( 'The group cover image was deleted successfully!', 'buddypress' ),
264
- );
265
- } else {
266
-
267
- /**
268
- * Filters the cover image params to include specific BuddyPress params for your object.
269
- * e.g. Cover image for blogs single item.
270
- *
271
- * @since 2.4.0
272
- *
273
- * @param array $value The cover image specific BuddyPress parameters.
274
- */
275
- $script_data['bp_params'] = apply_filters( 'bp_attachment_cover_image_params', array() );
276
- }
277
-
278
- // Include our specific js & css.
279
- $script_data['extra_js'] = array( 'bp-cover-image' );
280
- $script_data['extra_css'] = array( 'bp-avatar' );
281
-
282
- /**
283
- * Filters the cover image script data.
284
- *
285
- * @since 2.4.0
286
- *
287
- * @param array $script_data Array of data for the cover image.
288
- */
289
- return apply_filters( 'bp_attachments_cover_image_script_data', $script_data );
290
- }
291
- }
1
+ <?php
2
+ /**
3
+ * Core Cover Image attachment class.
4
+ *
5
+ * @package BuddyPress
6
+ * @subpackage Core
7
+ * @since 2.4.0
8
+ */
9
+
10
+ // Exit if accessed directly.
11
+ defined( 'ABSPATH' ) || exit;
12
+
13
+ /**
14
+ * BP Attachment Cover Image class.
15
+ *
16
+ * Extends BP Attachment to manage the cover images uploads.
17
+ *
18
+ * @since 2.4.0
19
+ */
20
+ class BP_Attachment_Cover_Image extends BP_Attachment {
21
+ /**
22
+ * The constuctor.
23
+ *
24
+ * @since 2.4.0
25
+ */
26
+ public function __construct() {
27
+ // Allowed cover image types & upload size.
28
+ $allowed_types = bp_attachments_get_allowed_types( 'cover_image' );
29
+ $max_upload_file_size = bp_attachments_get_max_upload_file_size( 'cover_image' );
30
+
31
+ parent::__construct( array(
32
+ 'action' => 'bp_cover_image_upload',
33
+ 'file_input' => 'file',
34
+ 'original_max_filesize' => $max_upload_file_size,
35
+ 'base_dir' => bp_attachments_uploads_dir_get( 'dir' ),
36
+ 'required_wp_files' => array( 'file', 'image' ),
37
+
38
+ // Specific errors for cover images.
39
+ 'upload_error_strings' => array(
40
+ 11 => sprintf( __( 'That image is too big. Please upload one smaller than %s', 'buddypress' ), size_format( $max_upload_file_size ) ),
41
+ 12 => sprintf( _n( 'Please upload only this file type: %s.', 'Please upload only these file types: %s.', count( $allowed_types ), 'buddypress' ), self::get_cover_image_types( $allowed_types ) ),
42
+ ),
43
+ ) );
44
+ }
45
+
46
+ /**
47
+ * Gets the available cover image types.
48
+ *
49
+ * @since 2.4.0
50
+ *
51
+ * @param array $allowed_types Array of allowed cover image types.
52
+ * @return string $value Comma-separated list of allowed cover image types.
53
+ */
54
+ public static function get_cover_image_types( $allowed_types = array() ) {
55
+ $types = array_map( 'strtoupper', $allowed_types );
56
+ $comma = _x( ',', 'cover image types separator', 'buddypress' );
57
+ return join( $comma . ' ', $types );
58
+ }
59
+
60
+ /**
61
+ * Cover image specific rules.
62
+ *
63
+ * Adds an error if the cover image size or type don't match BuddyPress needs.
64
+ * The error code is the index of $upload_error_strings.
65
+ *
66
+ * @since 2.4.0
67
+ *
68
+ * @param array $file The temporary file attributes (before it has been moved).
69
+ * @return array $file The file with extra errors if needed.
70
+ */
71
+ public function validate_upload( $file = array() ) {
72
+ // Bail if already an error.
73
+ if ( ! empty( $file['error'] ) ) {
74
+ return $file;
75
+ }
76
+
77
+ // File size is too big.
78
+ if ( $file['size'] > $this->original_max_filesize ) {
79
+ $file['error'] = 11;
80
+
81
+ // File is of invalid type.
82
+ } elseif ( ! bp_attachments_check_filetype( $file['tmp_name'], $file['name'], bp_attachments_get_allowed_mimes( 'cover_image' ) ) ) {
83
+ $file['error'] = 12;
84
+ }
85
+
86
+ // Return with error code attached.
87
+ return $file;
88
+ }
89
+
90
+ /**
91
+ * Set the directory when uploading a file.
92
+ *
93
+ * @since 2.4.0
94
+ *
95
+ * @param array $upload_dir The original Uploads dir.
96
+ * @return array $value Upload data (path, url, basedir...).
97
+ */
98
+ public function upload_dir_filter( $upload_dir = array() ) {
99
+ // Default values are for profiles.
100
+ $object_id = bp_displayed_user_id();
101
+
102
+ if ( empty( $object_id ) ) {
103
+ $object_id = bp_loggedin_user_id();
104
+ }
105
+
106
+ $object_directory = 'members';
107
+
108
+ // We're in a group, edit default values.
109
+ if ( bp_is_group() || bp_is_group_create() ) {
110
+ $object_id = bp_get_current_group_id();
111
+ $object_directory = 'groups';
112
+ }
113
+
114
+ // Set the subdir.
115
+ $subdir = '/' . $object_directory . '/' . $object_id . '/cover-image';
116
+
117
+ /**
118
+ * Filters the cover image upload directory.
119
+ *
120
+ * @since 2.4.0
121
+ *
122
+ * @param array $value Array containing the path, URL, and other helpful settings.
123
+ * @param array $upload_dir The original Uploads dir.
124
+ */
125
+ return apply_filters( 'bp_attachments_cover_image_upload_dir', array(
126
+ 'path' => $this->upload_path . $subdir,
127
+ 'url' => $this->url . $subdir,
128
+ 'subdir' => $subdir,
129
+ 'basedir' => $this->upload_path,
130
+ 'baseurl' => $this->url,
131
+ 'error' => false
132
+ ), $upload_dir );
133
+ }
134
+
135
+ /**
136
+ * Adjust the cover image to fit with advised width & height.
137
+ *
138
+ * @since 2.4.0
139
+ *
140
+ * @param string $file The absolute path to the file.
141
+ * @param array $dimensions Array of dimensions for the cover image.
142
+ * @return mixed
143
+ */
144
+ public function fit( $file = '', $dimensions = array() ) {
145
+ if ( empty( $dimensions['width'] ) || empty( $dimensions['height'] ) ) {
146
+ return false;
147
+ }
148
+
149
+ // Get image size.
150
+ $cover_data = parent::get_image_data( $file );
151
+
152
+ // Init the edit args.
153
+ $edit_args = array();
154
+
155
+ // Do we need to resize the image?
156
+ if ( ( isset( $cover_data['width'] ) && $cover_data['width'] > $dimensions['width'] ) ||
157
+ ( isset( $cover_data['height'] ) && $cover_data['height'] > $dimensions['height'] ) ) {
158
+ $edit_args = array(
159
+ 'max_w' => $dimensions['width'],
160
+ 'max_h' => $dimensions['height'],
161
+ 'crop' => true,
162
+ );
163
+ }
164
+
165
+ // Do we need to rotate the image?
166
+ $angles = array(
167
+ 3 => 180,
168
+ 6 => -90,
169
+ 8 => 90,
170
+ );
171
+
172
+ if ( isset( $cover_data['meta']['orientation'] ) && isset( $angles[ $cover_data['meta']['orientation'] ] ) ) {
173
+ $edit_args['rotate'] = $angles[ $cover_data['meta']['orientation'] ];
174
+ }
175
+
176
+ // No need to edit the avatar, original file will be used.
177
+ if ( empty( $edit_args ) ) {
178
+ return false;
179
+
180
+ // Add the file to the edit arguments.
181
+ } else {
182
+ $edit_args = array_merge( $edit_args, array( 'file' => $file, 'save' => false ) );
183
+ }
184
+
185
+ // Get the editor so that we can use a specific save method.
186
+ $editor = parent::edit_image( 'cover_image', $edit_args );
187
+
188
+ if ( is_wp_error( $editor ) ) {
189
+ return $editor;
190
+ } elseif ( ! is_a( $editor, 'WP_Image_Editor' ) ) {
191
+ return false;
192
+ }
193
+
194
+ // Save the new image file.
195
+ return $editor->save( $this->generate_filename( $file ) );
196
+ }
197
+
198
+ /**
199
+ * Generate a filename for the cover image.
200
+ *
201
+ * @since 2.4.0
202
+ *
203
+ * @param string $file The absolute path to the file.
204
+ * @return string $value The absolute path to the new file name.
205
+ */
206
+ public function generate_filename( $file = '' ) {
207
+ if ( empty( $file ) || ! file_exists( $file ) ) {
208
+ return false;
209
+ }
210