BuddyPress - Version 2.5.0-rc1

Version Description

= 2.5 = See: https://codex.buddypress.org/releases/version-2-5-0/

= 2.4.3 = See: https://codex.buddypress.org/releases/version-2-4-2/

= 2.4.3 = See: https://codex.buddypress.org/releases/version-2-4-3/

= 2.4.2 = See: https://codex.buddypress.org/releases/version-2-4-2/

= 2.4.1 = See: https://codex.buddypress.org/releases/version-2-4-1/

= 2.4 = See: https://codex.buddypress.org/releases/version-2-4-0/

= 2.3.5 = See: https://codex.buddypress.org/releases/version-2-3-5/

= 2.3.4 = See: https://codex.buddypress.org/releases/version-2-3-4/

= 2.3.3 = See: https://codex.buddypress.org/releases/version-2-3-3/

= 2.3.2 = See: https://codex.buddypress.org/releases/version-2-3-2/

= 2.3.1 = See: https://codex.buddypress.org/releases/version-2-3-1/

= 2.3.0 = See: https://codex.buddypress.org/releases/version-2-3-0/

= 2.2.3.1 = See: https://codex.buddypress.org/releases/version-2-2-3-1/

= 2.2.3 = See: https://codex.buddypress.org/releases/version-2-2-3/

= 2.2.2.1 = See: https://codex.buddypress.org/releases/version-2-2-2-1/

= 2.2.2 = See: https://codex.buddypress.org/releases/version-2-2-2/

= 2.2.1 = See: https://codex.buddypress.org/releases/version-2-2-1/

= 2.2 = See: https://codex.buddypress.org/releases/version-2-2/

= 2.1 = See: https://codex.buddypress.org/releases/version-2-1/

= 2.0.3 = See: https://codex.buddypress.org/releases/version-2-0-3/

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

= 2.0.1 = See: https://codex.buddypress.org/releases/version-2-0-1/

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

= 1.9.2 = See: https://codex.buddypress.org/releases/version-1-9-2/

= 1.9.1 = See: https://codex.buddypress.org/releases/version-1-9-1/

= 1.9 = See: https://codex.buddypress.org/releases/version-1-9/

= 1.8.1 = See: https://codex.buddypress.org/releases/version-1-8-1/

= 1.8 = See: https://codex.buddypress.org/releases/version-1-8/

= 1.7.3 = See: https://codex.buddypress.org/releases/version-1-7-3/

= 1.7.2 = See: https://codex.buddypress.org/releases/version-1-7-2/

= 1.7.1 = See: https://codex.buddypress.org/releases/version-1-7-1/

= 1.7 = See: https://codex.buddypress.org/releases/version-1-7/

= 1.6.5 = See: https://codex.buddypress.org/releases/version-1-6-5/

= 1.6.4 = See: https://codex.buddypress.org/releases/version-1-6-4/

= 1.6.3 = See: https://codex.buddypress.org/releases/version-1-6-3/

= 1.6.2 = Compatibility with WordPress 3.5

= 1.6.1 = Fixes 4 bugs

= 1.6 = See: https://codex.buddypress.org/releases/version-1-6/

= 1.5 = See: https://codex.buddypress.org/releases/version-1-5/

= 1.2.9 = Compatibility with WordPress 3.2

= 1.2.8 = Compatibility with WordPress 3.1

= 1.2.7 = Fixes over 10 bugs.

Download this release

Release Info

Developer DJPaul
Plugin Icon 128x128 BuddyPress
Version 2.5.0-rc1
Comparing to
See all releases

Code changes from version 2.5.0-beta1 to 2.5.0-rc1

Files changed (95) hide show
  1. bp-activity/admin/js/admin.min.js +1 -1
  2. bp-activity/bp-activity-admin.php +4 -7
  3. bp-activity/bp-activity-cssjs.php +1 -1
  4. bp-activity/classes/class-bp-activity-activity.php +50 -20
  5. bp-activity/classes/class-bp-activity-list-table.php +12 -5
  6. bp-activity/js/mentions.min.js +1 -1
  7. bp-core/admin/bp-core-admin-functions.php +31 -0
  8. bp-core/admin/bp-core-admin-schema.php +3 -3
  9. bp-core/admin/bp-core-admin-tools.php +15 -0
  10. bp-core/admin/css/common-rtl.css +206 -117
  11. bp-core/admin/css/common-rtl.min.css +1 -1
  12. bp-core/admin/css/common.css +206 -117
  13. bp-core/admin/css/common.min.css +1 -1
  14. bp-core/admin/images/accessibility.gif +0 -0
  15. bp-core/admin/images/autolink-feature.png +0 -0
  16. bp-core/admin/images/bp-emails-feature.png +0 -0
  17. bp-core/admin/images/emoji-feature.png +0 -0
  18. bp-core/admin/images/group-cover-image.png +0 -0
  19. bp-core/admin/images/group-home-page.png +0 -0
  20. bp-core/admin/images/member-type-field.png +0 -0
  21. bp-core/admin/images/post-type.png +0 -0
  22. bp-core/admin/images/theme-stylesheets.png +0 -0
  23. bp-core/admin/images/twentytwelve.png +0 -0
  24. bp-core/admin/js/customizer-controls.min.js +1 -1
  25. bp-core/admin/js/customizer-receiver-emails.min.js +1 -1
  26. bp-core/bp-core-cssjs.php +2 -2
  27. bp-core/bp-core-customizer-email.php +5 -2
  28. bp-core/bp-core-filters.php +23 -8
  29. bp-core/bp-core-functions.php +21 -2
  30. bp-core/bp-core-taxonomy.php +4 -1
  31. bp-core/bp-core-template-loader.php +11 -1
  32. bp-core/bp-core-template.php +34 -0
  33. bp-core/bp-core-update.php +13 -0
  34. bp-core/classes/class-bp-admin.php +78 -74
  35. bp-core/classes/class-bp-core-login-widget.php +1 -1
  36. bp-core/classes/class-bp-email-recipient.php +1 -1
  37. bp-core/classes/class-bp-email.php +5 -0
  38. bp-core/deprecated/2.1.php +1 -1
  39. bp-core/deprecated/2.5.php +84 -69
  40. bp-core/js/avatar.min.js +1 -1
  41. bp-core/js/bp-plupload.min.js +1 -1
  42. bp-core/js/confirm.min.js +1 -1
  43. bp-core/js/cover-image.min.js +1 -1
  44. bp-core/js/jquery-cookie.min.js +1 -1
  45. bp-core/js/jquery-query.min.js +1 -1
  46. bp-core/js/jquery-scroll-to.min.js +1 -1
  47. bp-core/js/jquery.atwho.min.js +1 -1
  48. bp-core/js/jquery.caret.min.js +1 -1
  49. bp-core/js/webcam.min.js +1 -1
  50. bp-core/js/widget-members.min.js +1 -1
  51. bp-friends/bp-friends-actions.php +4 -0
  52. bp-friends/bp-friends-activity.php +6 -1
  53. bp-friends/bp-friends-cache.php +2 -0
  54. bp-friends/bp-friends-functions.php +48 -0
  55. bp-friends/bp-friends-loader.php +2 -0
  56. bp-friends/bp-friends-notifications.php +6 -2
  57. bp-friends/bp-friends-screens.php +6 -0
  58. bp-friends/bp-friends-template.php +38 -0
  59. bp-friends/classes/class-bp-core-friends-widget.php +9 -1
  60. bp-friends/classes/class-bp-friends-component.php +6 -0
  61. bp-friends/classes/class-bp-friends-friendship.php +53 -1
  62. bp-friends/js/widget-friends.min.js +1 -1
  63. bp-groups/admin/js/admin.min.js +1 -1
  64. bp-groups/bp-groups-admin.php +4 -6
  65. bp-groups/bp-groups-notifications.php +1 -0
  66. bp-groups/classes/class-bp-groups-widget.php +1 -1
  67. bp-groups/js/widget-groups.min.js +1 -1
  68. bp-loader.php +2 -2
  69. bp-members/admin/js/admin.min.js +1 -1
  70. bp-members/bp-members-functions.php +16 -7
  71. bp-members/classes/class-bp-members-admin.php +3 -2
  72. bp-members/classes/class-bp-members-list-table.php +27 -6
  73. bp-members/classes/class-bp-members-ms-list-table.php +27 -6
  74. bp-members/classes/class-bp-signup.php +1 -1
  75. bp-messages/bp-messages-cssjs.php +2 -2
  76. bp-messages/bp-messages-functions.php +10 -1
  77. bp-messages/js/autocomplete/jquery.autocomplete.min.js +1 -1
  78. bp-messages/js/autocomplete/jquery.autocompletefb.min.js +1 -1
  79. bp-messages/js/autocomplete/jquery.bgiframe.min.js +1 -1
  80. bp-messages/js/autocomplete/jquery.dimensions.min.js +1 -1
  81. bp-templates/bp-legacy/buddypress-functions.php +2 -2
  82. bp-templates/bp-legacy/buddypress/assets/emails/single-bp-email.php +38 -3
  83. bp-templates/bp-legacy/css/twentytwelve-rtl.css +26 -4
  84. bp-templates/bp-legacy/css/twentytwelve-rtl.min.css +1 -1
  85. bp-templates/bp-legacy/css/twentytwelve.css +26 -4
  86. bp-templates/bp-legacy/css/twentytwelve.min.css +1 -1
  87. bp-templates/bp-legacy/css/twentytwelve.scss +29 -6
  88. bp-templates/bp-legacy/js/buddypress.min.js +1 -1
  89. bp-templates/bp-legacy/js/password-verify.min.js +1 -1
  90. bp-xprofile/admin/js/admin.min.js +1 -1
  91. bp-xprofile/bp-xprofile-cssjs.php +2 -2
  92. bp-xprofile/classes/class-bp-xprofile-field-type.php +5 -2
  93. bp-xprofile/classes/class-bp-xprofile-field.php +7 -8
  94. buddypress.pot +577 -525
  95. readme.txt +31 -4
bp-activity/admin/js/admin.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! buddypress - v2.4.0 - 2016-02-09 3:32:09 AM UTC - https://wordpress.org/plugins/buddypress/ */
2
!function(a){var b={init:function(){a(document).on("click",".row-actions a.reply",b.open),a(document).on("click","#bp-activities-container a.cancel",b.close),a(document).on("click","#bp-activities-container a.save",b.send),a(document).on("keyup","#bp-activities:visible",function(a){27===a.which&&b.close()})},open:function(){var b=a("#bp-activities-container").hide();return a(this).parents("tr").after(b),b.fadeIn("300"),a("#bp-activities").focus(),!1},close:function(){return a("#bp-activities-container").fadeOut("200",function(){a("#bp-activities").val("").blur(),a("#bp-replysubmit .error").html("").hide(),a("#bp-replysubmit .waiting").hide()}),!1},send:function(){a("#bp-replysubmit .error").hide(),a("#bp-replysubmit .waiting").show();var c={};return c["_ajax_nonce-bp-activity-admin-reply"]=a('#bp-activities-container input[name="_ajax_nonce-bp-activity-admin-reply"]').val(),c.action="bp-activity-admin-reply",c.content=a("#bp-activities").val(),c.parent_id=a("#bp-activities-container").prev().data("parent_id"),c.root_id=a("#bp-activities-container").prev().data("root_id"),a.ajax({data:c,type:"POST",url:ajaxurl,error:function(a){b.error(a)},success:function(a){b.show(a)}}),!1},error:function(b){var c=b.statusText;a("#bp-replysubmit .waiting").hide(),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#bp-replysubmit .error").html(c).show()},show:function(c){var d,e,f;return"string"==typeof c?(b.error({responseText:c}),!1):(f=wpAjax.parseAjaxResponse(c),f.errors?(b.error({responseText:wpAjax.broken}),!1):(f=f.responses[0],void a("#bp-activities-container").fadeOut("200",function(){a("#bp-activities").val("").blur(),a("#bp-replysubmit .error").html("").hide(),a("#bp-replysubmit .waiting").hide(),a("#bp-activities-container").before(f.data),e=a("#activity-"+f.id),d=e.closest(".widefat").css("backgroundColor"),e.animate({backgroundColor:"#CEB"},300).animate({backgroundColor:d},300)})))}};a(document).ready(function(){b.init(),a("#bp_activity_action h3, #bp_activity_content h3").unbind("click"),"undefined"!=typeof postboxes&&postboxes.add_postbox_toggles(bp_activity_admin_vars.page)})}(jQuery);
1
+ /*! buddypress - v2.5.0-rc1 - 2016-02-23 1:29:39 PM UTC - https://wordpress.org/plugins/buddypress/ */
2
!function(a){var b={init:function(){a(document).on("click",".row-actions a.reply",b.open),a(document).on("click","#bp-activities-container a.cancel",b.close),a(document).on("click","#bp-activities-container a.save",b.send),a(document).on("keyup","#bp-activities:visible",function(a){27===a.which&&b.close()})},open:function(){var b=a("#bp-activities-container").hide();return a(this).parents("tr").after(b),b.fadeIn("300"),a("#bp-activities").focus(),!1},close:function(){return a("#bp-activities-container").fadeOut("200",function(){a("#bp-activities").val("").blur(),a("#bp-replysubmit .error").html("").hide(),a("#bp-replysubmit .waiting").hide()}),!1},send:function(){a("#bp-replysubmit .error").hide(),a("#bp-replysubmit .waiting").show();var c={};return c["_ajax_nonce-bp-activity-admin-reply"]=a('#bp-activities-container input[name="_ajax_nonce-bp-activity-admin-reply"]').val(),c.action="bp-activity-admin-reply",c.content=a("#bp-activities").val(),c.parent_id=a("#bp-activities-container").prev().data("parent_id"),c.root_id=a("#bp-activities-container").prev().data("root_id"),a.ajax({data:c,type:"POST",url:ajaxurl,error:function(a){b.error(a)},success:function(a){b.show(a)}}),!1},error:function(b){var c=b.statusText;a("#bp-replysubmit .waiting").hide(),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#bp-replysubmit .error").html(c).show()},show:function(c){var d,e,f;return"string"==typeof c?(b.error({responseText:c}),!1):(f=wpAjax.parseAjaxResponse(c),f.errors?(b.error({responseText:wpAjax.broken}),!1):(f=f.responses[0],void a("#bp-activities-container").fadeOut("200",function(){a("#bp-activities").val("").blur(),a("#bp-replysubmit .error").html("").hide(),a("#bp-replysubmit .waiting").hide(),a("#bp-activities-container").before(f.data),e=a("#activity-"+f.id),d=e.closest(".widefat").css("backgroundColor"),e.animate({backgroundColor:"#CEB"},300).animate({backgroundColor:d},300)})))}};a(document).ready(function(){b.init(),a("#bp_activity_action h3, #bp_activity_content h3").unbind("click"),"undefined"!=typeof postboxes&&postboxes.add_postbox_toggles(bp_activity_admin_vars.page)})}(jQuery);
bp-activity/bp-activity-admin.php CHANGED
@@ -201,12 +201,9 @@ add_filter( 'default_hidden_meta_boxes', 'bp_activity_admin_edit_hidden_metaboxe
201
function bp_activity_admin_load() {
202
global $bp_activity_list_table;
203
204
- $bp = buddypress();
205
-
206
- // Decide whether to load the dev version of the CSS and JavaScript.
207
- $min = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : 'min.';
208
-
209
$doaction = bp_admin_list_table_current_bulk_action();
210
211
/**
212
* Fires at top of Activity admin page.
@@ -308,11 +305,11 @@ function bp_activity_admin_load() {
308
}
309
310
// Enqueue CSS and JavaScript.
311
- wp_enqueue_script( 'bp_activity_admin_js', $bp->plugin_url . "bp-activity/admin/js/admin.{$min}js", array( 'jquery', 'wp-ajax-response' ), bp_get_version(), true );
312
wp_localize_script( 'bp_activity_admin_js', 'bp_activity_admin_vars', array(
313
'page' => get_current_screen()->id
314
) );
315
- wp_enqueue_style( 'bp_activity_admin_css', $bp->plugin_url . "bp-activity/admin/css/admin.{$min}css", array(), bp_get_version() );
316
317
wp_style_add_data( 'bp_activity_admin_css', 'rtl', true );
318
if ( $min ) {
201
function bp_activity_admin_load() {
202
global $bp_activity_list_table;
203
204
+ $bp = buddypress();
205
$doaction = bp_admin_list_table_current_bulk_action();
206
+ $min = bp_core_get_minified_asset_suffix();
207
208
/**
209
* Fires at top of Activity admin page.
305
}
306
307
// Enqueue CSS and JavaScript.
308
+ wp_enqueue_script( 'bp_activity_admin_js', $bp->plugin_url . "bp-activity/admin/js/admin{$min}.js", array( 'jquery', 'wp-ajax-response' ), bp_get_version(), true );
309
wp_localize_script( 'bp_activity_admin_js', 'bp_activity_admin_vars', array(
310
'page' => get_current_screen()->id
311
) );
312
+ wp_enqueue_style( 'bp_activity_admin_css', $bp->plugin_url . "bp-activity/admin/css/admin{$min}.css", array(), bp_get_version() );
313
314
wp_style_add_data( 'bp_activity_admin_css', 'rtl', true );
315
if ( $min ) {
bp-activity/bp-activity-cssjs.php CHANGED
@@ -31,7 +31,7 @@ function bp_activity_mentions_script() {
31
}
32
33
34
- $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
35
36
wp_enqueue_script( 'bp-mentions', buddypress()->plugin_url . "bp-activity/js/mentions{$min}.js", array( 'jquery', 'jquery-atwho' ), bp_get_version(), true );
37
wp_enqueue_style( 'bp-mentions-css', buddypress()->plugin_url . "bp-activity/css/mentions{$min}.css", array(), bp_get_version() );
31
}
32
33
34
+ $min = bp_core_get_minified_asset_suffix();
35
36
wp_enqueue_script( 'bp-mentions', buddypress()->plugin_url . "bp-activity/js/mentions{$min}.js", array( 'jquery', 'jquery-atwho' ), bp_get_version(), true );
37
wp_enqueue_style( 'bp-mentions-css', buddypress()->plugin_url . "bp-activity/css/mentions{$min}.css", array(), bp_get_version() );
bp-activity/classes/class-bp-activity-activity.php CHANGED
@@ -12,7 +12,6 @@ defined( 'ABSPATH' ) || exit;
12
13
/**
14
* Database interaction class for the BuddyPress activity component.
15
- *
16
* Instance methods are available for creating/editing an activity,
17
* static methods for querying activities.
18
*
@@ -25,6 +24,7 @@ class BP_Activity_Activity {
25
/**
26
* ID of the activity item.
27
*
28
* @var int
29
*/
30
var $id;
@@ -32,6 +32,7 @@ class BP_Activity_Activity {
32
/**
33
* ID of the associated item.
34
*
35
* @var int
36
*/
37
var $item_id;
@@ -39,6 +40,7 @@ class BP_Activity_Activity {
39
/**
40
* ID of the associated secondary item.
41
*
42
* @var int
43
*/
44
var $secondary_item_id;
@@ -46,6 +48,7 @@ class BP_Activity_Activity {
46
/**
47
* ID of user associated with the activity item.
48
*
49
* @var int
50
*/
51
var $user_id;
@@ -53,6 +56,7 @@ class BP_Activity_Activity {
53
/**
54
* The primary URL for the activity in RSS feeds.
55
*
56
* @var string
57
*/
58
var $primary_link;
@@ -60,6 +64,7 @@ class BP_Activity_Activity {
60
/**
61
* BuddyPress component the activity item relates to.
62
*
63
* @var string
64
*/
65
var $component;
@@ -67,6 +72,7 @@ class BP_Activity_Activity {
67
/**
68
* Activity type, eg 'new_blog_post'.
69
*
70
* @var string
71
*/
72
var $type;
@@ -74,6 +80,7 @@ class BP_Activity_Activity {
74
/**
75
* Description of the activity, eg 'Alex updated his profile.'.
76
*
77
* @var string
78
*/
79
var $action;
@@ -81,6 +88,7 @@ class BP_Activity_Activity {
81
/**
82
* The content of the activity item.
83
*
84
* @var string
85
*/
86
var $content;
@@ -88,6 +96,7 @@ class BP_Activity_Activity {
88
/**
89
* The date the activity item was recorded, in 'Y-m-d h:i:s' format.
90
*
91
* @var string
92
*/
93
var $date_recorded;
@@ -95,6 +104,7 @@ class BP_Activity_Activity {
95
/**
96
* Whether the item should be hidden in sitewide streams.
97
*
98
* @var int
99
*/
100
var $hide_sitewide = false;
@@ -102,6 +112,7 @@ class BP_Activity_Activity {
102
/**
103
* Node boundary start for activity or activity comment.
104
*
105
* @var int
106
*/
107
var $mptt_left;
@@ -109,6 +120,7 @@ class BP_Activity_Activity {
109
/**
110
* Node boundary end for activity or activity comment.
111
*
112
* @var int
113
*/
114
var $mptt_right;
@@ -116,6 +128,7 @@ class BP_Activity_Activity {
116
/**
117
* Whether this item is marked as spam.
118
*
119
* @var int
120
*/
121
var $is_spam;
@@ -123,6 +136,8 @@ class BP_Activity_Activity {
123
/**
124
* Constructor method.
125
*
126
* @param int|bool $id Optional. The ID of a specific activity item.
127
*/
128
public function __construct( $id = false ) {
@@ -134,6 +149,8 @@ class BP_Activity_Activity {
134
135
/**
136
* Populate the object with data about the specific activity item.
137
*/
138
public function populate() {
139
global $wpdb;
@@ -169,12 +186,12 @@ class BP_Activity_Activity {
169
if ( false !== $action ) {
170
$this->action = $action;
171
172
- // If no callback is available, use the literal string from
173
- // the database row.
174
} elseif ( ! empty( $row->action ) ) {
175
$this->action = $row->action;
176
177
- // Provide a fallback to avoid PHP notices.
178
} else {
179
$this->action = '';
180
}
@@ -183,6 +200,8 @@ class BP_Activity_Activity {
183
/**
184
* Save the activity item to the database.
185
*
186
* @return bool True on success.
187
*/
188
public function save() {
@@ -239,7 +258,7 @@ class BP_Activity_Activity {
239
if ( empty( $this->id ) ) {
240
$this->id = $wpdb->insert_id;
241
242
- // If an existing activity item, prevent any changes to the content generating new @mention notifications.
243
} else {
244
add_filter( 'bp_activity_at_name_do_notifications', '__return_false' );
245
}
@@ -261,7 +280,7 @@ class BP_Activity_Activity {
261
/**
262
* Get activity items, as specified by parameters.
263
*
264
- * @since 1.0.0
265
* @since 2.4.0 Introduced the `$fields` parameter.
266
*
267
* @see BP_Activity_Activity::get_filter_sql() for a description of the
@@ -372,7 +391,7 @@ class BP_Activity_Activity {
372
$r = self::array_replace_recursive( $r, $scope_query['override'] );
373
}
374
375
- // Advanced filtering.
376
} elseif ( ! empty( $r['filter_query'] ) ) {
377
$filter_query = new BP_Activity_Query( $r['filter_query'] );
378
$sql = $filter_query->get_sql();
@@ -893,7 +912,7 @@ class BP_Activity_Activity {
893
if ( is_array( $scope ) ) {
894
$scopes = $scope;
895
896
- // Explode a comma separated string of scopes.
897
} elseif ( is_string( $scope ) ) {
898
$scopes = explode( ',', $scope );
899
}
@@ -925,13 +944,14 @@ class BP_Activity_Activity {
925
*
926
* @since 2.2.0
927
*
928
- * @param array {
929
* Activity query clauses.
930
* @type array {
931
* Activity arguments for your custom scope.
932
* See {@link BP_Activity_Query::_construct()} for more details.
933
* }
934
- * @type array $override Optional. Override existing activity arguments passed by $r.
935
* }
936
* @param array $r Current activity arguments passed in BP_Activity_Activity::get().
937
*/
@@ -996,6 +1016,8 @@ class BP_Activity_Activity {
996
/**
997
* Get the first activity ID that matches a set of criteria.
998
*
999
* @todo Should parameters be optional?
1000
*
1001
* @param int $user_id User ID to filter by.
@@ -1236,11 +1258,11 @@ class BP_Activity_Activity {
1236
* use it going forward, and use BP_Activity_Activity::delete() instead.
1237
*
1238
* @since 1.2.0
1239
* @deprecated 2.3.0
1240
*
1241
* @param array $activity_ids Activity IDs whose comments should be deleted.
1242
* @param bool $delete_meta Should we delete the activity meta items for these comments.
1243
- *
1244
* @return bool True on success.
1245
*/
1246
public static function delete_activity_item_comments( $activity_ids = array(), $delete_meta = true ) {
@@ -1339,7 +1361,7 @@ class BP_Activity_Activity {
1339
if ( 'none' === $comments ) {
1340
$comments = false;
1341
1342
- // A true cache miss.
1343
} elseif ( empty( $comments ) ) {
1344
1345
$bp = buddypress();
@@ -1350,7 +1372,7 @@ class BP_Activity_Activity {
1350
$fullname_from = ", {$bp->profile->table_name_data} pd ";
1351
$fullname_where = "AND pd.user_id = a.user_id AND pd.field_id = 1";
1352
1353
- // Prevent debug errors.
1354
} else {
1355
$fullname_select = $fullname_from = $fullname_where = '';
1356
}
@@ -1393,8 +1415,8 @@ class BP_Activity_Activity {
1393
1394
$descendants = $wpdb->get_results( $sql );
1395
1396
- // We use the mptt BETWEEN clause to limit returned
1397
- // descendants to the correct part of the tree.
1398
} else {
1399
$sql = $wpdb->prepare( "SELECT id FROM {$bp->activity->table_name} a WHERE a.type = 'activity_comment' {$spam_sql} AND a.item_id = %d and a.mptt_left > %d AND a.mptt_left < %d ORDER BY a.date_recorded ASC", $top_level_parent_id, $left, $right );
1400
@@ -1414,7 +1436,7 @@ class BP_Activity_Activity {
1414
$ref[ $d->secondary_item_id ]->children[ $d->id ] = $d;
1415
$ref[ $d->id ] =& $ref[ $d->secondary_item_id ]->children[ $d->id ];
1416
1417
- // If we don't have a reference on the parent, put in the root level.
1418
} else {
1419
$comments[ $d->id ] = $d;
1420
$ref[ $d->id ] =& $comments[ $d->id ];
@@ -1477,9 +1499,9 @@ class BP_Activity_Activity {
1477
*
1478
* @global wpdb $wpdb WordPress database object.
1479
*
1480
- * @param int $parent_id ID of an activity or activity comment.
1481
- * @param int $left Node boundary start for activity or activity comment.
1482
- * @return int Right Node boundary of activity or activity comment.
1483
*/
1484
public static function rebuild_activity_comment_tree( $parent_id, $left = 1 ) {
1485
global $wpdb;
@@ -1531,6 +1553,8 @@ class BP_Activity_Activity {
1531
/**
1532
* Get a list of components that have recorded activity associated with them.
1533
*
1534
* @param bool $skip_last_activity If true, components will not be
1535
* included if the only activity type associated with them is
1536
* 'last_activity'. (Since 2.0.0, 'last_activity' is stored in
@@ -1555,6 +1579,8 @@ class BP_Activity_Activity {
1555
/**
1556
* Get sitewide activity items for use in an RSS feed.
1557
*
1558
* @param int $limit Optional. Number of items to fetch. Default: 35.
1559
* @return array $activity_feed List of activity items, with RSS data added.
1560
*/
@@ -1618,7 +1644,7 @@ class BP_Activity_Activity {
1618
* @param array $filter_array {
1619
* Fields and values to filter by.
1620
*
1621
- * @type array|string|int $user_id User ID(s).
1622
* @type array|string $object Corresponds to the 'component'
1623
* column in the database.
1624
* @type array|string $action Corresponds to the 'type' column
@@ -1727,6 +1753,8 @@ class BP_Activity_Activity {
1727
/**
1728
* Check whether an activity item exists with a given string content.
1729
*
1730
* @param string $content The content to filter by.
1731
* @return int|bool The ID of the first matching item if found, otherwise false.
1732
*/
@@ -1741,6 +1769,8 @@ class BP_Activity_Activity {
1741
/**
1742
* Hide all activity for a given user.
1743
*
1744
* @param int $user_id The ID of the user whose activity you want to mark hidden.
1745
* @return mixed
1746
*/
12
13
/**
14
* Database interaction class for the BuddyPress activity component.
15
* Instance methods are available for creating/editing an activity,
16
* static methods for querying activities.
17
*
24
/**
25
* ID of the activity item.
26
*
27
+ * @since 1.0.0
28
* @var int
29
*/
30
var $id;
32
/**
33
* ID of the associated item.
34
*
35
+ * @since 1.0.0
36
* @var int
37
*/
38
var $item_id;
40
/**
41
* ID of the associated secondary item.
42
*
43
+ * @since 1.0.0
44
* @var int
45
*/
46
var $secondary_item_id;
48
/**
49
* ID of user associated with the activity item.
50
*
51
+ * @since 1.0.0
52
* @var int
53
*/
54
var $user_id;
56
/**
57
* The primary URL for the activity in RSS feeds.
58
*
59
+ * @since 1.0.0
60
* @var string
61
*/
62
var $primary_link;
64
/**
65
* BuddyPress component the activity item relates to.
66
*
67
+ * @since 1.2.0
68
* @var string
69
*/
70
var $component;
72
/**
73
* Activity type, eg 'new_blog_post'.
74
*
75
+ * @since 1.2.0
76
* @var string
77
*/
78
var $type;
80
/**
81
* Description of the activity, eg 'Alex updated his profile.'.
82
*
83
+ * @since 1.2.0
84
* @var string
85
*/
86
var $action;
88
/**
89
* The content of the activity item.
90
*
91
+ * @since 1.2.0
92
* @var string
93
*/
94
var $content;
96
/**
97
* The date the activity item was recorded, in 'Y-m-d h:i:s' format.
98
*
99
+ * @since 1.0.0
100
* @var string
101
*/
102
var $date_recorded;
104
/**
105
* Whether the item should be hidden in sitewide streams.
106
*
107
+ * @since 1.1.0
108
* @var int
109
*/
110
var $hide_sitewide = false;
112
/**
113
* Node boundary start for activity or activity comment.
114
*
115
+ * @since 1.5.0
116
* @var int
117
*/
118
var $mptt_left;
120
/**
121
* Node boundary end for activity or activity comment.
122
*
123
+ * @since 1.5.0
124
* @var int
125
*/
126
var $mptt_right;
128
/**
129
* Whether this item is marked as spam.
130
*
131
+ * @since 1.6.0
132
* @var int
133
*/
134
var $is_spam;
136
/**
137
* Constructor method.
138
*
139
+ * @since 1.5.0
140
+ *
141
* @param int|bool $id Optional. The ID of a specific activity item.
142
*/
143
public function __construct( $id = false ) {
149
150
/**
151
* Populate the object with data about the specific activity item.
152
+ *
153
+ * @since 1.0.0
154
*/
155
public function populate() {
156
global $wpdb;
186
if ( false !== $action ) {
187
$this->action = $action;
188
189
+ // If no callback is available, use the literal string from
190
+ // the database row.
191
} elseif ( ! empty( $row->action ) ) {
192
$this->action = $row->action;
193
194
+ // Provide a fallback to avoid PHP notices.
195
} else {
196
$this->action = '';
197
}
200
/**
201
* Save the activity item to the database.
202
*
203
+ * @since 1.0.0
204
+ *
205
* @return bool True on success.
206
*/
207
public function save() {
258
if ( empty( $this->id ) ) {
259
$this->id = $wpdb->insert_id;
260
261
+ // If an existing activity item, prevent any changes to the content generating new @mention notifications.
262
} else {
263
add_filter( 'bp_activity_at_name_do_notifications', '__return_false' );
264
}
280
/**
281
* Get activity items, as specified by parameters.
282
*
283
+ * @since 1.2.0
284
* @since 2.4.0 Introduced the `$fields` parameter.
285
*
286
* @see BP_Activity_Activity::get_filter_sql() for a description of the
391
$r = self::array_replace_recursive( $r, $scope_query['override'] );
392
}
393
394
+ // Advanced filtering.
395
} elseif ( ! empty( $r['filter_query'] ) ) {
396
$filter_query = new BP_Activity_Query( $r['filter_query'] );
397
$sql = $filter_query->get_sql();
912
if ( is_array( $scope ) ) {
913
$scopes = $scope;
914
915
+ // Explode a comma separated string of scopes.
916
} elseif ( is_string( $scope ) ) {
917
$scopes = explode( ',', $scope );
918
}
944
*
945
* @since 2.2.0
946
*
947
+ * @param array {
948
* Activity query clauses.
949
* @type array {
950
* Activity arguments for your custom scope.
951
* See {@link BP_Activity_Query::_construct()} for more details.
952
* }
953
+ * @type array $override Optional. Override existing activity arguments passed by $r.
954
+ * }
955
* }
956
* @param array $r Current activity arguments passed in BP_Activity_Activity::get().
957
*/
1016
/**
1017
* Get the first activity ID that matches a set of criteria.
1018
*
1019
+ * @since 1.2.0
1020
+ *
1021
* @todo Should parameters be optional?
1022
*
1023
* @param int $user_id User ID to filter by.
1258
* use it going forward, and use BP_Activity_Activity::delete() instead.
1259
*
1260
* @since 1.2.0
1261
+ *
1262
* @deprecated 2.3.0
1263
*
1264
* @param array $activity_ids Activity IDs whose comments should be deleted.
1265
* @param bool $delete_meta Should we delete the activity meta items for these comments.
1266
* @return bool True on success.
1267
*/
1268
public static function delete_activity_item_comments( $activity_ids = array(), $delete_meta = true ) {
1361
if ( 'none' === $comments ) {
1362
$comments = false;
1363
1364
+ // A true cache miss.
1365
} elseif ( empty( $comments ) ) {
1366
1367
$bp = buddypress();
1372
$fullname_from = ", {$bp->profile->table_name_data} pd ";
1373
$fullname_where = "AND pd.user_id = a.user_id AND pd.field_id = 1";
1374
1375
+ // Prevent debug errors.
1376
} else {
1377
$fullname_select = $fullname_from = $fullname_where = '';
1378
}
1415
1416
$descendants = $wpdb->get_results( $sql );
1417
1418
+ // We use the mptt BETWEEN clause to limit returned
1419
+ // descendants to the correct part of the tree.
1420
} else {
1421
$sql = $wpdb->prepare( "SELECT id FROM {$bp->activity->table_name} a WHERE a.type = 'activity_comment' {$spam_sql} AND a.item_id = %d and a.mptt_left > %d AND a.mptt_left < %d ORDER BY a.date_recorded ASC", $top_level_parent_id, $left, $right );
1422
1436
$ref[ $d->secondary_item_id ]->children[ $d->id ] = $d;
1437
$ref[ $d->id ] =& $ref[ $d->secondary_item_id ]->children[ $d->id ];
1438
1439
+ // If we don't have a reference on the parent, put in the root level.
1440
} else {
1441
$comments[ $d->id ] = $d;
1442
$ref[ $d->id ] =& $comments[ $d->id ];
1499
*
1500
* @global wpdb $wpdb WordPress database object.
1501
*
1502
+ * @param int $parent_id ID of an activity or activity comment.
1503
+ * @param int $left Node boundary start for activity or activity comment.
1504
+ * @return int Right Node boundary of activity or activity comment.
1505
*/
1506
public static function rebuild_activity_comment_tree( $parent_id, $left = 1 ) {
1507
global $wpdb;
1553
/**
1554
* Get a list of components that have recorded activity associated with them.
1555
*
1556
+ * @since 1.2.0
1557
+ *
1558
* @param bool $skip_last_activity If true, components will not be
1559
* included if the only activity type associated with them is
1560
* 'last_activity'. (Since 2.0.0, 'last_activity' is stored in
1579
/**
1580
* Get sitewide activity items for use in an RSS feed.
1581
*
1582
+ * @since 1.0.0
1583
+ *
1584
* @param int $limit Optional. Number of items to fetch. Default: 35.
1585
* @return array $activity_feed List of activity items, with RSS data added.
1586
*/
1644
* @param array $filter_array {
1645
* Fields and values to filter by.
1646
*
1647
+ * @type array|string|int $user_id User ID(s).
1648
* @type array|string $object Corresponds to the 'component'
1649
* column in the database.
1650
* @type array|string $action Corresponds to the 'type' column
1753
/**
1754
* Check whether an activity item exists with a given string content.
1755
*
1756
+ * @since 1.1.0
1757
+ *
1758
* @param string $content The content to filter by.
1759
* @return int|bool The ID of the first matching item if found, otherwise false.
1760
*/
1769
/**
1770
* Hide all activity for a given user.
1771
*
1772
+ * @since 1.2.0
1773
+ *
1774
* @param int $user_id The ID of the user whose activity you want to mark hidden.
1775
* @return mixed
1776
*/
bp-activity/classes/class-bp-activity-list-table.php CHANGED
@@ -593,12 +593,19 @@ class BP_Activity_List_Table extends WP_List_Table {
593
*/
594
$actions = apply_filters( 'bp_activity_admin_comment_row_actions', array_filter( $actions ), $item );
595
596
- /* translators: 2: activity admin ui date/time */
597
printf(
598
- __( 'Submitted on <a href="%1$s">%2$s at %3$s</a>', 'buddypress' ),
599
- bp_activity_get_permalink( $item['id'] ),
600
- date_i18n( bp_get_option( 'date_format' ), strtotime( $item['date_recorded'] ) ),
601
- get_date_from_gmt( $item['date_recorded'], bp_get_option( 'time_format' ) )
602
);
603
604
// End timestamp.
593
*/
594
$actions = apply_filters( 'bp_activity_admin_comment_row_actions', array_filter( $actions ), $item );
595
596
printf(
597
+ /* translators: %s: activity date and time */
598
+ __( 'Submitted on %s', 'buddypress' ),
599
+ sprintf(
600
+ '<a href="%1$s">%2$s</a>',
601
+ bp_activity_get_permalink( $item['id'] ),
602
+ sprintf(
603
+ /* translators: 1: activity date, 2: activity time */
604
+ __( '%1$s at %2$s', 'buddypress' ),
605
+ date_i18n( bp_get_option( 'date_format' ), strtotime( $item['date_recorded'] ) ),
606
+ get_date_from_gmt( $item['date_recorded'], bp_get_option( 'time_format' ) )
607
+ )
608
+ )
609
);
610
611
// End timestamp.
bp-activity/js/mentions.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! buddypress - v2.4.0 - 2016-02-09 3:32:09 AM UTC - https://wordpress.org/plugins/buddypress/ */
2
window.bp=window.bp||{},function(a,b,c){var d,e=[];a.mentions=a.mentions||{},a.mentions.users=window.bp.mentions.users||[],"object"==typeof window.BP_Suggestions&&(a.mentions.users=window.BP_Suggestions.friends||a.mentions.users),b.fn.bp_mentions=function(a){b.isArray(a)&&(a={data:a});var c={delay:200,hide_without_suffix:!0,insert_tpl:"</>${atwho-data-value}</>",limit:10,start_with_space:!1,suffix:"",callbacks:{filter:function(a,b,c){var d,e,f,g=[],h=new RegExp("^"+a+"| "+a,"ig");for(e=0,f=b.length;f>e;e++)d=b[e],d[c].toLowerCase().match(h)&&g.push(d);return g},highlighter:function(a,b){if(!b)return a;var c=new RegExp(">(\\s*|[\\w\\s]*)("+this.at.replace("+","\\+")+"?"+b.replace("+","\\+")+")([\\w ]*)\\s*<","ig");return a.replace(c,function(a,b,c,d){return">"+b+"<strong>"+c+"</strong>"+d+"<"})},before_reposition:function(a){var c,d,e,f,g=b("#atwho-ground-"+this.id+" .atwho-view"),h=b("body"),i=this.$inputor.data("atwho");"undefined"!==i&&"undefined"!==i.iframe&&null!==i.iframe?(c=this.$inputor.caret("offset",{iframe:i.iframe}),e=b(i.iframe).offset(),"undefined"!==e&&(c.left+=e.left,c.top+=e.top)):c=this.$inputor.caret("offset"),c.left>h.width()/2?(g.addClass("right"),f=c.left-a.left-this.view.$el.width()):(g.removeClass("right"),f=c.left-a.left+1),h.width()<=400&&b(document).scrollTop(c.top-6),d=parseInt(this.$inputor.css("line-height").substr(0,this.$inputor.css("line-height").length-2),10),(!d||5>d)&&(d=19),a.top=c.top+d,a.left+=f},inserting_wrapper:function(a,b,c){return""+b+c}}},f={callbacks:{remote_filter:function(a,c){var f=b(this),g={};return d=e[a],"object"==typeof d?void c(d):(f.xhr&&f.xhr.abort(),g={action:"bp_get_suggestions",term:a,type:"members"},b.isNumeric(this.$inputor.data("suggestions-group-id"))&&(g["group-id"]=parseInt(this.$inputor.data("suggestions-group-id"),10)),void(f.xhr=b.getJSON(ajaxurl,g).done(function(d){if(d.success){var f=b.map(d.data,function(a){return a.search=a.search||a.ID+" "+a.name,a});e[a]=f,c(f)}})))}},data:b.map(a.data,function(a){return a.search=a.search||a.ID+" "+a.name,a}),at:"@",search_key:"search",tpl:'<li data-value="@${ID}"><img src="${image}" /><span class="username">@${ID}</span><small>${name}</small></li>'},g=b.extend(!0,{},c,f,a);return b.fn.atwho.call(this,g)},b(document).ready(function(){b(".bp-suggestions, #comments form textarea, .wp-editor-area").bp_mentions(a.mentions.users)}),a.mentions.tinyMCEinit=function(){"undefined"!=typeof window.tinyMCE&&null!==window.tinyMCE.activeEditor&&"undefined"!=typeof window.tinyMCE.activeEditor&&b(window.tinyMCE.activeEditor.contentDocument.activeElement).atwho("setIframe",b("#content_ifr")[0]).bp_mentions(a.mentions.users)}}(bp,jQuery);
1
+ /*! buddypress - v2.5.0-rc1 - 2016-02-23 1:29:39 PM UTC - https://wordpress.org/plugins/buddypress/ */
2
window.bp=window.bp||{},function(a,b,c){var d,e=[];a.mentions=a.mentions||{},a.mentions.users=window.bp.mentions.users||[],"object"==typeof window.BP_Suggestions&&(a.mentions.users=window.BP_Suggestions.friends||a.mentions.users),b.fn.bp_mentions=function(a){b.isArray(a)&&(a={data:a});var c={delay:200,hide_without_suffix:!0,insert_tpl:"</>${atwho-data-value}</>",limit:10,start_with_space:!1,suffix:"",callbacks:{filter:function(a,b,c){var d,e,f,g=[],h=new RegExp("^"+a+"| "+a,"ig");for(e=0,f=b.length;f>e;e++)d=b[e],d[c].toLowerCase().match(h)&&g.push(d);return g},highlighter:function(a,b){if(!b)return a;var c=new RegExp(">(\\s*|[\\w\\s]*)("+this.at.replace("+","\\+")+"?"+b.replace("+","\\+")+")([\\w ]*)\\s*<","ig");return a.replace(c,function(a,b,c,d){return">"+b+"<strong>"+c+"</strong>"+d+"<"})},before_reposition:function(a){var c,d,e,f,g=b("#atwho-ground-"+this.id+" .atwho-view"),h=b("body"),i=this.$inputor.data("atwho");"undefined"!==i&&"undefined"!==i.iframe&&null!==i.iframe?(c=this.$inputor.caret("offset",{iframe:i.iframe}),e=b(i.iframe).offset(),"undefined"!==e&&(c.left+=e.left,c.top+=e.top)):c=this.$inputor.caret("offset"),c.left>h.width()/2?(g.addClass("right"),f=c.left-a.left-this.view.$el.width()):(g.removeClass("right"),f=c.left-a.left+1),h.width()<=400&&b(document).scrollTop(c.top-6),d=parseInt(this.$inputor.css("line-height").substr(0,this.$inputor.css("line-height").length-2),10),(!d||5>d)&&(d=19),a.top=c.top+d,a.left+=f},inserting_wrapper:function(a,b,c){return""+b+c}}},f={callbacks:{remote_filter:function(a,c){var f=b(this),g={};return d=e[a],"object"==typeof d?void c(d):(f.xhr&&f.xhr.abort(),g={action:"bp_get_suggestions",term:a,type:"members"},b.isNumeric(this.$inputor.data("suggestions-group-id"))&&(g["group-id"]=parseInt(this.$inputor.data("suggestions-group-id"),10)),void(f.xhr=b.getJSON(ajaxurl,g).done(function(d){if(d.success){var f=b.map(d.data,function(a){return a.search=a.search||a.ID+" "+a.name,a});e[a]=f,c(f)}})))}},data:b.map(a.data,function(a){return a.search=a.search||a.ID+" "+a.name,a}),at:"@",search_key:"search",tpl:'<li data-value="@${ID}"><img src="${image}" /><span class="username">@${ID}</span><small>${name}</small></li>'},g=b.extend(!0,{},c,f,a);return b.fn.atwho.call(this,g)},b(document).ready(function(){b(".bp-suggestions, #comments form textarea, .wp-editor-area").bp_mentions(a.mentions.users)}),a.mentions.tinyMCEinit=function(){"undefined"!=typeof window.tinyMCE&&null!==window.tinyMCE.activeEditor&&"undefined"!=typeof window.tinyMCE.activeEditor&&b(window.tinyMCE.activeEditor.contentDocument.activeElement).atwho("setIframe",b("#content_ifr")[0]).bp_mentions(a.mentions.users)}}(bp,jQuery);
bp-core/admin/bp-core-admin-functions.php CHANGED
@@ -898,6 +898,37 @@ function bp_email_tax_type_metabox( $post, $box ) {
898
<?php
899
}
900
901
/**
902
* Restrict various items from view if editing a BuddyPress menu.
903
*
898
<?php
899
}
900
901
+ /**
902
+ * Custom metaboxes used by our 'bp-email' post type.
903
+ *
904
+ * @since 2.5.0
905
+ */
906
+ function bp_email_custom_metaboxes() {
907
+ // Remove default 'Excerpt' metabox and replace with our own.
908
+ remove_meta_box( 'postexcerpt', null, 'normal' );
909
+ add_meta_box( 'postexcerpt', __( 'Plain text email content', 'buddypress' ), 'bp_email_plaintext_metabox', null, 'normal', 'high' );
910
+ }
911
+ add_action( 'add_meta_boxes_' . bp_get_email_post_type(), 'bp_email_custom_metaboxes' );
912
+
913
+ /**
914
+ * Customized version of the 'Excerpt' metabox for our 'bp-email' post type.
915
+ *
916
+ * We are using the 'Excerpt' metabox as our plain-text email content editor.
917
+ *
918
+ * @since 2.5.0
919
+ *
920
+ * @param WP_Post $post
921
+ */
922
+ function bp_email_plaintext_metabox( $post ) {
923
+ ?>
924
+
925
+ <label class="screen-reader-text" for="excerpt"><?php _e( 'Plain text email content', 'buddypress' ); ?></label><textarea rows="5" cols="40" name="excerpt" id="excerpt"><?php echo $post->post_excerpt; // textarea_escaped ?></textarea>
926
+
927
+ <p><?php _e( 'Most email clients support HTML email. However, some people prefer to receive plain text email. Enter a plain text alternative version of your email here.', 'buddypress' ); ?></p>
928
+
929
+ <?php
930
+ }
931
+
932
/**
933
* Restrict various items from view if editing a BuddyPress menu.
934
*
bp-core/admin/bp-core-admin-schema.php CHANGED
@@ -567,9 +567,9 @@ function bp_core_install_emails() {
567
/* translators: do not remove {} brackets or translate its contents. */
568
'post_title' => __( '[{{{site.name}}}] {{poster.name}} mentioned you in an update', 'buddypress' ),
569
/* translators: do not remove {} brackets or translate its contents. */
570
- 'post_content' => __( "{{poster.name}} mentioned you in the group \"{{group.name}}\":\n\n<blockquote>&quot;{{usermessage}}&quot;</blockquote>\n\n<a href=\"{{{group-mentioned.url}}}\">Go to the discussion</a> to reply or catch up on the conversation.", 'buddypress' ),
571
/* translators: do not remove {} brackets or translate its contents. */
572
- 'post_excerpt' => __( "{{poster.name}} mentioned you in the group \"{{group.name}}\":\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{group-mentioned.url}}}", 'buddypress' ),
573
),
574
'core-user-registration' => array(
575
/* translators: do not remove {} brackets or translate its contents. */
@@ -680,7 +680,7 @@ function bp_core_install_emails() {
680
'friends-request-accepted' => __( 'Recipient has had a friend request accepted by a member.', 'buddypress' ),
681
'groups-details-updated' => __( "A group's details were updated.", 'buddypress' ),
682
'groups-invitation' => __( 'A member has sent a group invitation to the recipient.', 'buddypress' ),
683
- 'groups-member-promoted' => __( "Recipient's status within a group have changed.", 'buddypress' ),
684
'groups-membership-request' => __( 'A member has requested permission to join a group.', 'buddypress' ),
685
'messages-unread' => __( 'Recipient has received a private message.', 'buddypress' ),
686
'settings-verify-email-change' => __( 'Recipient has changed their email address.', 'buddypress' ),
567
/* translators: do not remove {} brackets or translate its contents. */
568
'post_title' => __( '[{{{site.name}}}] {{poster.name}} mentioned you in an update', 'buddypress' ),
569
/* translators: do not remove {} brackets or translate its contents. */
570
+ 'post_content' => __( "{{poster.name}} mentioned you in the group \"{{group.name}}\":\n\n<blockquote>&quot;{{usermessage}}&quot;</blockquote>\n\n<a href=\"{{{mentioned.url}}}\">Go to the discussion</a> to reply or catch up on the conversation.", 'buddypress' ),
571
/* translators: do not remove {} brackets or translate its contents. */
572
+ 'post_excerpt' => __( "{{poster.name}} mentioned you in the group \"{{group.name}}\":\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{mentioned.url}}}", 'buddypress' ),
573
),
574
'core-user-registration' => array(
575
/* translators: do not remove {} brackets or translate its contents. */
680
'friends-request-accepted' => __( 'Recipient has had a friend request accepted by a member.', 'buddypress' ),
681
'groups-details-updated' => __( "A group's details were updated.", 'buddypress' ),
682
'groups-invitation' => __( 'A member has sent a group invitation to the recipient.', 'buddypress' ),
683
+ 'groups-member-promoted' => __( "Recipient's status within a group has changed.", 'buddypress' ),
684
'groups-membership-request' => __( 'A member has requested permission to join a group.', 'buddypress' ),
685
'messages-unread' => __( 'Recipient has received a private message.', 'buddypress' ),
686
'settings-verify-email-change' => __( 'Recipient has changed their email address.', 'buddypress' ),
bp-core/admin/bp-core-admin-tools.php CHANGED
@@ -432,6 +432,8 @@ function bp_admin_reinstall_emails() {
432
// Switch to the root blog, where the email posts live.
433
if ( ! bp_is_root_blog() ) {
434
switch_to_blog( bp_get_root_blog_id() );
435
$switched = true;
436
}
437
@@ -449,6 +451,19 @@ function bp_admin_reinstall_emails() {
449
}
450
}
451
452
require_once( buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
453
bp_core_install_emails();
454
432
// Switch to the root blog, where the email posts live.
433
if ( ! bp_is_root_blog() ) {
434
switch_to_blog( bp_get_root_blog_id() );
435
+ bp_register_taxonomies();
436
+
437
$switched = true;
438
}
439
451
}
452
}
453
454
+ // Make sure we have no orphaned email type terms.
455
+ $email_types = get_terms( bp_get_email_tax_type(), array(
456
+ 'fields' => 'ids',
457
+ 'hide_empty' => false,
458
+ 'update_term_meta_cache' => false,
459
+ ) );
460
+
461
+ if ( $email_types ) {
462
+ foreach ( $email_types as $term_id ) {
463
+ wp_delete_term( (int) $term_id, bp_get_email_tax_type() );
464
+ }
465
+ }
466
+
467
require_once( buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
468
bp_core_install_emails();
469
bp-core/admin/css/common-rtl.css CHANGED
@@ -1,138 +1,208 @@
1
- /**
2
- * CSS that is always loaded when in wp-admin
3
- *
4
- * @since 1.6.0
5
- */
6
-
7
- /* Welcome Screen
8
------------------------------------------------------------------------------*/
9
10
- body.dashboard_page_bp-about span.dashicons,
11
- body.index_page_bp-about span.dashicons {
12
- float: right;
13
- clear: right;
14
- margin: 15px 0 0 15px ;
15
- height: 90px;
16
- width: 90px;
17
- background-color: #cccccc;
18
- -webkit-border-radius: 50%;
19
- border-radius: 50%;
20
- border: 1px solid #c1c1c1;
21
- font-size: 65px;
22
- line-height: 90px;
23
- color: #999;
24
- text-align: center;
25
- }
26
27
- /* About Page - since 2.3.3 (WP 4.3) */
28
-
29
- .about-wrap .two-col > div {
30
- position: relative;
31
- width: 47.6%;
32
- margin-left: 4.799999999%;
33
- float: right;
34
}
35
36
- .about-wrap [class$=col] .last-feature {
37
- margin-left: 0;
38
}
39
40
- .about-wrap .feature-list.finer-points h4,
41
- .about-wrap .feature-list.finer-points p {
42
- margin-right: 115px;
43
}
44
45
- @media screen and ( max-width: 782px ) {
46
- .about-wrap .two-col > div {
47
- width: 100%;
48
- margin: 30px 0 0;
49
- padding: 0 0 30px;
50
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
51
- }
52
- body.dashboard_page_bp-about span.dashicons,
53
- body.index_page_bp-about span.dashicons {
54
- font-size: 55px;
55
- line-height: 70px;
56
- height: 70px;
57
- width: 70px;
58
- }
59
- .about-wrap .feature-list h2 {
60
- margin: 30px 0 0;
61
- text-align: center;
62
- }
63
- .about-wrap .feature-list.finer-points h4,
64
- .about-wrap .feature-list.finer-points p {
65
- margin-right: 90px;
66
}
67
}
68
69
- /* About Page - since 2.4.0 (WP 4.4-trunk) */
70
-
71
- .about-wrap .headline-feature {
72
- margin-bottom: 1px solid rgba(0, 0, 0, 0.1);
73
- }
74
75
- .about-wrap .headline-feature p {
76
- font-size: 1.15em;
77
- margin: 1.25em;
78
text-align: center;
79
}
80
81
- .about-wrap .headline-feature h3 {
82
- font-size: 1.75em;
83
font-weight: normal;
84
margin: 1.25em 0 0.6em;
85
text-align: center;
86
}
87
88
- .about-wrap .feature-section {
89
- margin-top: 40px;
90
}
91
92
- .about-wrap .changelog .feature-section {
93
- margin-top: 0;
94
}
95
96
- /* User's Lists
97
- ------------------------------------------------------------------------------*/
98
99
- body.site-users-php th#role,
100
- body.users-php th#role,
101
- body.users_page_bp-signups th#count_sent {
102
- width: 10%;
103
}
104
105
- body.site-users-php th#name,
106
- body.site-users-php th#email,
107
- body.users-php th#name,
108
- body.users-php th#registered,
109
- body.users-php th#email,
110
- body.users_page_bp-signups th#name,
111
- body.users_page_bp-signups th#registered,
112
- body.users_page_bp-signups th#email,
113
- body.users_page_bp-signups th#date_sent {
114
- width: 15%;
115
}
116
117
- body.users-php th#blogs,
118
- body.users_page_bp-signups th#blogs {
119
- width: 20%;
120
}
121
122
- body.users_page_bp-signups th.column-count_sent,
123
- body.users_page_bp-signups td.count_sent {
124
text-align: center;
125
}
126
127
- /* Tools */
128
- #adminmenu .toplevel_page_network-tools div.wp-menu-image:before {
129
- content: "";
130
}
131
132
- /* Components
133
- ------------------------------------------------------------------------------*/
134
135
- /* Dashicons */
136
#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,
137
#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before,
138
#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before {
@@ -174,7 +244,9 @@ body.users_page_bp-signups td.count_sent {
174
content: "\f448";
175
}
176
177
- /* Settings - Dashicons (WP 3.8+) */
178
.settings_page_bp-components td.plugin-title span {
179
float: right;
180
width: 18px;
@@ -249,32 +321,49 @@ body.users_page_bp-signups td.count_sent {
249
}
250
}
251
252
253
- /* Version Badge */
254
255
- .bp-badge {
256
- font: normal 150px/1 'dashicons' !important;
257
- color: #D84800;
258
- display: inline-block;
259
}
260
261
- .bp-badge:before {
262
- content: "\f448";
263
}
264
265
- .about-wrap .bp-badge {
266
- position: absolute;
267
- top: 0;
268
- left: 0;
269
}
270
271
- /* About Page - since 2.3.3 (WP 4.3) */
272
273
- @media only screen and (max-width: 500px) {
274
- .about-wrap .bp-badge {
275
- position: relative;
276
- margin: 10px auto;
277
- top: auto;
278
- left: auto;
279
- }
280
}
1
+ /*------------------------------------------------------------------------------
2
+
3
+ This stylesheet is always loaded in wp-admin.
4
+
5
+ @since 1.6.0
6
+ @since 2.5.0
7
+
8
+ --------------------------------------------------------------------------------
9
+ TABLE OF CONTENTS:
10
+ --------------------------------------------------------------------------------
11
+ 1.0 Welcome Screen
12
+ 1.1 Version Badge
13
+ 1.2 About Panel
14
+ 1.2.1 Headline Feature
15
+ 1.2.2 Columns
16
+ 1.2.3 Features Section
17
+ 1.2.4 Changelog Section
18
+ 2.0 Dashicons
19
+ 2.1 Top level menus
20
+ 2.2 Settings - Components
21
+ 2.3 Tools
22
+ 3.0 User's Lists
23
+ 4.0 Emails - Edit page
24
------------------------------------------------------------------------------*/
25
26
+ /*------------------------------------------------------------------------------
27
+ * 1.0 Welcome Screen
28
+ *----------------------------------------------------------------------------*/
29
30
+ /*
31
+ * 1.1 Version Badge
32
+ */
33
+ .bp-badge {
34
+ color: #d84800;
35
+ display: inline-block;
36
+ font: normal 150px/1 'dashicons' !important;
37
}
38
39
+ .bp-badge:before {
40
+ content: "\f448";
41
}
42
43
+ .about-wrap .bp-badge {
44
+ position: absolute;
45
+ top: 0;
46
+ left: 0;
47
}
48
49
+ @media only screen and (max-width: 500px) {
50
+ .about-wrap .bp-badge {
51
+ position: relative;
52
+ margin: 10px auto;
53
+ top: auto;
54
+ left: auto;
55
}
56
}
57
58
+ /*
59
+ * 1.2 About Panel
60
+ */
61
62
+ /*
63
+ * 1.2.1 Headline Feature
64
+ */
65
+ .index_page_bp-about .about-wrap .headline-feature,
66
+ .dashboard_page_bp-about .about-wrap .headline-feature {
67
+ margin-bottom: 2em;
68
text-align: center;
69
}
70
71
+ .index_page_bp-about .about-wrap .headline-feature h3,
72
+ .index_page_bp-about .headline-feature .headline-title,
73
+ .dashboard_page_bp-about .about-wrap .headline-feature h3,
74
+ .dashboard_page_bp-about .headline-feature .headline-title {
75
+ font-size: 2.2em;
76
font-weight: normal;
77
+ line-height: 1.3;
78
margin: 1.25em 0 0.6em;
79
text-align: center;
80
}
81
82
+ .index_page_bp-about .about-wrap .headline-feature p,
83
+ .dashboard_page_bp-about .about-wrap .headline-feature p {
84
+ font-size: 1.15em;
85
+ margin: 1.15em auto 0.6em;
86
}
87
88
+ .index_page_bp-about .about-wrap .headline-feature .introduction,
89
+ .dashboard_page_bp-about .about-wrap .headline-feature .introduction {
90
+ font-weight: 600;
91
}
92
93
+ /*
94
+ * 1.2.2 Columns
95
+ */
96
+ .index_page_bp-about .about-wrap .two-col > div,
97
+ .dashboard_page_bp-about .about-wrap .two-col > div {
98
+ float: right;
99
+ margin-left: 4.799999999%;
100
+ position: relative;
101
+ width: 47.6%;
102
+ }
103
104
+ .index_page_bp-about .about-wrap .two-col .last-feature,
105
+ .dashboard_page_bp-about .about-wrap .two-col .last-feature {
106
+ margin-left: 0;
107
}
108
109
+ /*
110
+ * 1.2.3 Features Section
111
+ */
112
+ .index_page_bp-about .bp-features-section,
113
+ .dashboard_page_bp-about .bp-features-section {
114
+ margin-bottom: 2em;
115
}
116
117
+ .index_page_bp-about .about-wrap .feature-section,
118
+ .dashboard_page_bp-about .about-wrap .feature-section {
119
+ clear: both;
120
+ margin-top: 2em;
121
+ overflow: hidden;
122
+ padding-bottom: 0;
123
}
124
125
+ .index_page_bp-about .about-wrap .changelog .feature-section,
126
+ .dashboard_page_bp-about .about-wrap .changelog .feature-section {
127
+ margin-top: 0;
128
+ }
129
+
130
+ .index_page_bp-about .about-wrap .feature-section h3,
131
+ .dashboard_page_bp-about .about-wrap .feature-section h3 {
132
+ font-size: 1.25em;
133
+ line-height: 1.5em;
134
+ margin: 0 0 0.6em;
135
+ }
136
+
137
+ .index_page_bp-about .about-wrap .changelog h4,
138
+ .dashboard_page_bp-about .about-wrap .changelog h4 {
139
+ color: #23282d;
140
+ font-size: 1em;
141
+ margin: 1.4em 0 0.6em;
142
+ }
143
+
144
+ /*
145
+ * 1.2.4 Changelog Section
146
+ */
147
+ .index_page_bp-about .about-wrap .changelog,
148
+ .dashboard_page_bp-about .about-wrap .changelog {
149
+ border-top: 1px solid #eee;
150
+ margin-bottom: 3em;
151
+ }
152
+
153
+ .index_page_bp-about .about-wrap .changelog .changelog-title,
154
+ .dashboard_page_bp-about .about-wrap .changelog .changelog-title {
155
+ font-size: 1.25em;
156
+ line-height: 1.5em;
157
+ margin: 1.25em 0 .6em;
158
text-align: center;
159
}
160
161
+ @media screen and ( max-width: 782px ) {
162
+ .index_page_bp-about .about-wrap .headline-feature,
163
+ .dashboard_page_bp-about .about-wrap .headline-feature {
164
+ max-width: 100%;
165
+ }
166
+ .index_page_bp-about .about-wrap .headline-feature h3,
167
+ .dahsboard_page_bp-about .about-wrap .headline-feature h3,
168
+ .index_page_bp-about .about-wrap .headline-feature .headline-title,
169
+ .dashboard_page_bp-about .about-wrap .headline-feature .headline-title {
170
+ font-size: 2em;
171
+ }
172
+ .index_page_bp-about .bp-features-section,
173
+ .dashboard_page_bp-about .bp-features-section {
174
+ margin-bottom: 0;
175
+ }
176
+ .index_page_bp-about .about-wrap .feature-section,
177
+ .dashboard_page_bp-about .about-wrap .feature-section {
178
+ margin-top: 0;
179
+ }
180
+ .index_page_bp-about .about-wrap .two-col > div,
181
+ .dashboard_page_bp-about .about-wrap .two-col > div {
182
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
183
+ margin-top: 1.25em;
184
+ padding-bottom: 1em;
185
+ width: 100%;
186
+ }
187
+ .index_page_bp-about .changelog .two-col > div,
188
+ .dashboard_page_bp-about .changelog .two-col > div {
189
+ margin-top: 0;
190
+ padding-bottom: 0;
191
+ }
192
+ .index_page_bp-about .about-wrap .changelog .changelog-title,
193
+ .dashboard_page_bp-about .about-wrap .changelog .changelog-title {
194
+ text-align: right;
195
+ }
196
}
197
198
199
+ /*------------------------------------------------------------------------------
200
+ * 2.0 Dashicons
201
+ *----------------------------------------------------------------------------*/
202
+
203
+ /*
204
+ * 2.1 Top level menus
205
+ */
206
#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,
207
#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before,
208
#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before {
244
content: "\f448";
245
}
246
247
+ /*
248
+ * 2.2 Settings - Components
249
+ */
250
.settings_page_bp-components td.plugin-title span {
251
float: right;
252
width: 18px;
321
}
322
}
323
324
+ /*
325
+ * 2.3 Tools
326
+ */
327
+ #adminmenu .toplevel_page_network-tools div.wp-menu-image:before {
328
+ content: "";
329
+ }
330
331
332
+ /*------------------------------------------------------------------------------
333
+ * 3.0 User's Lists
334
+ *----------------------------------------------------------------------------*/
335
+ body.site-users-php th#role,
336
+ body.users-php th#role,
337
+ body.users_page_bp-signups th#count_sent {
338
+ width: 10%;
339
}
340
341
+ body.site-users-php th#name,
342
+ body.site-users-php th#email,
343
+ body.users-php th#name,
344
+ body.users-php th#registered,
345
+ body.users-php th#email,
346
+ body.users_page_bp-signups th#name,
347
+ body.users_page_bp-signups th#registered,
348
+ body.users_page_bp-signups th#email,
349
+ body.users_page_bp-signups th#date_sent {
350
+ width: 15%;
351
}
352
353
+ body.users-php th#blogs,
354
+ body.users_page_bp-signups th#blogs {
355
+ width: 20%;
356
}
357
358
+ body.users_page_bp-signups th.column-count_sent,
359
+ body.users_page_bp-signups td.count_sent {
360
+ text-align: center;
361
+ }
362
363
+
364
+ /*------------------------------------------------------------------------------
365
+ * 4.0 Emails - Edit Page
366
+ *----------------------------------------------------------------------------*/
367
+ body.post-type-bp-email #excerpt {
368
+ height: auto;
369
}
bp-core/admin/css/common-rtl.min.css CHANGED
@@ -1 +1 @@
1
- body.dashboard_page_bp-about span.dashicons,body.index_page_bp-about span.dashicons{float:right;clear:right;margin:15px 0 0 15px;height:90px;width:90px;background-color:#ccc;-webkit-border-radius:50%;border-radius:50%;border:1px solid #c1c1c1;font-size:65px;line-height:90px;color:#999;text-align:center}.about-wrap .two-col>div{position:relative;width:47.6%;margin-left:4.799999999%;float:right}.about-wrap [class$=col] .last-feature{margin-left:0}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:115px}@media screen and (max-width:782px){.about-wrap .two-col>div{width:100%;margin:30px 0 0;padding:0 0 30px;border-bottom:1px solid rgba(0,0,0,.1)}body.dashboard_page_bp-about span.dashicons,body.index_page_bp-about span.dashicons{font-size:55px;line-height:70px;height:70px;width:70px}.about-wrap .feature-list h2{margin:30px 0 0;text-align:center}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:90px}}.about-wrap .headline-feature{margin-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .headline-feature p{font-size:1.15em;margin:1.25em;text-align:center}.about-wrap .headline-feature h3{font-size:1.75em;font-weight:400;margin:1.25em 0 .6em;text-align:center}.about-wrap .feature-section{margin-top:40px}.about-wrap .changelog .feature-section{margin-top:0}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.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}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}#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}}.bp-badge{font:400 150px/1 dashicons!important;color:#D84800;display:inline-block}.bp-badge:before{content:"\f448"}.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}}
1
+ .bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.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 .about-wrap .headline-feature,.index_page_bp-about .about-wrap .headline-feature{margin-bottom:2em;text-align:center}.dashboard_page_bp-about .about-wrap .headline-feature h3,.dashboard_page_bp-about .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature h3,.index_page_bp-about .headline-feature .headline-title{font-size:2.2em;font-weight:400;line-height:1.3;margin:1.25em 0 .6em;text-align:center}.dashboard_page_bp-about .about-wrap .headline-feature p,.index_page_bp-about .about-wrap .headline-feature p{font-size:1.15em;margin:1.15em auto .6em}.dashboard_page_bp-about .about-wrap .headline-feature .introduction,.index_page_bp-about .about-wrap .headline-feature .introduction{font-weight:600}.dashboard_page_bp-about .about-wrap .two-col>div,.index_page_bp-about .about-wrap .two-col>div{float:right;margin-left:4.799999999%;position:relative;width:47.6%}.dashboard_page_bp-about .about-wrap .two-col .last-feature,.index_page_bp-about .about-wrap .two-col .last-feature{margin-left:0}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{margin-bottom:2em}.dashboard_page_bp-about .about-wrap .feature-section,.index_page_bp-about .about-wrap .feature-section{clear:both;margin-top:2em;overflow:hidden;padding-bottom:0}.dashboard_page_bp-about .about-wrap .changelog .feature-section,.index_page_bp-about .about-wrap .changelog .feature-section{margin-top:0}.dashboard_page_bp-about .about-wrap .feature-section h3,.index_page_bp-about .about-wrap .feature-section h3{font-size:1.25em;line-height:1.5em;margin:0 0 .6em}.dashboard_page_bp-about .about-wrap .changelog h4,.index_page_bp-about .about-wrap .changelog h4{color:#23282d;font-size:1em;margin:1.4em 0 .6em}.dashboard_page_bp-about .about-wrap .changelog,.index_page_bp-about .about-wrap .changelog{border-top:1px solid #eee;margin-bottom:3em}.dashboard_page_bp-about .about-wrap .changelog .changelog-title,.index_page_bp-about .about-wrap .changelog .changelog-title{font-size:1.25em;line-height:1.5em;margin:1.25em 0 .6em;text-align:center}@media screen and (max-width:782px){.dashboard_page_bp-about .about-wrap .headline-feature,.index_page_bp-about .about-wrap .headline-feature{max-width:100%}.dahsboard_page_bp-about .about-wrap .headline-feature h3,.dashboard_page_bp-about .about-wrap .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature h3{font-size:2em}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{margin-bottom:0}.dashboard_page_bp-about .about-wrap .feature-section,.index_page_bp-about .about-wrap .feature-section{margin-top:0}.dashboard_page_bp-about .about-wrap .two-col>div,.index_page_bp-about .about-wrap .two-col>div{border-bottom:1px solid rgba(0,0,0,.1);margin-top:1.25em;padding-bottom:1em;width:100%}.dashboard_page_bp-about .changelog .two-col>div,.index_page_bp-about .changelog .two-col>div{margin-top:0;padding-bottom:0}.dashboard_page_bp-about .about-wrap .changelog .changelog-title,.index_page_bp-about .about-wrap .changelog .changelog-title{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.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}
bp-core/admin/css/common.css CHANGED
@@ -1,138 +1,208 @@
1
- /**
2
- * CSS that is always loaded when in wp-admin
3
- *
4
- * @since 1.6.0
5
- */
6
-
7
- /* Welcome Screen
8
------------------------------------------------------------------------------*/
9
10
- body.dashboard_page_bp-about span.dashicons,
11
- body.index_page_bp-about span.dashicons {
12
- float: left;
13
- clear: left;
14
- margin: 15px 15px 0 0 ;
15
- height: 90px;
16
- width: 90px;
17
- background-color: #cccccc;
18
- -webkit-border-radius: 50%;
19
- border-radius: 50%;
20
- border: 1px solid #c1c1c1;
21
- font-size: 65px;
22
- line-height: 90px;
23
- color: #999;
24
- text-align: center;
25
- }
26
27
- /* About Page - since 2.3.3 (WP 4.3) */
28
-
29
- .about-wrap .two-col > div {
30
- position: relative;
31
- width: 47.6%;
32
- margin-right: 4.799999999%;
33
- float: left;
34
}
35
36
- .about-wrap [class$=col] .last-feature {
37
- margin-right: 0;
38
}
39
40
- .about-wrap .feature-list.finer-points h4,
41
- .about-wrap .feature-list.finer-points p {
42
- margin-left: 115px;
43
}
44
45
- @media screen and ( max-width: 782px ) {
46
- .about-wrap .two-col > div {
47
- width: 100%;
48
- margin: 30px 0 0;
49
- padding: 0 0 30px;
50
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
51
- }
52
- body.dashboard_page_bp-about span.dashicons,
53
- body.index_page_bp-about span.dashicons {
54
- font-size: 55px;
55
- line-height: 70px;
56
- height: 70px;
57
- width: 70px;
58
- }
59
- .about-wrap .feature-list h2 {
60
- margin: 30px 0 0;
61
- text-align: center;
62
- }
63
- .about-wrap .feature-list.finer-points h4,
64
- .about-wrap .feature-list.finer-points p {
65
- margin-left: 90px;
66
}
67
}
68
69
- /* About Page - since 2.4.0 (WP 4.4-trunk) */
70
-
71
- .about-wrap .headline-feature {
72
- margin-bottom: 1px solid rgba(0, 0, 0, 0.1);
73
- }
74
75
- .about-wrap .headline-feature p {
76
- font-size: 1.15em;
77
- margin: 1.25em;
78
text-align: center;
79
}
80
81
- .about-wrap .headline-feature h3 {
82
- font-size: 1.75em;
83
font-weight: normal;
84
margin: 1.25em 0 0.6em;
85
text-align: center;
86
}
87
88
- .about-wrap .feature-section {
89
- margin-top: 40px;
90
}
91
92
- .about-wrap .changelog .feature-section {
93
- margin-top: 0;
94
}
95
96
- /* User's Lists
97
- ------------------------------------------------------------------------------*/
98
99
- body.site-users-php th#role,
100
- body.users-php th#role,
101
- body.users_page_bp-signups th#count_sent {
102
- width: 10%;
103
}
104
105
- body.site-users-php th#name,
106
- body.site-users-php th#email,
107
- body.users-php th#name,
108
- body.users-php th#registered,
109
- body.users-php th#email,
110
- body.users_page_bp-signups th#name,
111
- body.users_page_bp-signups th#registered,
112
- body.users_page_bp-signups th#email,
113
- body.users_page_bp-signups th#date_sent {
114
- width: 15%;
115
}
116
117
- body.users-php th#blogs,
118
- body.users_page_bp-signups th#blogs {
119
- width: 20%;
120
}
121
122
- body.users_page_bp-signups th.column-count_sent,
123
- body.users_page_bp-signups td.count_sent {
124
text-align: center;
125
}
126
127
- /* Tools */
128
- #adminmenu .toplevel_page_network-tools div.wp-menu-image:before {
129
- content: "";
130
}
131
132
- /* Components
133
- ------------------------------------------------------------------------------*/
134
135
- /* Dashicons */
136
#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,
137
#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before,
138
#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before {
@@ -174,7 +244,9 @@ body.users_page_bp-signups td.count_sent {
174
content: "\f448";
175
}
176
177
- /* Settings - Dashicons (WP 3.8+) */
178
.settings_page_bp-components td.plugin-title span {
179
float: left;
180
width: 18px;
@@ -249,32 +321,49 @@ body.users_page_bp-signups td.count_sent {
249
}
250
}
251
252
253
- /* Version Badge */
254
255
- .bp-badge {
256
- font: normal 150px/1 'dashicons' !important;
257
- color: #D84800;
258
- display: inline-block;
259
}
260
261
- .bp-badge:before {
262
- content: "\f448";
263
}
264
265
- .about-wrap .bp-badge {
266
- position: absolute;
267
- top: 0;
268
- right: 0;
269
}
270
271
- /* About Page - since 2.3.3 (WP 4.3) */
272
273
- @media only screen and (max-width: 500px) {
274
- .about-wrap .bp-badge {
275
- position: relative;
276
- margin: 10px auto;
277
- top: auto;
278
- right: auto;
279
- }
280
}
1
+ /*------------------------------------------------------------------------------
2
+
3
+ This stylesheet is always loaded in wp-admin.
4
+
5
+ @since 1.6.0
6
+ @since 2.5.0
7
+
8
+ --------------------------------------------------------------------------------
9
+ TABLE OF CONTENTS:
10
+ --------------------------------------------------------------------------------
11
+ 1.0 Welcome Screen
12
+ 1.1 Version Badge
13
+ 1.2 About Panel
14
+ 1.2.1 Headline Feature
15
+ 1.2.2 Columns
16
+ 1.2.3 Features Section
17
+ 1.2.4 Changelog Section
18
+ 2.0 Dashicons
19
+ 2.1 Top level menus
20
+ 2.2 Settings - Components
21
+ 2.3 Tools
22
+ 3.0 User's Lists
23
+ 4.0 Emails - Edit page
24
------------------------------------------------------------------------------*/
25
26
+ /*------------------------------------------------------------------------------
27
+ * 1.0 Welcome Screen
28
+ *----------------------------------------------------------------------------*/
29
30
+ /*
31
+ * 1.1 Version Badge
32
+ */
33
+ .bp-badge {
34
+ color: #d84800;
35
+ display: inline-block;
36
+ font: normal 150px/1 'dashicons' !important;
37
}
38
39
+ .bp-badge:before {
40
+ content: "\f448";
41
}
42
43
+ .about-wrap .bp-badge {
44
+ position: absolute;
45
+ top: 0;
46
+ right: 0;
47
}
48
49
+ @media only screen and (max-width: 500px) {
50
+ .about-wrap .bp-badge {
51
+ position: relative;
52
+ margin: 10px auto;
53
+ top: auto;
54
+ right: auto;
55
}
56
}
57
58
+ /*
59
+ * 1.2 About Panel
60
+ */
61
62
+ /*
63
+ * 1.2.1 Headline Feature
64
+ */
65
+ .index_page_bp-about .about-wrap .headline-feature,
66
+ .dashboard_page_bp-about .about-wrap .headline-feature {
67
+ margin-bottom: 2em;
68
text-align: center;
69
}
70
71
+ .index_page_bp-about .about-wrap .headline-feature h3,
72
+ .index_page_bp-about .headline-feature .headline-title,
73
+ .dashboard_page_bp-about .about-wrap .headline-feature h3,
74
+ .dashboard_page_bp-about .headline-feature .headline-title {
75
+ font-size: 2.2em;
76
font-weight: normal;
77
+ line-height: 1.3;
78
margin: 1.25em 0 0.6em;
79
text-align: center;
80
}
81
82
+ .index_page_bp-about .about-wrap .headline-feature p,
83
+ .dashboard_page_bp-about .about-wrap .headline-feature p {
84
+ font-size: 1.15em;
85
+ margin: 1.15em auto 0.6em;
86
}
87
88
+ .index_page_bp-about .about-wrap .headline-feature .introduction,
89
+ .dashboard_page_bp-about .about-wrap .headline-feature .introduction {
90
+ font-weight: 600;
91
}
92
93
+ /*
94
+ * 1.2.2 Columns
95
+ */
96
+ .index_page_bp-about .about-wrap .two-col > div,
97
+ .dashboard_page_bp-about .about-wrap .two-col > div {
98
+ float: left;
99
+ margin-right: 4.799999999%;
100
+ position: relative;
101
+ width: 47.6%;
102
+ }
103
104
+ .index_page_bp-about .about-wrap .two-col .last-feature,
105
+ .dashboard_page_bp-about .about-wrap .two-col .last-feature {
106
+ margin-right: 0;
107
}
108
109
+ /*
110
+ * 1.2.3 Features Section
111
+ */
112
+ .index_page_bp-about .bp-features-section,
113
+ .dashboard_page_bp-about .bp-features-section {
114
+ margin-bottom: 2em;
115
}
116
117
+ .index_page_bp-about .about-wrap .feature-section,
118
+ .dashboard_page_bp-about .about-wrap .feature-section {
119
+ clear: both;
120
+ margin-top: 2em;
121
+ overflow: hidden;
122
+ padding-bottom: 0;
123
}
124
125
+ .index_page_bp-about .about-wrap .changelog .feature-section,
126
+ .dashboard_page_bp-about .about-wrap .changelog .feature-section {
127
+ margin-top: 0;
128
+ }
129
+
130
+ .index_page_bp-about .about-wrap .feature-section h3,
131
+ .dashboard_page_bp-about .about-wrap .feature-section h3 {
132
+ font-size: 1.25em;
133
+ line-height: 1.5em;
134
+ margin: 0 0 0.6em;
135
+ }
136
+
137
+ .index_page_bp-about .about-wrap .changelog h4,
138
+ .dashboard_page_bp-about .about-wrap .changelog h4 {
139
+ color: #23282d;
140
+ font-size: 1em;
141
+ margin: 1.4em 0 0.6em;
142
+ }
143
+
144
+ /*
145
+ * 1.2.4 Changelog Section
146
+ */
147
+ .index_page_bp-about .about-wrap .changelog,
148
+ .dashboard_page_bp-about .about-wrap .changelog {
149
+ border-top: 1px solid #eee;
150
+ margin-bottom: 3em;
151
+ }
152
+
153
+ .index_page_bp-about .about-wrap .changelog .changelog-title,
154
+ .dashboard_page_bp-about .about-wrap .changelog .changelog-title {
155
+ font-size: 1.25em;
156
+ line-height: 1.5em;
157
+ margin: 1.25em 0 .6em;
158
text-align: center;
159
}
160
161
+ @media screen and ( max-width: 782px ) {
162
+ .index_page_bp-about .about-wrap .headline-feature,
163
+ .dashboard_page_bp-about .about-wrap .headline-feature {
164
+ max-width: 100%;
165
+ }
166
+ .index_page_bp-about .about-wrap .headline-feature h3,
167
+ .dahsboard_page_bp-about .about-wrap .headline-feature h3,
168
+ .index_page_bp-about .about-wrap .headline-feature .headline-title,
169
+ .dashboard_page_bp-about .about-wrap .headline-feature .headline-title {
170
+ font-size: 2em;
171
+ }
172
+ .index_page_bp-about .bp-features-section,
173
+ .dashboard_page_bp-about .bp-features-section {
174
+ margin-bottom: 0;
175
+ }
176
+ .index_page_bp-about .about-wrap .feature-section,
177
+ .dashboard_page_bp-about .about-wrap .feature-section {
178
+ margin-top: 0;
179
+ }
180
+ .index_page_bp-about .about-wrap .two-col > div,
181
+ .dashboard_page_bp-about .about-wrap .two-col > div {
182
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
183
+ margin-top: 1.25em;
184
+ padding-bottom: 1em;
185
+ width: 100%;
186
+ }
187
+ .index_page_bp-about .changelog .two-col > div,
188
+ .dashboard_page_bp-about .changelog .two-col > div {
189
+ margin-top: 0;
190
+ padding-bottom: 0;
191
+ }
192
+ .index_page_bp-about .about-wrap .changelog .changelog-title,
193
+ .dashboard_page_bp-about .about-wrap .changelog .changelog-title {
194
+ text-align: left;
195
+ }
196
}
197
198
199
+ /*------------------------------------------------------------------------------
200
+ * 2.0 Dashicons
201
+ *----------------------------------------------------------------------------*/
202
+
203
+ /*
204
+ * 2.1 Top level menus
205
+ */
206
#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,
207
#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before,
208
#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before {
244
content: "\f448";
245
}
246
247
+ /*
248
+ * 2.2 Settings - Components
249
+ */
250
.settings_page_bp-components td.plugin-title span {
251
float: left;
252
width: 18px;
321
}
322
}
323
324
+ /*
325
+ * 2.3 Tools
326
+ */
327
+ #adminmenu .toplevel_page_network-tools div.wp-menu-image:before {
328
+ content: "";
329
+ }
330
331
332
+ /*------------------------------------------------------------------------------
333
+ * 3.0 User's Lists
334
+ *----------------------------------------------------------------------------*/
335
+ body.site-users-php th#role,
336
+ body.users-php th#role,
337
+ body.users_page_bp-signups th#count_sent {
338
+ width: 10%;
339
}
340
341
+ body.site-users-php th#name,
342
+ body.site-users-php th#email,
343
+ body.users-php th#name,
344
+ body.users-php th#registered,
345
+ body.users-php th#email,
346
+ body.users_page_bp-signups th#name,
347
+ body.users_page_bp-signups th#registered,
348
+ body.users_page_bp-signups th#email,
349
+ body.users_page_bp-signups th#date_sent {
350
+ width: 15%;
351
}
352
353
+ body.users-php th#blogs,
354
+ body.users_page_bp-signups th#blogs {
355
+ width: 20%;
356
}
357
358
+ body.users_page_bp-signups th.column-count_sent,
359
+ body.users_page_bp-signups td.count_sent {
360
+ text-align: center;
361
+ }
362
363
+
364
+ /*------------------------------------------------------------------------------
365
+ * 4.0 Emails - Edit Page
366
+ *----------------------------------------------------------------------------*/
367
+ body.post-type-bp-email #excerpt {
368
+ height: auto;
369
}
bp-core/admin/css/common.min.css CHANGED
@@ -1 +1 @@
1
- body.dashboard_page_bp-about span.dashicons,body.index_page_bp-about span.dashicons{float:left;clear:left;margin:15px 15px 0 0;height:90px;width:90px;background-color:#ccc;-webkit-border-radius:50%;border-radius:50%;border:1px solid #c1c1c1;font-size:65px;line-height:90px;color:#999;text-align:center}.about-wrap .two-col>div{position:relative;width:47.6%;margin-right:4.799999999%;float:left}.about-wrap [class$=col] .last-feature{margin-right:0}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:115px}@media screen and (max-width:782px){.about-wrap .two-col>div{width:100%;margin:30px 0 0;padding:0 0 30px;border-bottom:1px solid rgba(0,0,0,.1)}body.dashboard_page_bp-about span.dashicons,body.index_page_bp-about span.dashicons{font-size:55px;line-height:70px;height:70px;width:70px}.about-wrap .feature-list h2{margin:30px 0 0;text-align:center}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:90px}}.about-wrap .headline-feature{margin-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .headline-feature p{font-size:1.15em;margin:1.25em;text-align:center}.about-wrap .headline-feature h3{font-size:1.75em;font-weight:400;margin:1.25em 0 .6em;text-align:center}.about-wrap .feature-section{margin-top:40px}.about-wrap .changelog .feature-section{margin-top:0}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.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}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}#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}}.bp-badge{font:400 150px/1 dashicons!important;color:#D84800;display:inline-block}.bp-badge:before{content:"\f448"}.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}}
1
+ .bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.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 .about-wrap .headline-feature,.index_page_bp-about .about-wrap .headline-feature{margin-bottom:2em;text-align:center}.dashboard_page_bp-about .about-wrap .headline-feature h3,.dashboard_page_bp-about .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature h3,.index_page_bp-about .headline-feature .headline-title{font-size:2.2em;font-weight:400;line-height:1.3;margin:1.25em 0 .6em;text-align:center}.dashboard_page_bp-about .about-wrap .headline-feature p,.index_page_bp-about .about-wrap .headline-feature p{font-size:1.15em;margin:1.15em auto .6em}.dashboard_page_bp-about .about-wrap .headline-feature .introduction,.index_page_bp-about .about-wrap .headline-feature .introduction{font-weight:600}.dashboard_page_bp-about .about-wrap .two-col>div,.index_page_bp-about .about-wrap .two-col>div{float:left;margin-right:4.799999999%;position:relative;width:47.6%}.dashboard_page_bp-about .about-wrap .two-col .last-feature,.index_page_bp-about .about-wrap .two-col .last-feature{margin-right:0}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{margin-bottom:2em}.dashboard_page_bp-about .about-wrap .feature-section,.index_page_bp-about .about-wrap .feature-section{clear:both;margin-top:2em;overflow:hidden;padding-bottom:0}.dashboard_page_bp-about .about-wrap .changelog .feature-section,.index_page_bp-about .about-wrap .changelog .feature-section{margin-top:0}.dashboard_page_bp-about .about-wrap .feature-section h3,.index_page_bp-about .about-wrap .feature-section h3{font-size:1.25em;line-height:1.5em;margin:0 0 .6em}.dashboard_page_bp-about .about-wrap .changelog h4,.index_page_bp-about .about-wrap .changelog h4{color:#23282d;font-size:1em;margin:1.4em 0 .6em}.dashboard_page_bp-about .about-wrap .changelog,.index_page_bp-about .about-wrap .changelog{border-top:1px solid #eee;margin-bottom:3em}.dashboard_page_bp-about .about-wrap .changelog .changelog-title,.index_page_bp-about .about-wrap .changelog .changelog-title{font-size:1.25em;line-height:1.5em;margin:1.25em 0 .6em;text-align:center}@media screen and (max-width:782px){.dashboard_page_bp-about .about-wrap .headline-feature,.index_page_bp-about .about-wrap .headline-feature{max-width:100%}.dahsboard_page_bp-about .about-wrap .headline-feature h3,.dashboard_page_bp-about .about-wrap .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature h3{font-size:2em}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{margin-bottom:0}.dashboard_page_bp-about .about-wrap .feature-section,.index_page_bp-about .about-wrap .feature-section{margin-top:0}.dashboard_page_bp-about .about-wrap .two-col>div,.index_page_bp-about .about-wrap .two-col>div{border-bottom:1px solid rgba(0,0,0,.1);margin-top:1.25em;padding-bottom:1em;width:100%}.dashboard_page_bp-about .changelog .two-col>div,.index_page_bp-about .changelog .two-col>div{margin-top:0;padding-bottom:0}.dashboard_page_bp-about .about-wrap .changelog .changelog-title,.index_page_bp-about .about-wrap .changelog .changelog-title{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.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}
bp-core/admin/images/accessibility.gif DELETED
Binary file
bp-core/admin/images/autolink-feature.png ADDED
Binary file
bp-core/admin/images/bp-emails-feature.png ADDED
Binary file
bp-core/admin/images/emoji-feature.png ADDED
Binary file
bp-core/admin/images/group-cover-image.png DELETED
Binary file
bp-core/admin/images/group-home-page.png DELETED
Binary file
bp-core/admin/images/member-type-field.png DELETED
Binary file
bp-core/admin/images/post-type.png ADDED
Binary file
bp-core/admin/images/theme-stylesheets.png DELETED
Binary file
bp-core/admin/images/twentytwelve.png ADDED
Binary file
bp-core/admin/js/customizer-controls.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! buddypress - v2.4.0 - 2016-02-09 3:32:09 AM UTC - https://wordpress.org/plugins/buddypress/ */
2
!function(a){a(window).on("load",function(){a(".customize-control-range input").on("input",function(){var b=a(this);b.siblings("output").text(b.val())})})}(jQuery);
1
+ /*! buddypress - v2.5.0-rc1 - 2016-02-23 1:29:39 PM UTC - https://wordpress.org/plugins/buddypress/ */
2
!function(a){a(window).on("load",function(){a(".customize-control-range input").on("input",function(){var b=a(this);b.siblings("output").text(b.val())})})}(jQuery);
bp-core/admin/js/customizer-receiver-emails.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! buddypress - v2.4.0 - 2016-02-09 3:32:09 AM UTC - https://wordpress.org/plugins/buddypress/ */
2
!function(a){wp.customize("bp_email_options[email_bg]",function(b){b.bind(function(b){b.length&&(a(".email_bg").attr("bgcolor",b),a("hr").attr("color",b))})}),wp.customize("bp_email_options[header_bg]",function(b){b.bind(function(b){b.length&&a(".header_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[header_text_size]",function(b){b.bind(function(b){b.length&&a(".header_text_size").css("font-size",b+"px")})}),wp.customize("bp_email_options[header_text_color]",function(b){b.bind(function(b){b.length&&a(".header_text_color").css("color",b)})}),wp.customize("bp_email_options[highlight_color]",function(b){b.bind(function(b){b.length&&(a(".header_bg").css("border-top-color",b),a("a").css("color",b),a("hr").attr("color",b))})}),wp.customize("bp_email_options[body_bg]",function(b){b.bind(function(b){b.length&&a(".body_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[body_text_size]",function(b){b.bind(function(b){b.length&&(a(".body_text_size").css("font-size",b+"px").css("line-height",Math.floor(1.618*b)+"px"),a(".welcome").css("font-size",Math.floor(1.35*b)+"px"))})}),wp.customize("bp_email_options[body_text_color]",function(b){b.bind(function(b){b.length&&a(".body_text_color").css("color",b)})}),wp.customize("bp_email_options[footer_bg]",function(b){b.bind(function(b){b.length&&a(".footer_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[footer_text_size]",function(b){b.bind(function(b){b.length&&a(".footer_text_size").css("font-size",b+"px").css("line-height",Math.floor(1.618*b)+"px")})}),wp.customize("bp_email_options[footer_text_color]",function(b){b.bind(function(b){b.length&&a(".footer_text_color").css("color",b)})}),wp.customize("bp_email_options[footer_text]",function(b){b.bind(function(b){a(".footer_text").text(b)})})}(jQuery);
1
+ /*! buddypress - v2.5.0-rc1 - 2016-02-23 1:29:39 PM UTC - https://wordpress.org/plugins/buddypress/ */
2
!function(a){wp.customize("bp_email_options[email_bg]",function(b){b.bind(function(b){b.length&&(a(".email_bg").attr("bgcolor",b),a("hr").attr("color",b))})}),wp.customize("bp_email_options[header_bg]",function(b){b.bind(function(b){b.length&&a(".header_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[header_text_size]",function(b){b.bind(function(b){b.length&&a(".header_text_size").css("font-size",b+"px")})}),wp.customize("bp_email_options[header_text_color]",function(b){b.bind(function(b){b.length&&a(".header_text_color").css("color",b)})}),wp.customize("bp_email_options[highlight_color]",function(b){b.bind(function(b){b.length&&(a(".header_bg").css("border-top-color",b),a("a").css("color",b),a("hr").attr("color",b))})}),wp.customize("bp_email_options[body_bg]",function(b){b.bind(function(b){b.length&&a(".body_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[body_text_size]",function(b){b.bind(function(b){b.length&&(a(".body_text_size").css("font-size",b+"px").css("line-height",Math.floor(1.618*b)+"px"),a(".welcome").css("font-size",Math.floor(1.35*b)+"px"))})}),wp.customize("bp_email_options[body_text_color]",function(b){b.bind(function(b){b.length&&a(".body_text_color").css("color",b)})}),wp.customize("bp_email_options[footer_bg]",function(b){b.bind(function(b){b.length&&a(".footer_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[footer_text_size]",function(b){b.bind(function(b){b.length&&a(".footer_text_size").css("font-size",b+"px").css("line-height",Math.floor(1.618*b)+"px")})}),wp.customize("bp_email_options[footer_text_color]",function(b){b.bind(function(b){b.length&&a(".footer_text_color").css("color",b)})}),wp.customize("bp_email_options[footer_text]",function(b){b.bind(function(b){a(".footer_text").text(b)})})}(jQuery);
bp-core/bp-core-cssjs.php CHANGED
@@ -16,7 +16,7 @@ defined( 'ABSPATH' ) || exit;
16
* @since 2.1.0
17
*/
18
function bp_core_register_common_scripts() {
19
- $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
20
$url = buddypress()->plugin_url . 'bp-core/js/';
21
22
/**
@@ -63,7 +63,7 @@ add_action( 'bp_admin_enqueue_scripts', 'bp_core_register_common_scripts', 1 );
63
* @since 2.1.0
64
*/
65
function bp_core_register_common_styles() {
66
- $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
67
$url = buddypress()->plugin_url . 'bp-core/css/';
68
69
/**
16
* @since 2.1.0
17
*/
18
function bp_core_register_common_scripts() {
19
+ $min = bp_core_get_minified_asset_suffix();
20
$url = buddypress()->plugin_url . 'bp-core/js/';
21
22
/**
63
* @since 2.1.0
64
*/
65
function bp_core_register_common_styles() {
66
+ $min = bp_core_get_minified_asset_suffix();
67
$url = buddypress()->plugin_url . 'bp-core/css/';
68
69
/**
bp-core/bp-core-customizer-email.php CHANGED
@@ -31,7 +31,7 @@ function bp_email_init_customizer( WP_Customize_Manager $wp_customize ) {
31
32
$wp_customize->add_panel( 'bp_mailtpl', array(
33
'description' => __( 'Customize the appearance of emails sent by BuddyPress.', 'buddypress' ),
34
- 'title' => _x( 'Emails', 'screen heading', 'buddypress' ),
35
) );
36
37
$sections = bp_email_get_customizer_sections();
@@ -78,7 +78,7 @@ function bp_email_init_customizer( WP_Customize_Manager $wp_customize ) {
78
* the Customizer loads very, very early.
79
*/
80
$bp = buddypress();
81
- $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
82
83
wp_enqueue_script(
84
'bp-customizer-receiver-emails',
@@ -87,6 +87,9 @@ function bp_email_init_customizer( WP_Customize_Manager $wp_customize ) {
87
bp_get_version(),
88
true
89
);
90
}
91
}
92
add_action( 'bp_customize_register', 'bp_email_init_customizer' );
31
32
$wp_customize->add_panel( 'bp_mailtpl', array(
33
'description' => __( 'Customize the appearance of emails sent by BuddyPress.', 'buddypress' ),
34
+ 'title' => _x( 'BuddyPress Emails', 'screen heading', 'buddypress' ),
35
) );
36
37
$sections = bp_email_get_customizer_sections();
78
* the Customizer loads very, very early.
79
*/
80
$bp = buddypress();
81
+ $min = bp_core_get_minified_asset_suffix();
82
83
wp_enqueue_script(
84
'bp-customizer-receiver-emails',
87
bp_get_version(),
88
true
89
);
90
+
91
+ // Include the preview loading style
92
+ add_action( 'wp_footer', array( $wp_customize, 'customize_preview_loading_style' ) );
93
}
94
}
95
add_action( 'bp_customize_register', 'bp_email_init_customizer' );
bp-core/bp-core-filters.php CHANGED
@@ -464,7 +464,7 @@ function bp_core_activation_signup_blog_notification( $domain, $path, $title, $u
464
'user.email' => $user_email,
465
),
466
);
467
- bp_send_email( 'core-user-registration-with-blog', $user_email, $args );
468
469
// Return false to stop the original WPMU function from continuing.
470
return false;
@@ -512,14 +512,21 @@ function bp_core_activation_signup_user_notification( $user, $user_email, $key,
512
}
513
}
514
515
$args = array(
516
'tokens' => array(
517
'activate.url' => esc_url( trailingslashit( bp_get_activation_page() ) . "{$key}/" ),
518
'key' => $key,
519
'user.email' => $user_email,
520
),
521
);
522
- bp_send_email( 'core-user-registration', $user_email, $args );
523
524
// Return false to stop the original WPMU function from continuing.
525
return false;
@@ -1013,10 +1020,11 @@ function bp_email_set_default_tokens( $tokens, $property_name, $transform, $emai
1013
$tokens['site.name'] = wp_specialchars_decode( bp_get_option( 'blogname' ), ENT_QUOTES );
1014
1015
// Default values for tokens set conditionally below.
1016
- $tokens['email.preheader'] = '';
1017
- $tokens['recipient.email'] = '';
1018
- $tokens['recipient.name'] = '';
1019
- $tokens['unsubscribe'] = '';
1020
1021
1022
// Who is the email going to?
@@ -1025,8 +1033,12 @@ function bp_email_set_default_tokens( $tokens, $property_name, $transform, $emai
1025
$recipient = array_shift( $recipient );
1026
$user_obj = $recipient->get_user( 'search-email' );
1027
1028
- $tokens['recipient.address'] = $recipient->get_address();
1029
- $tokens['recipient.name'] = $recipient->get_name();
1030
1031
if ( $user_obj ) {
1032
// Unsubscribe link.
@@ -1035,6 +1047,7 @@ function bp_email_set_default_tokens( $tokens, $property_name, $transform, $emai
1035
bp_core_get_user_domain( $user_obj->ID ),
1036
function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings'
1037
) );
1038
}
1039
}
1040
@@ -1088,6 +1101,8 @@ function bp_core_render_email_template( $template ) {
1088
$template = ob_get_contents();
1089
ob_end_clean();
1090
1091
echo str_replace( '{{{content}}}', nl2br( get_post()->post_content ), $template );
1092
1093
/*
464
'user.email' => $user_email,
465
),
466
);
467
+ bp_send_email( 'core-user-registration-with-blog', array( array( $user_email => $user ) ), $args );
468
469
// Return false to stop the original WPMU function from continuing.
470
return false;
512
}
513
}
514
515
+ $user_id = 0;
516
+ $user_object = get_user_by( 'login', $user );
517
+ if ( $user_object ) {
518
+ $user_id = $user_object->ID;
519
+ }
520
+
521
$args = array(
522
'tokens' => array(
523
'activate.url' => esc_url( trailingslashit( bp_get_activation_page() ) . "{$key}/" ),
524
'key' => $key,
525
'user.email' => $user_email,
526
+ 'user.id' => $user_id,
527
),
528
);
529
+ bp_send_email( 'core-user-registration', array( array( $user_email => $user ) ), $args );
530
531
// Return false to stop the original WPMU function from continuing.
532
return false;
1020
$tokens['site.name'] = wp_specialchars_decode( bp_get_option( 'blogname' ), ENT_QUOTES );
1021
1022
// Default values for tokens set conditionally below.
1023
+ $tokens['email.preheader'] = '';
1024
+ $tokens['recipient.email'] = '';
1025
+ $tokens['recipient.name'] = '';
1026
+ $tokens['recipient.username'] = '';
1027
+ $tokens['unsubscribe'] = site_url( 'wp-login.php' );
1028
1029
1030
// Who is the email going to?
1033
$recipient = array_shift( $recipient );
1034
$user_obj = $recipient->get_user( 'search-email' );
1035
1036
+ $tokens['recipient.email'] = $recipient->get_address();
1037
+ $tokens['recipient.name'] = $recipient->get_name();
1038
+
1039
+ if ( ! $user_obj && $tokens['recipient.email'] ) {
1040
+ $user_obj = get_user_by( 'email', $tokens['recipient.email'] );
1041
+ }
1042
1043
if ( $user_obj ) {
1044
// Unsubscribe link.
1047
bp_core_get_user_domain( $user_obj->ID ),
1048
function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings'
1049
) );
1050
+ $tokens['recipient.username'] = $user_obj->user_login;
1051
}
1052
}
1053
1101
$template = ob_get_contents();
1102
ob_end_clean();
1103
1104
+ // Make sure we add a <title> tag so WP Customizer picks it up.
1105
+ $template = str_replace( '<head>', '<head><title>' . esc_html_x( 'BuddyPress Emails', 'screen heading', 'buddypress' ) . '</title>', $template );
1106
echo str_replace( '{{{content}}}', nl2br( get_post()->post_content ), $template );
1107
1108
/*
bp-core/bp-core-functions.php CHANGED
@@ -2313,6 +2313,24 @@ function _bp_strip_spans_from_title( $title_part = '' ) {
2313
return trim( $title );
2314
}
2315
2316
/** Nav Menu ******************************************************************/
2317
2318
/**
@@ -2659,7 +2677,8 @@ function bp_get_email_post_type_labels() {
2659
'filter_items_list' => _x( 'Filter email list', 'email post type label', 'buddypress' ),
2660
'items_list' => _x( 'Email list', 'email post type label', 'buddypress' ),
2661
'items_list_navigation' => _x( 'Email list navigation', 'email post type label', 'buddypress' ),
2662
- 'name' => _x( 'Emails', 'email post type name', 'buddypress' ),
2663
'new_item' => _x( 'New Email', 'email post type label', 'buddypress' ),
2664
'not_found' => _x( 'No emails found', 'email post type label', 'buddypress' ),
2665
'not_found_in_trash' => _x( 'No emails found in Trash', 'email post type label', 'buddypress' ),
@@ -2931,7 +2950,7 @@ function bp_send_email( $email_type, $to, $args = array() ) {
2931
*
2932
* @param bool $use_wp_mail Whether to fallback to the regular wp_mail() function or not.
2933
*/
2934
- $must_use_wpmail = apply_filters( 'bp_mail_use_wp_mail', $wp_html_emails || ! $is_default_wpmail );
2935
2936
if ( $must_use_wpmail ) {
2937
$to = $email->get( 'to' );
2313
return trim( $title );
2314
}
2315
2316
+ /**
2317
+ * Get the correct filename suffix for minified assets.
2318
+ *
2319
+ * @since 2.5.0
2320
+ *
2321
+ * @return string
2322
+ */
2323
+ function bp_core_get_minified_asset_suffix() {
2324
+ $ext = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
2325
+
2326
+ // Ensure the assets can be located when running from /src/.
2327
+ if ( defined( 'BP_SOURCE_SUBDIRECTORY' ) && BP_SOURCE_SUBDIRECTORY === 'src' ) {
2328
+ $ext = str_replace( '.min', '', $ext );
2329
+ }
2330
+
2331
+ return $ext;
2332
+ }
2333
+
2334
/** Nav Menu ******************************************************************/
2335
2336
/**
2677
'filter_items_list' => _x( 'Filter email list', 'email post type label', 'buddypress' ),
2678
'items_list' => _x( 'Email list', 'email post type label', 'buddypress' ),
2679
'items_list_navigation' => _x( 'Email list navigation', 'email post type label', 'buddypress' ),
2680
+ 'menu_name' => _x( 'Emails', 'email post type name', 'buddypress' ),
2681
+ 'name' => _x( 'BuddyPress Emails', 'email post type label', 'buddypress' ),
2682
'new_item' => _x( 'New Email', 'email post type label', 'buddypress' ),
2683
'not_found' => _x( 'No emails found', 'email post type label', 'buddypress' ),
2684
'not_found_in_trash' => _x( 'No emails found in Trash', 'email post type label', 'buddypress' ),
2950
*
2951
* @param bool $use_wp_mail Whether to fallback to the regular wp_mail() function or not.
2952
*/
2953
+ $must_use_wpmail = apply_filters( 'bp_email_use_wp_mail', $wp_html_emails || ! $is_default_wpmail );
2954
2955
if ( $must_use_wpmail ) {
2956
$to = $email->get( 'to' );
bp-core/bp-core-taxonomy.php CHANGED
@@ -26,7 +26,7 @@ function bp_register_default_taxonomies() {
26
) );
27
28
// Email type.
29
- if ( bp_is_root_blog() && ! is_network_admin() ) {
30
register_taxonomy(
31
bp_get_email_tax_type(),
32
bp_get_email_post_type(),
@@ -64,6 +64,7 @@ function bp_set_object_terms( $object_id, $terms, $taxonomy, $append = false ) {
64
65
if ( ! $is_root_blog ) {
66
switch_to_blog( bp_get_root_blog_id() );
67
}
68
69
$retval = wp_set_object_terms( $object_id, $terms, $taxonomy, $append );
@@ -92,6 +93,7 @@ function bp_get_object_terms( $object_ids, $taxonomies, $args = array() ) {
92
93
if ( ! $is_root_blog ) {
94
switch_to_blog( bp_get_root_blog_id() );
95
}
96
97
$retval = wp_get_object_terms( $object_ids, $taxonomies, $args );
@@ -120,6 +122,7 @@ function bp_remove_object_terms( $object_id, $terms, $taxonomy ) {
120
121
if ( ! $is_root_blog ) {
122
switch_to_blog( bp_get_root_blog_id() );
123
}
124
125
$retval = wp_remove_object_terms( $object_id, $terms, $taxonomy );
26
) );
27
28
// Email type.
29
+ if ( bp_is_root_blog() ) {
30
register_taxonomy(
31
bp_get_email_tax_type(),
32
bp_get_email_post_type(),
64
65
if ( ! $is_root_blog ) {
66
switch_to_blog( bp_get_root_blog_id() );
67
+ bp_register_taxonomies();
68
}
69
70
$retval = wp_set_object_terms( $object_id, $terms, $taxonomy, $append );
93
94
if ( ! $is_root_blog ) {
95
switch_to_blog( bp_get_root_blog_id() );
96
+ bp_register_taxonomies();
97
}
98
99
$retval = wp_get_object_terms( $object_ids, $taxonomies, $args );
122
123
if ( ! $is_root_blog ) {
124
switch_to_blog( bp_get_root_blog_id() );
125
+ bp_register_taxonomies();
126
}
127
128
$retval = wp_remove_object_terms( $object_id, $terms, $taxonomy );
bp-core/bp-core-template-loader.php CHANGED
@@ -126,7 +126,17 @@ function bp_locate_template( $template_names, $load = false, $require_once = tru
126
// Maybe load the template if one was located.
127
$use_themes = defined( 'WP_USE_THEMES' ) && WP_USE_THEMES;
128
$doing_ajax = defined( 'DOING_AJAX' ) && DOING_AJAX;
129
- if ( ( $use_themes || $doing_ajax ) && ( true == $load ) && ! empty( $located ) ) {
130
load_template( $located, $require_once );
131
}
132
126
// Maybe load the template if one was located.
127
$use_themes = defined( 'WP_USE_THEMES' ) && WP_USE_THEMES;
128
$doing_ajax = defined( 'DOING_AJAX' ) && DOING_AJAX;
129
+
130
+ /**
131
+ * Filter here to allow/disallow template loading.
132
+ *
133
+ * @since 2.5.0
134
+ *
135
+ * @param bool $value True to load the template, false otherwise.
136
+ */
137
+ $load_template = (bool) apply_filters( 'bp_locate_template_and_load', $use_themes || $doing_ajax );
138
+
139
+ if ( $load_template && ( true == $load ) && ! empty( $located ) ) {
140
load_template( $located, $require_once );
141
}
142
bp-core/bp-core-template.php CHANGED
@@ -3682,3 +3682,37 @@ function bp_nav_menu( $args = array() ) {
3682
return $nav_menu;
3683
}
3684
}
3682
return $nav_menu;
3683
}
3684
}
3685
+
3686
+ /**
3687
+ * Prints the Recipient Salutation.
3688
+ *
3689
+ * @since 2.5.0
3690
+ *
3691
+ * @param array $settings Email Settings.
3692
+ */
3693
+ function bp_email_the_salutation( $settings = array() ) {
3694
+ echo bp_email_get_salutation( $settings );
3695
+ }
3696
+
3697
+ /**
3698
+ * Gets the Recipient Salutation.
3699
+ *
3700
+ * @since 2.5.0
3701
+ *
3702
+ * @param array $settings Email Settings.
3703
+ * @return string The Recipient Salutation.
3704
+ */
3705
+ function bp_email_get_salutation( $settings = array() ) {
3706
+ $token = '{{recipient.name}}';
3707
+
3708
+ /**
3709
+ * Filters The Recipient Salutation inside the Email Template.
3710
+ *
3711
+ * @since 2.5.0
3712
+ *
3713
+ * @param string $value The Recipient Salutation.
3714
+ * @param array $settings Email Settings.
3715
+ * @param string $token The Recipient token.
3716
+ */
3717
+ return apply_filters( 'bp_email_get_salutation', sprintf( _x( 'Hi %s,', 'recipient salutation', 'buddypress' ), $token ), $settings, $token );
3718
+ }
bp-core/bp-core-update.php CHANGED
@@ -205,6 +205,15 @@ function bp_version_updater() {
205
) );
206
207
require_once( buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
208
209
// Install BP schema and activate only Activity and XProfile.
210
if ( bp_is_install() ) {
@@ -272,6 +281,10 @@ function bp_version_updater() {
272
273
// Bump the version.
274
bp_version_bump();
275
}
276
277
/**
205
) );
206
207
require_once( buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
208
+ $switched_to_root_blog = false;
209
+
210
+ // Make sure the current blog is set to the root blog
211
+ if ( ! bp_is_root_blog() ) {
212
+ switch_to_blog( bp_get_root_blog_id() );
213
+ bp_register_taxonomies();
214
+
215
+ $switched_to_root_blog = true;
216
+ }
217
218
// Install BP schema and activate only Activity and XProfile.
219
if ( bp_is_install() ) {
281
282
// Bump the version.
283
bp_version_bump();
284
+
285
+ if ( $switched_to_root_blog ) {
286
+ restore_current_blog();
287
+ }
288
}
289
290
/**
bp-core/classes/class-bp-admin.php CHANGED
@@ -313,7 +313,7 @@ class BP_Admin {
313
314
$hooks[] = add_menu_page(
315
$email_labels['name'],
316
- $email_labels['name'],
317
$this->capability,
318
'',
319
'',
@@ -342,7 +342,8 @@ class BP_Admin {
342
343
$hooks = array();
344
345
- if ( bp_is_root_blog() ) {
346
// Appearance > Emails.
347
$hooks[] = add_theme_page(
348
_x( 'Emails', 'screen heading', 'buddypress' ),
@@ -351,6 +352,16 @@ class BP_Admin {
351
'bp-emails-customizer-redirect',
352
'bp_email_redirect_to_customizer'
353
);
354
}
355
356
foreach( $hooks as $hook ) {
@@ -602,69 +613,74 @@ class BP_Admin {
602
<?php endif; ?>
603
604
<div class="headline-feature">
605
- <h3><?php esc_html_e( 'Cover Images For Members And Groups', 'buddypress' ); ?></h3>
606
607
<div class="featured-image">
608
- <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/group-cover-image.png' ); ?>" alt="<?php esc_attr_e( 'Cover Images for Members and Groups', 'buddypress' ); ?>" width="843" height="377">
609
- </div>
610
- <div>
611
- <p><?php printf( __( 'Your community can now upload cover photos for their user profiles and groups. <a href="%s">Learn more &rarr;</a>', 'buddypress' ), esc_url( 'https://codex.buddypress.org/themes/buddypress-cover-images/' ) ); ?></p>
612
</div>
613
- <div class="clear"></div>
614
615
</div>
616
617
- <hr>
618
619
- <div class="feature-section two-col">
620
- <div>
621
- <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/member-type-field.png' ); ?>" alt="<?php esc_attr_e( 'Profile Field for Member Type', 'buddypress' ); ?>">
622
- <h3><?php esc_html_e( 'Profile Fields For Specific Member Types', 'buddypress' ); ?></h3>
623
- <p><?php printf( __( 'You can create profile fields which are available to one or more <a href="%s">custom member types</a>.', 'buddypress' ), esc_url( 'https://codex.buddypress.org/developer/member-types/' ) ); ?></p>
624
- </div>
625
- <div class="last-feature">
626
- <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/theme-stylesheets.png' ); ?>" alt="<?php esc_attr_e( 'BuddyPress Companion Stylesheets', 'buddypress' ); ?>">
627
- <h3><?php esc_html_e( 'More Companion Stylesheets For Themes', 'buddypress' ); ?></h3>
628
- <p><?php esc_html_e( 'BuddyPress looks and works better than ever with WordPress theme Twenty Thirteen, and the upcoming Twenty Sixteen.', 'buddypress' ); ?></p>
629
- </div>
630
- </div>
631
632
- <div class="feature-section two-col">
633
- <div>
634
- <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/group-home-page.png' ); ?>" alt="<?php esc_attr_e( 'Customize your group home page', 'buddypress' ); ?>">
635
- <h3><?php esc_html_e( 'Customizable Group Home Page', 'buddypress' ); ?></h3>
636
- <p><?php esc_html_e( 'You can customize each and every Group\'s home page by using the new front page template hierarchy.', 'buddypress' ); ?> <a href="https://bpdevel.wordpress.com/2015/10/03/get-ready-2-4-0-will-introduce-important-changes-in-groups-homes/"><?php esc_html_e( 'Learn how &rarr;', 'buddypress' ); ?></a></p>
637
</div>
638
- <div class="last-feature">
639
- <img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/accessibility.gif' ); ?>" alt="<?php esc_attr_e( 'Accessibility Upgrades', 'buddypress' ); ?>">
640
- <h3><?php esc_html_e( 'Accessibility Upgrades', 'buddypress' ); ?></h3>
641
- <p><?php _e( 'We\'re making BuddyPress more usable and accessible for everyone, from the frontend templates to the backend admin screens.', 'buddypress' ); ?></p>
642
</div>
643
644
</div>
645
646
<div class="changelog">
647
- <h3><?php esc_html_e( 'Under The Hood', 'buddypress' ); ?></h3>
648
649
<div class="feature-section col two-col">
650
<div>
651
- <h4><?php esc_html_e( 'User Experience', 'buddypress' ); ?></h4>
652
- <p><?php esc_html_e( "Enhancements to the What's New form bring better user experience for your community, and make it easier for developers to add new features.", 'buddypress' ); ?></p>
653
-
654
- <h4><?php esc_html_e( 'Cache Improvements', 'buddypress' ); ?></h4>
655
- <p><?php esc_html_e( 'Continued object and query cache enhancements have been implemented across different components to improve performance.', 'buddypress' ); ?></p>
656
</div>
657
<div class="last-feature">
658
- <h4><?php esc_html_e( 'Developer Reference', 'buddypress' ); ?></h4>
659
<p><?php esc_html_e( 'Regular updates to inline code documentation make it easier for developers to understand how BuddyPress works.', 'buddypress' ); ?></p>
660
-
661
- <h4><?php esc_html_e( 'Constant Refinements', 'buddypress' ); ?></h4>
662
- <p><?php esc_html_e( 'The BuddyPress codebase is continuously tested and updated with the latest WordPress enhancements and features.', 'buddypress' ); ?></p>
663
</div>
664
</div>
665
</div>
666
667
<p><?php _ex( 'Learn more:', 'About screen, website links', 'buddypress' ); ?> <a href="https://buddypress.org/blog/"><?php _ex( 'News', 'About screen, link to project blog', 'buddypress' ); ?></a> &bullet; <a href="https://buddypress.org/support/"><?php _ex( 'Support', 'About screen, link to support site', 'buddypress' ); ?></a> &bullet; <a href="https://codex.buddypress.org/"><?php _ex( 'Documentation', 'About screen, link to documentation', 'buddypress' ); ?></a> &bullet; <a href="https://bpdevel.wordpress.com/"><?php _ex( 'Development Blog', 'About screen, link to development blog', 'buddypress' ); ?></a></p>
668
<p><?php _ex( 'Twitter:', 'official Twitter accounts:', 'buddypress' ); ?> <a href="https://twitter.com/buddypress/"><?php _ex( 'BuddyPress', '@buddypress twitter account name', 'buddypress' ); ?></a> &bullet; <a href="https://twitter.com/bptrac/"><?php _ex( 'Trac', '@bptrac twitter account name', 'buddypress' ); ?></a> &bullet; <a href="https://twitter.com/buddypressdev/"><?php _ex( 'Development', '@buddypressdev twitter account name', 'buddypress' ); ?></a></p>
669
670
</div>
@@ -771,52 +787,40 @@ class BP_Admin {
771
772
<h3 class="wp-people-group"><?php printf( esc_html__( 'Contributors to BuddyPress %s', 'buddypress' ), self::display_version() ); ?></h3>
773
<p class="wp-credits-list">
774
- <a href="https://profiles.wordpress.org/ankit-k-gupta/">Ankit K Gupta</a>,
775
- <a href="https://profiles.wordpress.org/anthonyvalera/">anthonyvalera</a>,
776
<a href="https://profiles.wordpress.org/boonebgorges/">Boone B Gorges (boonebgorges)</a>,
777
<a href="https://profiles.wordpress.org/thebrandonallen/">Brandon Allen (thebrandonallen)</a>,
778
- <a href="https://profiles.wordpress.org/BuddyBoss/">BuddyBoss</a>,
779
<a href="https://profiles.wordpress.org/needle/">Christian Wach (needle)</a>,
780
- <a href="https://profiles.wordpress.org/damland/">damland</a>,
781
- <a href="https://profiles.wordpress.org/danbp/">danbp</a>,
782
- <a href="https://profiles.wordpress.org/daniluk4000/">daniluk4000</a>,
783
- <a href="https://profiles.wordpress.org/davidtcarson/">David Carson (davidtcarson)</a>,
784
<a href="https://profiles.wordpress.org/dcavins/">David Cavins (dcavins)</a>,
785
- <a href="https://profiles.wordpress.org/valendesigns/">Derek Herman (valendesigns)</a>,
786
- <a href="https://profiles.wordpress.org/ganesh641/">ganesh641</a>,
787
<a href="https://profiles.wordpress.org/hnla/">Hugo (hnla)</a>,
788
- <a href="https://profiles.wordpress.org/jdgrimes/">J.D. Grimes</a>,
789
- <a href="https://profiles.wordpress.org/JeffMatson/">JeffMatson</a>,
790
- <a href="https://profiles.wordpress.org/jmarx75/">jmarx75</a>,
791
<a href="https://profiles.wordpress.org/johnjamesjacoby/">John James Jacoby (johnjamesjacoby)</a>,
792
- <a href="https://profiles.wordpress.org/kahless/">Jon Breitenbucher (kahless)</a>,
793
- <a href="https://profiles.wordpress.org/jbrinley/">Jonathan Brinley (jbrinley)</a>,
794
- <a href="https://profiles.wordpress.org/dunhakdis/">Joseph G. (dunhakdis)</a>,
795
- <a href="https://profiles.wordpress.org/lakrisgubben/">lakrisgubben</a>,
796
- <a href="https://profiles.wordpress.org/landwire/">landwire</a>,
797
- <a href="https://profiles.wordpress.org/Offereins">Laurens Offereins (Offereins)</a>
798
- <a href="https://profiles.wordpress.org/lenasterg/">lenasterg</a>,
799
- <a href="https://profiles.wordpress.org/mrk-1/">m@rk</a>,
800
- <a href="https://profiles.wordpress.org/mahype/">mahype</a>,
801
<a href="https://profiles.wordpress.org/imath/">Mathieu Viet (imath)</a>,
802
- <a href="https://profiles.wordpress.org/mehulkaklotar/">mehulkaklotar</a>,
803
<a href="https://profiles.wordpress.org/mercime/">mercime</a>,
804
<a href="https://profiles.wordpress.org/tw2113/">Michael Beckwith (tw2113)</a>,
805
<a href="https://profiles.wordpress.org/modemlooper/">modemlooper</a>,
806
- <a href="https://profiles.wordpress.org/pareshradadiya/">paresh.radadiya (pareshradadiya)</a>,
807
<a href="https://profiles.wordpress.org/DJPaul/">Paul Gibbs (DJPaul)</a>,
808
- <a href="https://profiles.wordpress.org/r-a-y/">r-a-y</a>,
809
<a href="https://profiles.wordpress.org/ramiy/">Rami Yushuvaev (ramiy)</a>,
810
- <a href="https://profiles.wordpress.org/ritteshpatel/">Ritesh Patel (ritteshpatel)</a>,
811
- <a href="https://profiles.wordpress.org/SergeyBiryukov/">Sergey Biryukov (SergeyBiryukov)</a>,
812
<a href="https://profiles.wordpress.org/shanebp/">shanebp</a>,
813
<a href="https://profiles.wordpress.org/slaffik/">Slava UA (slaffik)</a>,
814
<a href="https://profiles.wordpress.org/netweb/">Stephen Edgar (netweb)</a>,
815
- <a href="https://profiles.wordpress.org/svenl77/">svenl77</a>,
816
- <a href="https://profiles.wordpress.org/tanner-m/">Tanner Moushey</a>,
817
- <a href="https://profiles.wordpress.org/thomaslhotta/">thomaslhotta</a>,
818
- <a href="https://profiles.wordpress.org/vnd/">vnd</a>,
819
- <a href="https://profiles.wordpress.org/willgladstone/">willgladstone</a>.
820
</p>
821
822
<h3 class="wp-people-group"><?php _e( '&#x1f496;With our thanks to these Open Source projects&#x1f496;', 'buddypress' ); ?></h3>
@@ -845,7 +849,7 @@ class BP_Admin {
845
// Switch welcome text based on whether this is a new installation or not.
846
$welcome_text = ( self::is_new_install() )
847
? __( 'Thank you for installing BuddyPress! BuddyPress helps you build any type of community website using WordPress, with member profiles, activity streams, user groups, messaging, and more.', 'buddypress' )
848
- : __( 'BuddyPress %s comes with a bunch of great improvements we think you&#8217;re really going to like.', 'buddypress' );
849
850
?>
851
@@ -964,7 +968,7 @@ class BP_Admin {
964
* @since 2.5.0
965
*/