BuddyPress - Version 1.5.5

Version Description

  • Security upgrade
  • Fixes over 10 bugs
Download this release

Release Info

Developer boonebgorges
Plugin Icon 128x128 BuddyPress
Version 1.5.5
Comparing to
See all releases

Code changes from version 1.5.4 to 1.5.5

bp-activity/bp-activity-classes.php CHANGED
@@ -133,17 +133,14 @@ Class BP_Activity_Activity {
133
$where_conditions['hidden_sql'] = "a.hide_sitewide = 0";
134
135
// Exclude specified items
136
- if ( $exclude )
137
$where_conditions['exclude'] = "a.id NOT IN ({$exclude})";
138
139
// The specific ids to which you want to limit the query
140
if ( !empty( $in ) ) {
141
- if ( is_array( $in ) ) {
142
- $in = implode ( ',', array_map( 'absint', $in ) );
143
- } else {
144
- $in = implode ( ',', array_map( 'absint', explode ( ',', $in ) ) );
145
- }
146
-
147
$where_conditions['in'] = "a.id IN ({$in})";
148
}
149
@@ -155,8 +152,13 @@ Class BP_Activity_Activity {
155
156
$where_sql = 'WHERE ' . join( ' AND ', $where_conditions );
157
158
- if ( $per_page && $page ) {
159
- $pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $per_page ), intval( $per_page ) );
160
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort} {$pag_sql}" ), $select_sql, $from_sql, $where_sql, $sort, $pag_sql ) );
161
} else {
162
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort}" ), $select_sql, $from_sql, $where_sql, $sort ) );
133
$where_conditions['hidden_sql'] = "a.hide_sitewide = 0";
134
135
// Exclude specified items
136
+ if ( !empty( $exclude ) ) {
137
+ $exclude = implode( ',', wp_parse_id_list( $exclude ) );
138
$where_conditions['exclude'] = "a.id NOT IN ({$exclude})";
139
+ }
140
141
// The specific ids to which you want to limit the query
142
if ( !empty( $in ) ) {
143
+ $in = implode( ',', wp_parse_id_list( $in ) );
144
$where_conditions['in'] = "a.id IN ({$in})";
145
}
146
152
153
$where_sql = 'WHERE ' . join( ' AND ', $where_conditions );
154
155
+ if ( !empty( $per_page ) && !empty( $page ) ) {
156
+
157
+ // Make sure page values are absolute integers
158
+ $page = absint( $page );
159
+ $per_page = absint( $per_page );
160
+
161
+ $pag_sql = $wpdb->prepare( "LIMIT %d, %d", absint( ( $page - 1 ) * $per_page ), $per_page );
162
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort} {$pag_sql}" ), $select_sql, $from_sql, $where_sql, $sort, $pag_sql ) );
163
} else {
164
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', $wpdb->prepare( "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort}" ), $select_sql, $from_sql, $where_sql, $sort ) );
bp-activity/bp-activity-notifications.php CHANGED
@@ -53,8 +53,9 @@ function bp_activity_at_message_notification( $activity_id, $receiver_user_id )
53
if ( 'no' != bp_get_user_meta( $receiver_user_id, 'notification_activity_new_mention', true ) ) {
54
$poster_name = bp_core_get_user_displayname( $activity->user_id );
55
56
- $message_link = bp_activity_get_permalink( $activity_id );
57
- $settings_link = bp_core_get_user_domain( $receiver_user_id ) . bp_get_settings_slug() . '/notifications/';
58
59
$poster_name = stripslashes( $poster_name );
60
$content = bp_activity_filter_kses( strip_tags( stripslashes( $activity->content ) ) );
@@ -138,9 +139,10 @@ function bp_activity_new_comment_notification( $comment_id, $commenter_id, $para
138
$original_activity = new BP_Activity_Activity( $activity_id );
139
140
if ( $original_activity->user_id != $commenter_id && 'no' != bp_get_user_meta( $original_activity->user_id, 'notification_activity_new_reply', true ) ) {
141
- $poster_name = bp_core_get_user_displayname( $commenter_id );
142
- $thread_link = bp_activity_get_permalink( $activity_id );
143
- $settings_link = bp_core_get_user_domain( $original_activity->user_id ) . bp_get_settings_slug() . '/notifications/';
144
145
$poster_name = stripslashes( $poster_name );
146
$content = bp_activity_filter_kses( stripslashes($content) );
@@ -183,9 +185,10 @@ To view your original update and all comments, log in and visit: %3$s
183
$parent_comment = new BP_Activity_Activity( $parent_id );
184
185
if ( $parent_comment->user_id != $commenter_id && $original_activity->user_id != $parent_comment->user_id && 'no' != bp_get_user_meta( $parent_comment->user_id, 'notification_activity_new_reply', true ) ) {
186
- $poster_name = bp_core_get_user_displayname( $commenter_id );
187
- $thread_link = bp_activity_get_permalink( $activity_id );
188
- $settings_link = bp_core_get_user_domain( $parent_comment->user_id ) . bp_get_settings_slug() . '/notifications/';
189
190
// Set up and send the message
191
$ud = bp_core_get_core_userdata( $parent_comment->user_id );
53
if ( 'no' != bp_get_user_meta( $receiver_user_id, 'notification_activity_new_mention', true ) ) {
54
$poster_name = bp_core_get_user_displayname( $activity->user_id );
55
56
+ $message_link = bp_activity_get_permalink( $activity_id );
57
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
58
+ $settings_link = bp_core_get_user_domain( $receiver_user_id ) . $settings_slug . '/notifications/';
59
60
$poster_name = stripslashes( $poster_name );
61
$content = bp_activity_filter_kses( strip_tags( stripslashes( $activity->content ) ) );
139
$original_activity = new BP_Activity_Activity( $activity_id );
140
141
if ( $original_activity->user_id != $commenter_id && 'no' != bp_get_user_meta( $original_activity->user_id, 'notification_activity_new_reply', true ) ) {
142
+ $poster_name = bp_core_get_user_displayname( $commenter_id );
143
+ $thread_link = bp_activity_get_permalink( $activity_id );
144
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
145
+ $settings_link = bp_core_get_user_domain( $original_activity->user_id ) . $settings_slug . '/notifications/';
146
147
$poster_name = stripslashes( $poster_name );
148
$content = bp_activity_filter_kses( stripslashes($content) );
185
$parent_comment = new BP_Activity_Activity( $parent_id );
186
187
if ( $parent_comment->user_id != $commenter_id && $original_activity->user_id != $parent_comment->user_id && 'no' != bp_get_user_meta( $parent_comment->user_id, 'notification_activity_new_reply', true ) ) {
188
+ $poster_name = bp_core_get_user_displayname( $commenter_id );
189
+ $thread_link = bp_activity_get_permalink( $activity_id );
190
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
191
+ $settings_link = bp_core_get_user_domain( $parent_comment->user_id ) . $settings_slug . '/notifications/';
192
193
// Set up and send the message
194
$ud = bp_core_get_core_userdata( $parent_comment->user_id );
bp-blogs/bp-blogs-template.php CHANGED
@@ -554,7 +554,7 @@ function bp_blogs_validate_blog_signup() {
554
if ( is_subdomain_install() )
555
$domain = $blogname . '.' . preg_replace( '|^www\.|', '', $current_site->domain );
556
557
- wpmu_create_blog( $domain, $path, $blog_title, $current_user->id, $meta, $wpdb->siteid );
558
bp_blogs_confirm_blog_signup($domain, $path, $blog_title, $current_user->user_login, $current_user->user_email, $meta);
559
return true;
560
}
554
if ( is_subdomain_install() )
555
$domain = $blogname . '.' . preg_replace( '|^www\.|', '', $current_site->domain );
556
557
+ wpmu_create_blog( $domain, $path, $blog_title, $current_user->ID, $meta, $wpdb->siteid );
558
bp_blogs_confirm_blog_signup($domain, $path, $blog_title, $current_user->user_login, $current_user->user_email, $meta);
559
return true;
560
}
bp-core/admin/bp-core-schema.php CHANGED
@@ -205,8 +205,14 @@ function bp_core_install_extended_profiles() {
205
$charset_collate = bp_core_set_charset();
206
$bp_prefix = bp_core_get_table_prefix();
207
208
- bp_update_option( 'bp-xprofile-base-group-name', _x( 'Base', 'First XProfile group name', 'buddypress' ) );
209
- bp_update_option( 'bp-xprofile-fullname-field-name', _x( 'Name', 'XProfile fullname field name', 'buddypress' ) );
210
211
$sql[] = "CREATE TABLE {$bp_prefix}bp_xprofile_groups (
212
id bigint(20) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
205
$charset_collate = bp_core_set_charset();
206
$bp_prefix = bp_core_get_table_prefix();
207
208
+ // These values should only be updated if they are not already present
209
+ if ( !$base_group_name = bp_get_option( 'bp-xprofile-base-group-name' ) ) {
210
+ bp_update_option( 'bp-xprofile-base-group-name', _x( 'Base', 'First XProfile group name', 'buddypress' ) );
211
+ }
212
+
213
+ if ( !$fullname_field_name = bp_get_option( 'bp-xprofile-fullname-field-name' ) ) {
214
+ bp_update_option( 'bp-xprofile-fullname-field-name', _x( 'Name', 'XProfile fullname field name', 'buddypress' ) );
215
+ }
216
217
$sql[] = "CREATE TABLE {$bp_prefix}bp_xprofile_groups (
218
id bigint(20) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
bp-core/bp-core-avatars.php CHANGED
@@ -662,6 +662,11 @@ function bp_core_avatar_upload_path() {
662
if ( defined( 'BP_AVATAR_UPLOAD_PATH' ) ) {
663
$basedir = BP_AVATAR_UPLOAD_PATH;
664
} else {
665
// Get upload directory information from current site
666
$upload_dir = wp_upload_dir();
667
@@ -671,11 +676,10 @@ function bp_core_avatar_upload_path() {
671
672
} else {
673
$basedir = $upload_dir['basedir'];
674
-
675
- // If multisite, and current blog does not match root blog, make adjustments
676
- if ( is_multisite() && bp_get_root_blog_id() != get_current_blog_id() )
677
- $basedir = get_blog_option( bp_get_root_blog_id(), 'upload_path' );
678
}
679
}
680
681
// Stash in $bp for later use
662
if ( defined( 'BP_AVATAR_UPLOAD_PATH' ) ) {
663
$basedir = BP_AVATAR_UPLOAD_PATH;
664
} else {
665
+ if ( !bp_is_root_blog() ) {
666
+ // Switch dynamically in order to support BP_ENABLE_MULTIBLOG
667
+ switch_to_blog( bp_get_root_blog_id() );
668
+ }
669
+
670
// Get upload directory information from current site
671
$upload_dir = wp_upload_dir();
672
676
677
} else {
678
$basedir = $upload_dir['basedir'];
679
}
680
+
681
+ // Will bail if not switched
682
+ restore_current_blog();
683
}
684
685
// Stash in $bp for later use
bp-core/bp-core-filters.php CHANGED
@@ -2,6 +2,13 @@
2
// Exit if accessed directly
3
if ( !defined( 'ABSPATH' ) ) exit;
4
5
/**
6
* bp_core_exclude_pages()
7
*
2
// Exit if accessed directly
3
if ( !defined( 'ABSPATH' ) ) exit;
4
5
+ // Add some filters to feedback messages
6
+ add_filter( 'bp_core_render_message_content', 'wptexturize' );
7
+ add_filter( 'bp_core_render_message_content', 'convert_smilies' );
8
+ add_filter( 'bp_core_render_message_content', 'convert_chars' );
9
+ add_filter( 'bp_core_render_message_content', 'wpautop' );
10
+ add_filter( 'bp_core_render_message_content', 'shortcode_unautop' );
11
+
12
/**
13
* bp_core_exclude_pages()
14
*
bp-core/bp-core-functions.php CHANGED
@@ -552,11 +552,14 @@ add_action( 'bp_actions', 'bp_core_setup_message', 5 );
552
function bp_core_render_message() {
553
global $bp;
554
555
- if ( isset( $bp->template_message ) && $bp->template_message ) :
556
- $type = ( 'success' == $bp->template_message_type ) ? 'updated' : 'error'; ?>
557
558
<div id="message" class="<?php echo $type; ?>">
559
- <p><?php echo stripslashes( esc_attr( $bp->template_message ) ); ?></p>
560
</div>
561
562
<?php
552
function bp_core_render_message() {
553
global $bp;
554
555
+ if ( !empty( $bp->template_message ) ) :
556
+ $type = ( 'success' == $bp->template_message_type ) ? 'updated' : 'error';
557
+ $content = apply_filters( 'bp_core_render_message_content', $bp->template_message, $type ); ?>
558
559
<div id="message" class="<?php echo $type; ?>">
560
+
561
+ <?php echo $content; ?>
562
+
563
</div>
564
565
<?php
bp-core/css/buddybar.dev.css CHANGED
@@ -198,4 +198,8 @@ body#bp-default #admin-bar-logo {
198
-moz-border-radius: 3px;
199
-webkit-border-radius: 3px;
200
border-radius: 3px;
201
}
198
-moz-border-radius: 3px;
199
-webkit-border-radius: 3px;
200
border-radius: 3px;
201
+ }
202
+ #wp-admin-bar-user-info img.avatar {
203
+ height: 64px;
204
+ width: 64px;
205
}
bp-core/deprecated/1.5.php CHANGED
@@ -321,8 +321,9 @@ function groups_at_message_notification( $content, $poster_user_id, $group_id, $
321
if ( 'no' != bp_get_user_meta( $receiver_user_id, 'notification_activity_new_mention', true ) ) {
322
$poster_name = bp_core_get_user_displayname( $poster_user_id );
323
324
- $message_link = bp_activity_get_permalink( $activity_id );
325
- $settings_link = bp_core_get_user_domain( $receiver_user_id ) . bp_get_settings_slug() . '/notifications/';
326
327
$poster_name = stripslashes( $poster_name );
328
$content = bp_groups_filter_kses( stripslashes( $content ) );
321
if ( 'no' != bp_get_user_meta( $receiver_user_id, 'notification_activity_new_mention', true ) ) {
322
$poster_name = bp_core_get_user_displayname( $poster_user_id );
323
324
+ $message_link = bp_activity_get_permalink( $activity_id );
325
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
326
+ $settings_link = bp_core_get_user_domain( $receiver_user_id ) . $settings_slug . '/notifications/';
327
328
$poster_name = stripslashes( $poster_name );
329
$content = bp_groups_filter_kses( stripslashes( $content ) );
bp-forums/bp-forums-functions.php CHANGED
@@ -542,8 +542,8 @@ function bp_forums_get_post_extras( $posts ) {
542
foreach ( (array)$poster_details as $poster ) {
543
if ( $poster->user_id == $posts[$i]->poster_id ) {
544
$posts[$i]->poster_email = $poster->user_email;
545
- $posts[$i]->poster_login = $poster->user_nicename;
546
- $posts[$i]->poster_nicename = $poster->user_login;
547
$posts[$i]->poster_name = $poster->display_name;
548
}
549
}
542
foreach ( (array)$poster_details as $poster ) {
543
if ( $poster->user_id == $posts[$i]->poster_id ) {
544
$posts[$i]->poster_email = $poster->user_email;
545
+ $posts[$i]->poster_login = $poster->user_login;
546
+ $posts[$i]->poster_nicename = $poster->user_nicename;
547
$posts[$i]->poster_name = $poster->display_name;
548
}
549
}
bp-friends/bp-friends-notifications.php CHANGED
@@ -14,9 +14,9 @@ function friends_notification_new_request( $friendship_id, $initiator_id, $frien
14
$initiator_ud = get_userdata( $initiator_id );
15
16
$all_requests_link = bp_core_get_user_domain( $friend_id ) . bp_get_friends_slug() . '/requests/';
17
- $settings_link = bp_core_get_user_domain( $friend_id ) . bp_get_settings_slug() . '/notifications';
18
-
19
- $initiator_link = bp_core_get_user_domain( $initiator_id );
20
21
// Set up and send the message
22
$to = $ud->user_email;
@@ -57,8 +57,9 @@ function friends_notification_accepted_request( $friendship_id, $initiator_id, $
57
58
$ud = get_userdata( $initiator_id );
59
60
- $friend_link = bp_core_get_user_domain( $friend_id );
61
- $settings_link = bp_core_get_user_domain( $initiator_id ) . bp_get_settings_slug() . '/notifications';
62
63
// Set up and send the message
64
$to = $ud->user_email;
14
$initiator_ud = get_userdata( $initiator_id );
15
16
$all_requests_link = bp_core_get_user_domain( $friend_id ) . bp_get_friends_slug() . '/requests/';
17
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
18
+ $settings_link = bp_core_get_user_domain( $friend_id ) . $settings_slug . '/notifications';
19
+ $initiator_link = bp_core_get_user_domain( $initiator_id );
20
21
// Set up and send the message
22
$to = $ud->user_email;
57
58
$ud = get_userdata( $initiator_id );
59
60
+ $friend_link = bp_core_get_user_domain( $friend_id );
61
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
62
+ $settings_link = bp_core_get_user_domain( $initiator_id ) . $settings_slug . '/notifications';
63
64
// Set up and send the message
65
$to = $ud->user_email;
bp-groups/bp-groups-notifications.php CHANGED
@@ -18,8 +18,9 @@ function groups_notification_group_updated( $group_id ) {
18
// Set up and send the message
19
$to = $ud->user_email;
20
21
- $group_link = site_url( bp_get_groups_root_slug(). '/' . $group->slug );
22
- $settings_link = bp_core_get_user_domain( $user_id ) . bp_get_settings_slug() . '/notifications/';
23
24
$message = sprintf( __(
25
'Group details for the group "%1$s" were updated:
@@ -59,8 +60,9 @@ function groups_notification_new_membership_request( $requesting_user_id, $admin
59
$requesting_ud = bp_core_get_core_userdata($requesting_user_id);
60
61
$group_requests = bp_get_group_permalink( $group ) . 'admin/membership-requests';
62
- $profile_link = bp_core_get_user_domain( $requesting_user_id );
63
- $settings_link = bp_core_get_user_domain( $requesting_user_id ) . bp_get_settings_slug() . '/notifications/';
64
65
// Set up and send the message
66
$to = $ud->user_email;
@@ -108,8 +110,9 @@ function groups_notification_membership_request_completed( $requesting_user_id,
108
109
$ud = bp_core_get_core_userdata($requesting_user_id);
110
111
- $group_link = bp_get_group_permalink( $group );
112
- $settings_link = bp_core_get_user_domain( $requesting_user_id ) . bp_get_settings_slug() . '/notifications/';
113
114
// Set up and send the message
115
$to = $ud->user_email;
@@ -165,11 +168,11 @@ function groups_notification_promoted_member( $user_id, $group_id ) {
165
if ( 'no' == bp_get_user_meta( $user_id, 'notification_groups_admin_promotion', true ) )
166
return false;
167
168
- $group = new BP_Groups_Group( $group_id );
169
- $ud = bp_core_get_core_userdata($user_id);
170
-
171
- $group_link = bp_get_group_permalink( $group );
172
- $settings_link = bp_core_get_user_domain( $user_id ) . bp_get_settings_slug() . '/notifications/';
173
174
// Set up and send the message
175
$to = $ud->user_email;
18
// Set up and send the message
19
$to = $ud->user_email;
20
21
+ $group_link = site_url( bp_get_groups_root_slug(). '/' . $group->slug );
22
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
23
+ $settings_link = bp_core_get_user_domain( $user_id ) . $settings_slug . '/notifications/';
24
25
$message = sprintf( __(
26
'Group details for the group "%1$s" were updated:
60
$requesting_ud = bp_core_get_core_userdata($requesting_user_id);
61
62
$group_requests = bp_get_group_permalink( $group ) . 'admin/membership-requests';
63
+ $profile_link = bp_core_get_user_domain( $requesting_user_id );
64
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
65
+ $settings_link = bp_core_get_user_domain( $requesting_user_id ) . $settings_slug . '/notifications/';
66
67
// Set up and send the message
68
$to = $ud->user_email;
110
111
$ud = bp_core_get_core_userdata($requesting_user_id);
112
113
+ $group_link = bp_get_group_permalink( $group );
114
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
115
+ $settings_link = bp_core_get_user_domain( $requesting_user_id ) . $settings_slug . '/notifications/';
116
117
// Set up and send the message
118
$to = $ud->user_email;
168
if ( 'no' == bp_get_user_meta( $user_id, 'notification_groups_admin_promotion', true ) )
169
return false;
170
171
+ $group = new BP_Groups_Group( $group_id );
172
+ $ud = bp_core_get_core_userdata($user_id);
173
+ $group_link = bp_get_group_permalink( $group );
174
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
175
+ $settings_link = bp_core_get_user_domain( $user_id ) . $settings_slug . '/notifications/';
176
177
// Set up and send the message
178
$to = $ud->user_email;
bp-languages/buddypress.pot CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
msgstr ""
5
"Project-Id-Version: BuddyPress \n"
6
"Report-Msgid-Bugs-To: http://wppolyglots.wordpress.com\n"
7
- "POT-Creation-Date: 2012-02-10 18:36:41+00:00\n"
8
"MIME-Version: 1.0\n"
9
"Content-Type: text/plain; charset=UTF-8\n"
10
"Content-Transfer-Encoding: 8bit\n"
@@ -21,7 +21,7 @@ msgid "There was an error when deleting that activity"
21
msgstr ""
22
23
#: bp-activity/bp-activity-actions.php:206
24
- #: bp-themes/bp-default/_inc/ajax.php:160
25
msgid "Please enter some content to post."
26
msgstr ""
27
@@ -34,7 +34,7 @@ msgid "There was an error when posting your update, please try again."
34
msgstr ""
35
36
#: bp-activity/bp-activity-actions.php:268
37
- #: bp-themes/bp-default/_inc/ajax.php:202
38
msgid "Please do not leave the comment area blank."
39
msgstr ""
40
@@ -43,8 +43,8 @@ msgid "Reply Posted!"
43
msgstr ""
44
45
#: bp-activity/bp-activity-actions.php:281
46
- #: bp-themes/bp-default/_inc/ajax.php:207
47
- #: bp-themes/bp-default/_inc/ajax.php:218
48
msgid "There was an error posting that reply, please try again."
49
msgstr ""
50
@@ -157,11 +157,11 @@ msgstr ""
157
msgid "My Activity"
158
msgstr ""
159
160
- #: bp-activity/bp-activity-notifications.php:66
161
msgid "%s mentioned you in an update"
162
msgstr ""
163
164
- #: bp-activity/bp-activity-notifications.php:69 bp-core/deprecated/1.5.php:336
165
msgid ""
166
"%1$s mentioned you in the group \"%2$s\":\n"
167
"\n"
@@ -172,7 +172,7 @@ msgid ""
172
"---------------------\n"
173
msgstr ""
174
175
- #: bp-activity/bp-activity-notifications.php:79
176
msgid ""
177
"%1$s mentioned you in an update:\n"
178
"\n"
@@ -183,25 +183,25 @@ msgid ""
183
"---------------------\n"
184
msgstr ""
185
186
- #: bp-activity/bp-activity-notifications.php:90
187
- #: bp-activity/bp-activity-notifications.php:164
188
- #: bp-activity/bp-activity-notifications.php:209 bp-core/deprecated/1.5.php:346
189
#: bp-friends/bp-friends-notifications.php:36
190
- #: bp-friends/bp-friends-notifications.php:76
191
- #: bp-groups/bp-groups-notifications.php:32
192
- #: bp-groups/bp-groups-notifications.php:83
193
- #: bp-groups/bp-groups-notifications.php:139
194
- #: bp-groups/bp-groups-notifications.php:187
195
- #: bp-groups/bp-groups-notifications.php:241
196
- #: bp-messages/bp-messages-notifications.php:44
197
msgid "To disable these notifications please log in and go to: %s"
198
msgstr ""
199
200
- #: bp-activity/bp-activity-notifications.php:152
201
msgid "%s replied to one of your updates"
202
msgstr ""
203
204
- #: bp-activity/bp-activity-notifications.php:154
205
msgid ""
206
"%1$s replied to one of your updates:\n"
207
"\n"
@@ -212,11 +212,11 @@ msgid ""
212
"---------------------\n"
213
msgstr ""
214
215
- #: bp-activity/bp-activity-notifications.php:194
216
msgid "%s replied to one of your comments"
217
msgstr ""
218
219
- #: bp-activity/bp-activity-notifications.php:199
220
msgid ""
221
"%1$s replied to one of your comments:\n"
222
"\n"
@@ -583,7 +583,7 @@ msgstr ""
583
msgid "<a href=\"%1$s\">%2$s</a> is your new site. <a href=\"%3$s\">Login</a> as \"%4$s\" using your existing password."
584
msgstr ""
585
586
- #: bp-blogs/bp-blogs-template.php:587 bp-core/bp-core-filters.php:320
587
#: bp-themes/bp-default/blogs/create.php:21
588
#: bp-themes/bp-default/blogs/index.php:23
589
msgid "Create a Site"
@@ -601,7 +601,7 @@ msgstr ""
601
msgid "%s's Recent Comments"
602
msgstr ""
603
604
- #: bp-blogs/bp-blogs-template.php:617 bp-core/deprecated/1.5.php:396
605
#: bp-forums/bp-forums-template.php:1313 bp-groups/bp-groups-template.php:2261
606
#: bp-members/bp-members-template.php:674 bp-themes/bp-default/header.php:35
607
#: bp-themes/bp-default/searchform.php:5
@@ -825,12 +825,12 @@ msgstr ""
825
msgid "Associate WordPress Pages with the following BuddyPress Registration pages."
826
msgstr ""
827
828
- #: bp-core/admin/bp-core-schema.php:208
829
msgctxt "First XProfile group name"
830
msgid "Base"
831
msgstr ""
832
833
- #: bp-core/admin/bp-core-schema.php:209
834
msgctxt "XProfile fullname field name"
835
msgid "Name"
836
msgstr ""
@@ -1158,7 +1158,7 @@ msgid "Installation was successful. The available options have now been updated,
1158
msgstr ""
1159
1160
#: bp-core/admin/bp-core-update.php:1234 bp-core/bp-core-functions.php:252
1161
- #: bp-members/bp-members-signup.php:572
1162
msgid "BuddyPress"
1163
msgstr ""
1164
@@ -1334,11 +1334,11 @@ msgstr[1] ""
1334
msgid "Are you sure?"
1335
msgstr ""
1336
1337
- #: bp-core/bp-core-filters.php:163 bp-core/bp-core-filters.php:187
1338
msgid "[User Set]"
1339
msgstr ""
1340
1341
- #: bp-core/bp-core-filters.php:206
1342
msgid ""
1343
"Thanks for registering! To complete the activation of your account and blog, please click the following link:\n"
1344
"\n"
@@ -1351,11 +1351,11 @@ msgid ""
1351
"%2$s"
1352
msgstr ""
1353
1354
- #: bp-core/bp-core-filters.php:207
1355
msgid "Activate %s"
1356
msgstr ""
1357
1358
- #: bp-core/bp-core-filters.php:239 bp-members/bp-members-signup.php:574
1359
msgid ""
1360
"Thanks for registering! To complete the activation of your account please click the following link:\n"
1361
"\n"
@@ -1363,39 +1363,39 @@ msgid ""
1363
"\n"
1364
msgstr ""
1365
1366
- #: bp-core/bp-core-filters.php:240 bp-members/bp-members-signup.php:575
1367
msgid "Activate Your Account"
1368
msgstr ""
1369
1370
#. translators: "displayed user's name | canonicalised component name"
1371
#. translators: "group name | group nav section name"
1372
1373
- #: bp-core/bp-core-filters.php:286 bp-core/bp-core-filters.php:292
1374
msgid "%1$s | %2$s"
1375
msgstr ""
1376
1377
#. translators: "component item name | component nav section name | root
1378
#. component name"
1379
1380
- #: bp-core/bp-core-filters.php:297
1381
msgid "%1$s | %2$s | %3$s"
1382
msgstr ""
1383
1384
- #: bp-core/bp-core-filters.php:302 bp-core/bp-core-filters.php:304
1385
msgid "%s Directory"
1386
msgstr ""
1387
1388
- #: bp-core/bp-core-filters.php:308
1389
#: bp-themes/bp-default/registration/register.php:23
1390
msgid "Create an Account"
1391
msgstr ""
1392
1393
- #: bp-core/bp-core-filters.php:312
1394
#: bp-themes/bp-default/registration/activate.php:24
1395
msgid "Activate your Account"
1396
msgstr ""
1397
1398
- #: bp-core/bp-core-filters.php:316 bp-themes/bp-default/groups/create.php:18
1399
#: bp-themes/bp-default/groups/index.php:23
1400
msgid "Create a Group"
1401
msgstr ""
@@ -1416,80 +1416,80 @@ msgstr ""
1416
msgid "Each BuddyPress Component needs its own WordPress page. The following WordPress Pages have more than one component associated with them: %2$s. <a href=\"%1$s\" class=\"button-secondary\">Repair</a>"
1417
msgstr ""
1418
1419
- #: bp-core/bp-core-functions.php:601
1420
msgid "sometime"
1421
msgstr ""
1422
1423
- #: bp-core/bp-core-functions.php:602
1424
msgid "right now"
1425
msgstr ""
1426
1427
- #: bp-core/bp-core-functions.php:603
1428
msgid "%s ago"
1429
msgstr ""
1430
1431
- #: bp-core/bp-core-functions.php:607
1432
msgid "year"
1433
msgstr ""
1434
1435
- #: bp-core/bp-core-functions.php:607
1436
msgid "years"
1437
msgstr ""
1438
1439
- #: bp-core/bp-core-functions.php:608
1440
msgid "month"
1441
msgstr ""
1442
1443
- #: bp-core/bp-core-functions.php:608
1444
msgid "months"
1445
msgstr ""
1446
1447
- #: bp-core/bp-core-functions.php:609
1448
msgid "week"
1449
msgstr ""
1450
1451
- #: bp-core/bp-core-functions.php:609
1452
msgid "weeks"
1453
msgstr ""
1454
1455
- #: bp-core/bp-core-functions.php:610
1456
msgid "day"
1457
msgstr ""
1458
1459
- #: bp-core/bp-core-functions.php:610
1460
msgid "days"
1461
msgstr ""
1462
1463
- #: bp-core/bp-core-functions.php:611
1464
msgid "hour"
1465
msgstr ""
1466
1467
- #: bp-core/bp-core-functions.php:611
1468
msgid "hours"
1469
msgstr ""
1470
1471
- #: bp-core/bp-core-functions.php:612
1472
msgid "minute"
1473
msgstr ""
1474
1475
- #: bp-core/bp-core-functions.php:612
1476
msgid "minutes"
1477
msgstr ""
1478
1479
- #: bp-core/bp-core-functions.php:613
1480
msgid "second"
1481
msgstr ""
1482
1483
- #: bp-core/bp-core-functions.php:613
1484
msgid "seconds"
1485
msgstr ""
1486
1487
- #: bp-core/bp-core-functions.php:670
1488
msgctxt "Separator in time since"
1489
msgid ","
1490
msgstr ""
1491
1492
- #: bp-core/bp-core-functions.php:733
1493
msgid "not recently active"
1494
msgstr ""
1495
@@ -1649,7 +1649,7 @@ msgstr ""
1649
msgid "Yahoo Messenger"
1650
msgstr ""
1651
1652
- #: bp-core/deprecated/1.5.php:334
1653
msgid "%1$s mentioned you in the group \"%2$s\""
1654
msgstr ""
1655
@@ -1901,7 +1901,7 @@ msgstr ""
1901
msgid "Viewing post %1$s to %2$s (%3$s total posts)"
1902
msgstr ""
1903
1904
- #: bp-friends/bp-friends-actions.php:29 bp-themes/bp-default/_inc/ajax.php:429
1905
msgid "Friendship could not be requested."
1906
msgstr ""
1907
@@ -1917,7 +1917,7 @@ msgstr ""
1917
msgid "You already have a pending friendship request with this user"
1918
msgstr ""
1919
1920
- #: bp-friends/bp-friends-actions.php:64 bp-themes/bp-default/_inc/ajax.php:419
1921
msgid "Friendship could not be canceled."
1922
msgstr ""
1923
@@ -1942,7 +1942,7 @@ msgid "%d friends accepted your friendship requests"
1942
msgstr ""
1943
1944
#: bp-friends/bp-friends-activity.php:79
1945
- #: bp-friends/bp-friends-notifications.php:66
1946
msgid "%s accepted your friendship request"
1947
msgstr ""
1948
@@ -2005,7 +2005,7 @@ msgid ""
2005
"---------------------\n"
2006
msgstr ""
2007
2008
- #: bp-friends/bp-friends-notifications.php:68
2009
msgid ""
2010
"%1$s accepted your friend request.\n"
2011
"\n"
@@ -2086,7 +2086,7 @@ msgstr ""
2086
2087
#: bp-friends/bp-friends-template.php:323
2088
#: bp-friends/bp-friends-template.php:324
2089
- #: bp-themes/bp-default/_inc/ajax.php:431
2090
msgid "Friendship Requested"
2091
msgstr ""
2092
@@ -2097,7 +2097,7 @@ msgstr ""
2097
2098
#: bp-friends/bp-friends-template.php:355
2099
#: bp-friends/bp-friends-template.php:356
2100
- #: bp-themes/bp-default/_inc/ajax.php:421
2101
msgid "Add Friend"
2102
msgstr ""
2103
@@ -2340,7 +2340,7 @@ msgid "Admin"
2340
msgstr ""
2341
2342
#: bp-groups/bp-groups-loader.php:314 bp-groups/bp-groups-template.php:1580
2343
- #: bp-groups/bp-groups-template.php:1581 bp-themes/bp-default/_inc/ajax.php:506
2344
msgid "Request Membership"
2345
msgstr ""
2346
@@ -2373,7 +2373,7 @@ msgstr ""
2373
msgid "Group Details Updated"
2374
msgstr ""
2375
2376
- #: bp-groups/bp-groups-notifications.php:24
2377
msgid ""
2378
"Group details for the group \"%1$s\" were updated:\n"
2379
"\n"
@@ -2382,11 +2382,11 @@ msgid ""
2382
"---------------------\n"
2383
msgstr ""
2384
2385
- #: bp-groups/bp-groups-notifications.php:68
2386
msgid "Membership request for group: %s"
2387
msgstr ""
2388
2389
- #: bp-groups/bp-groups-notifications.php:70
2390
msgid ""
2391
"%1$s wants to join the group \"%2$s\".\n"
2392
"\n"
@@ -2400,11 +2400,11 @@ msgid ""
2400
"---------------------\n"
2401
msgstr ""
2402
2403
- #: bp-groups/bp-groups-notifications.php:119
2404
msgid "Membership request for group \"%s\" accepted"
2405
msgstr ""
2406
2407
- #: bp-groups/bp-groups-notifications.php:120
2408
msgid ""
2409
"Your membership request for the group \"%1$s\" has been accepted.\n"
2410
"\n"
@@ -2413,11 +2413,11 @@ msgid ""
2413
"---------------------\n"
2414
msgstr ""
2415
2416
- #: bp-groups/bp-groups-notifications.php:129
2417
msgid "Membership request for group \"%s\" rejected"
2418
msgstr ""
2419
2420
- #: bp-groups/bp-groups-notifications.php:130
2421
msgid ""
2422
"Your membership request for the group \"%1$s\" has been rejected.\n"
2423
"\n"
@@ -2426,19 +2426,19 @@ msgid ""
2426
"---------------------\n"
2427
msgstr ""
2428
2429
- #: bp-groups/bp-groups-notifications.php:155
2430
msgid "an administrator"
2431
msgstr ""
2432
2433
- #: bp-groups/bp-groups-notifications.php:158
2434
msgid "a moderator"
2435
msgstr ""
2436
2437
- #: bp-groups/bp-groups-notifications.php:177
2438
msgid "You have been promoted in the group: \"%s\""
2439
msgstr ""
2440
2441
- #: bp-groups/bp-groups-notifications.php:179
2442
msgid ""
2443
"You have been promoted to %1$s for the group: \"%2$s\".\n"
2444
"\n"
@@ -2447,11 +2447,11 @@ msgid ""
2447
"---------------------\n"
2448
msgstr ""
2449
2450
- #: bp-groups/bp-groups-notifications.php:227
2451
msgid "You have an invitation to the group: \"%s\""
2452
msgstr ""
2453
2454
- #: bp-groups/bp-groups-notifications.php:229
2455
msgid ""
2456
"One of your friends %1$s has invited you to the group: \"%2$s\".\n"
2457
"\n"
@@ -2783,12 +2783,12 @@ msgid "New Topic"
2783
msgstr ""
2784
2785
#: bp-groups/bp-groups-template.php:1539 bp-groups/bp-groups-template.php:1540
2786
- #: bp-themes/bp-default/_inc/ajax.php:482
2787
msgid "Leave Group"
2788
msgstr ""
2789
2790
#: bp-groups/bp-groups-template.php:1562 bp-groups/bp-groups-template.php:1563
2791
- #: bp-themes/bp-default/_inc/ajax.php:504
2792
msgid "Join Group"
2793
msgstr ""
2794
@@ -2872,19 +2872,19 @@ msgstr ""
2872
msgid "No groups matched the current filter."
2873
msgstr ""
2874
2875
- #: bp-members/bp-members-actions.php:87
2876
msgid "User marked as spammer. Spam users are visible only to site admins."
2877
msgstr ""
2878
2879
- #: bp-members/bp-members-actions.php:89
2880
msgid "User removed as spammer."
2881
msgstr ""
2882
2883
- #: bp-members/bp-members-actions.php:136
2884
msgid "%s has been deleted from the system."
2885
msgstr ""
2886
2887
- #: bp-members/bp-members-actions.php:138
2888
msgid "There was an error deleting %s from the system. Please try again."
2889
msgstr ""
2890
@@ -2965,7 +2965,7 @@ msgstr ""
2965
msgid "Delete %s's Account"
2966
msgstr ""
2967
2968
- #: bp-members/bp-members-functions.php:671
2969
msgid "<strong>ERROR</strong>: Your account has been marked as a spammer."
2970
msgstr ""
2971
@@ -2989,59 +2989,59 @@ msgstr ""
2989
msgid "This is a required field"
2990
msgstr ""
2991
2992
- #: bp-members/bp-members-signup.php:199
2993
msgid "Your account is now active!"
2994
msgstr ""
2995
2996
- #: bp-members/bp-members-signup.php:308
2997
msgid "Please enter a username"
2998
msgstr ""
2999
3000
- #: bp-members/bp-members-signup.php:319
3001
msgid "Only lowercase letters and numbers allowed"
3002
msgstr ""
3003
3004
- #: bp-members/bp-members-signup.php:322
3005
msgid "Username must be at least 4 characters"
3006
msgstr ""
3007
3008
- #: bp-members/bp-members-signup.php:325
3009
msgid "Sorry, usernames may not contain the character \"_\"!"
3010
msgstr ""
3011
3012
- #: bp-members/bp-members-signup.php:332
3013
msgid "Sorry, usernames must have letters too!"
3014
msgstr ""
3015
3016
- #: bp-members/bp-members-signup.php:335
3017
msgid "Please check your email address."
3018
msgstr ""
3019
3020
- #: bp-members/bp-members-signup.php:338 bp-members/bp-members-signup.php:346
3021
msgid "Sorry, that email address is not allowed!"
3022
msgstr ""
3023
3024
- #: bp-members/bp-members-signup.php:351
3025
msgid "Sorry, that username already exists!"
3026
msgstr ""
3027
3028
- #: bp-members/bp-members-signup.php:355
3029
msgid "Sorry, that email address is already used!"
3030
msgstr ""
3031
3032
- #: bp-members/bp-members-signup.php:394
3033
msgid "<strong>ERROR</strong>: Couldn&#8217;t register you... please contact the <a href=\"mailto:%s\">webmaster</a> !"
3034
msgstr ""
3035
3036
- #: bp-members/bp-members-signup.php:479 bp-members/bp-members-signup.php:483
3037
msgid "Invalid activation key"
3038
msgstr ""
3039
3040
- #: bp-members/bp-members-signup.php:523
3041
msgid "%s became a registered member"
3042
msgstr ""
3043
3044
- #: bp-members/bp-members-signup.php:597
3045
msgid "<strong>ERROR</strong>: Your account has not been activated. Check your email for the activation link."
3046
msgstr ""
3047
@@ -3121,7 +3121,7 @@ msgid "There was an error deleting messages."
3121
msgstr ""
3122
3123
#: bp-messages/bp-messages-actions.php:104
3124
- #: bp-themes/bp-default/_inc/ajax.php:609
3125
msgid "Messages deleted."
3126
msgstr ""
3127
@@ -3194,11 +3194,11 @@ msgstr ""
3194
msgid "My Messages"
3195
msgstr ""
3196
3197
- #: bp-messages/bp-messages-notifications.php:30
3198
msgid "New message from %s"
3199
msgstr ""
3200
3201
- #: bp-messages/bp-messages-notifications.php:32
3202
msgid ""
3203
"%s sent you a new message:\n"
3204
"\n"
@@ -3328,26 +3328,53 @@ msgid "%d Recipients"
3328
msgstr ""
3329
3330
#: bp-messages/bp-messages-template.php:857
3331
- #: bp-themes/bp-default/_inc/ajax.php:543
3332
msgid "Sent %s"
3333
msgstr ""
3334
3335
- #: bp-settings/bp-settings-actions.php:101
3336
- #: bp-settings/bp-settings-actions.php:142
3337
- #: bp-xprofile/bp-xprofile-screens.php:113
3338
- msgid "Changes saved."
3339
msgstr ""
3340
3341
- #: bp-settings/bp-settings-actions.php:104
3342
- msgid "Your new passwords did not match."
3343
msgstr ""
3344
3345
- #: bp-settings/bp-settings-actions.php:107
3346
- msgid "Your existing password is incorrect."
3347
msgstr ""
3348
3349
- #: bp-settings/bp-settings-actions.php:110
3350
- msgid "Sorry, that email address is already used or is invalid."
3351
msgstr ""
3352
3353
#: bp-settings/bp-settings-loader.php:92 bp-settings/bp-settings-loader.php:158
@@ -3362,78 +3389,78 @@ msgstr ""
3362
msgid "We're sorry, but we can't find the page that you're looking for. Perhaps searching will help."
3363
msgstr ""
3364
3365
- #: bp-themes/bp-default/_inc/ajax.php:177
3366
msgid "There was a problem posting your update, please try again."
3367
msgstr ""
3368
3369
- #: bp-themes/bp-default/_inc/ajax.php:275
3370
- #: bp-themes/bp-default/_inc/ajax.php:310
3371
msgid "There was a problem when deleting. Please try again."
3372
msgstr ""
3373
3374
- #: bp-themes/bp-default/_inc/ajax.php:325
3375
#: bp-themes/bp-default/activity/entry.php:72
3376
#: bp-themes/bp-default/functions.php:158
3377
msgid "Remove Favorite"
3378
msgstr ""
3379
3380
- #: bp-themes/bp-default/_inc/ajax.php:334
3381
#: bp-themes/bp-default/activity/entry.php:68
3382
#: bp-themes/bp-default/functions.php:157
3383
msgid "Favorite"
3384
msgstr ""
3385
3386
- #: bp-themes/bp-default/_inc/ajax.php:393
3387
#: bp-themes/bp-default/groups/create.php:234
3388
#: bp-themes/bp-default/groups/single/send-invites.php:42
3389
msgid "Remove Invite"
3390
msgstr ""
3391
3392
- #: bp-themes/bp-default/_inc/ajax.php:434
3393
msgid "Request Pending"
3394
msgstr ""
3395
3396
- #: bp-themes/bp-default/_inc/ajax.php:446
3397
msgid "There was a problem accepting that request. Please try again."
3398
msgstr ""
3399
3400
- #: bp-themes/bp-default/_inc/ajax.php:457
3401
msgid "There was a problem rejecting that request. Please try again."
3402
msgstr ""
3403
3404
- #: bp-themes/bp-default/_inc/ajax.php:480
3405
msgid "Error joining group"
3406
msgstr ""
3407
3408
- #: bp-themes/bp-default/_inc/ajax.php:490
3409
msgid "Error requesting membership"
3410
msgstr ""
3411
3412
- #: bp-themes/bp-default/_inc/ajax.php:492
3413
msgid "Membership Requested"
3414
msgstr ""
3415
3416
- #: bp-themes/bp-default/_inc/ajax.php:501
3417
msgid "Error leaving group"
3418
msgstr ""
3419
3420
- #: bp-themes/bp-default/_inc/ajax.php:518
3421
msgid "There was a problem closing the notice."
3422
msgstr ""
3423
3424
- #: bp-themes/bp-default/_inc/ajax.php:560
3425
msgid "There was a problem sending that reply. Please try again."
3426
msgstr ""
3427
3428
- #: bp-themes/bp-default/_inc/ajax.php:570
3429
msgid "There was a problem marking messages as unread."
3430
msgstr ""
3431
3432
- #: bp-themes/bp-default/_inc/ajax.php:586
3433
msgid "There was a problem marking messages as read."
3434
msgstr ""
3435
3436
- #: bp-themes/bp-default/_inc/ajax.php:602
3437
msgid "There was a problem deleting messages."
3438
msgstr ""
3439
@@ -4145,7 +4172,7 @@ msgstr ""
4145
#: bp-themes/bp-default/groups/single/forum/edit.php:60
4146
#: bp-themes/bp-default/groups/single/forum/edit.php:76
4147
#: bp-themes/bp-default/members/single/profile/edit.php:126
4148
- #: bp-themes/bp-default/members/single/settings/general.php:69
4149
#: bp-themes/bp-default/members/single/settings/notifications.php:62
4150
#: bp-xprofile/bp-xprofile-classes.php:274
4151
msgid "Save Changes"
@@ -4504,31 +4531,31 @@ msgstr ""
4504
msgid "General Settings"
4505
msgstr ""
4506
4507
- #: bp-themes/bp-default/members/single/settings/general.php:56
4508
msgid "Current Password <span>(required to update email or change current password)</span>"
4509
msgstr ""
4510
4511
- #: bp-themes/bp-default/members/single/settings/general.php:57
4512
msgid "Password Lost and Found"
4513
msgstr ""
4514
4515
- #: bp-themes/bp-default/members/single/settings/general.php:57
4516
msgid "Lost your password?"
4517
msgstr ""
4518
4519
- #: bp-themes/bp-default/members/single/settings/general.php:59
4520
msgid "Account Email"
4521
msgstr ""
4522
4523
- #: bp-themes/bp-default/members/single/settings/general.php:62
4524
msgid "Change Password <span>(leave blank for no change)</span>"
4525
msgstr ""
4526
4527
- #: bp-themes/bp-default/members/single/settings/general.php:63
4528
msgid "New Password"
4529
msgstr ""
4530
4531
- #: bp-themes/bp-default/members/single/settings/general.php:64
4532
msgid "Repeat New Password"
4533
msgstr ""
4534
4
msgstr ""
5
"Project-Id-Version: BuddyPress \n"
6
"Report-Msgid-Bugs-To: http://wppolyglots.wordpress.com\n"
7
+ "POT-Creation-Date: 2012-03-13 21:36:22+00:00\n"
8
"MIME-Version: 1.0\n"
9
"Content-Type: text/plain; charset=UTF-8\n"
10
"Content-Transfer-Encoding: 8bit\n"
21
msgstr ""
22
23
#: bp-activity/bp-activity-actions.php:206
24
+ #: bp-themes/bp-default/_inc/ajax.php:172
25
msgid "Please enter some content to post."
26
msgstr ""
27
34
msgstr ""
35
36
#: bp-activity/bp-activity-actions.php:268
37
+ #: bp-themes/bp-default/_inc/ajax.php:217
38
msgid "Please do not leave the comment area blank."
39
msgstr ""
40
43
msgstr ""
44
45
#: bp-activity/bp-activity-actions.php:281
46
+ #: bp-themes/bp-default/_inc/ajax.php:222
47
+ #: bp-themes/bp-default/_inc/ajax.php:233
48
msgid "There was an error posting that reply, please try again."
49
msgstr ""
50
157
msgid "My Activity"
158
msgstr ""
159
160
+ #: bp-activity/bp-activity-notifications.php:67
161
msgid "%s mentioned you in an update"
162
msgstr ""
163
164
+ #: bp-activity/bp-activity-notifications.php:70 bp-core/deprecated/1.5.php:337
165
msgid ""
166
"%1$s mentioned you in the group \"%2$s\":\n"
167
"\n"
172
"---------------------\n"
173
msgstr ""
174
175
+ #: bp-activity/bp-activity-notifications.php:80
176
msgid ""
177
"%1$s mentioned you in an update:\n"
178
"\n"
183
"---------------------\n"
184
msgstr ""
185
186
+ #: bp-activity/bp-activity-notifications.php:91
187
+ #: bp-activity/bp-activity-notifications.php:166
188
+ #: bp-activity/bp-activity-notifications.php:212 bp-core/deprecated/1.5.php:347
189
#: bp-friends/bp-friends-notifications.php:36
190
+ #: bp-friends/bp-friends-notifications.php:77
191
+ #: bp-groups/bp-groups-notifications.php:33
192
+ #: bp-groups/bp-groups-notifications.php:85
193
+ #: bp-groups/bp-groups-notifications.php:142
194
+ #: bp-groups/bp-groups-notifications.php:190
195
+ #: bp-groups/bp-groups-notifications.php:244
196
+ #: bp-messages/bp-messages-notifications.php:45
197
msgid "To disable these notifications please log in and go to: %s"
198
msgstr ""
199
200
+ #: bp-activity/bp-activity-notifications.php:154
201
msgid "%s replied to one of your updates"
202
msgstr ""
203
204
+ #: bp-activity/bp-activity-notifications.php:156
205
msgid ""
206
"%1$s replied to one of your updates:\n"
207
"\n"
212
"---------------------\n"
213
msgstr ""
214
215
+ #: bp-activity/bp-activity-notifications.php:197
216
msgid "%s replied to one of your comments"
217
msgstr ""
218
219
+ #: bp-activity/bp-activity-notifications.php:202
220
msgid ""
221
"%1$s replied to one of your comments:\n"
222
"\n"
583
msgid "<a href=\"%1$s\">%2$s</a> is your new site. <a href=\"%3$s\">Login</a> as \"%4$s\" using your existing password."
584
msgstr ""
585
586
+ #: bp-blogs/bp-blogs-template.php:587 bp-core/bp-core-filters.php:327
587
#: bp-themes/bp-default/blogs/create.php:21
588
#: bp-themes/bp-default/blogs/index.php:23
589
msgid "Create a Site"
601
msgid "%s's Recent Comments"
602
msgstr ""
603
604
+ #: bp-blogs/bp-blogs-template.php:617 bp-core/deprecated/1.5.php:397
605
#: bp-forums/bp-forums-template.php:1313 bp-groups/bp-groups-template.php:2261
606
#: bp-members/bp-members-template.php:674 bp-themes/bp-default/header.php:35
607
#: bp-themes/bp-default/searchform.php:5
825
msgid "Associate WordPress Pages with the following BuddyPress Registration pages."
826
msgstr ""
827
828
+ #: bp-core/admin/bp-core-schema.php:210
829
msgctxt "First XProfile group name"
830
msgid "Base"
831
msgstr ""
832
833
+ #: bp-core/admin/bp-core-schema.php:214
834
msgctxt "XProfile fullname field name"
835
msgid "Name"
836
msgstr ""
1158
msgstr ""
1159
1160
#: bp-core/admin/bp-core-update.php:1234 bp-core/bp-core-functions.php:252
1161
+ #: bp-members/bp-members-signup.php:583
1162
msgid "BuddyPress"
1163
msgstr ""
1164
1334
msgid "Are you sure?"
1335
msgstr ""
1336
1337
+ #: bp-core/bp-core-filters.php:170 bp-core/bp-core-filters.php:194
1338
msgid "[User Set]"
1339
msgstr ""
1340
1341
+ #: bp-core/bp-core-filters.php:213
1342
msgid ""
1343
"Thanks for registering! To complete the activation of your account and blog, please click the following link:\n"
1344
"\n"
1351
"%2$s"
1352
msgstr ""
1353
1354
+ #: bp-core/bp-core-filters.php:214
1355
msgid "Activate %s"
1356
msgstr ""
1357
1358
+ #: bp-core/bp-core-filters.php:246 bp-members/bp-members-signup.php:585
1359
msgid ""
1360
"Thanks for registering! To complete the activation of your account please click the following link:\n"
1361
"\n"
1363
"\n"
1364
msgstr ""
1365
1366
+ #: bp-core/bp-core-filters.php:247 bp-members/bp-members-signup.php:586
1367
msgid "Activate Your Account"
1368
msgstr ""
1369
1370
#. translators: "displayed user's name | canonicalised component name"
1371
#. translators: "group name | group nav section name"
1372
1373
+ #: bp-core/bp-core-filters.php:293 bp-core/bp-core-filters.php:299
1374
msgid "%1$s | %2$s"
1375
msgstr ""
1376
1377
#. translators: "component item name | component nav section name | root
1378
#. component name"
1379
1380
+ #: bp-core/bp-core-filters.php:304
1381
msgid "%1$s | %2$s | %3$s"
1382
msgstr ""
1383
1384
+ #: bp-core/bp-core-filters.php:309 bp-core/bp-core-filters.php:311
1385
msgid "%s Directory"
1386
msgstr ""
1387
1388
+ #: bp-core/bp-core-filters.php:315
1389
#: bp-themes/bp-default/registration/register.php:23
1390
msgid "Create an Account"
1391
msgstr ""
1392
1393
+ #: bp-core/bp-core-filters.php:319
1394
#: bp-themes/bp-default/registration/activate.php:24
1395
msgid "Activate your Account"
1396
msgstr ""
1397
1398
+ #: bp-core/bp-core-filters.php:323 bp-themes/bp-default/groups/create.php:18
1399
#: bp-themes/bp-default/groups/index.php:23
1400
msgid "Create a Group"
1401
msgstr ""
1416
msgid "Each BuddyPress Component needs its own WordPress page. The following WordPress Pages have more than one component associated with them: %2$s. <a href=\"%1$s\" class=\"button-secondary\">Repair</a>"
1417
msgstr ""
1418
1419
+ #: bp-core/bp-core-functions.php:604
1420
msgid "sometime"
1421
msgstr ""
1422
1423
+ #: bp-core/bp-core-functions.php:605
1424
msgid "right now"
1425
msgstr ""
1426
1427
+ #: bp-core/bp-core-functions.php:606
1428
msgid "%s ago"
1429
msgstr ""
1430
1431
+ #: bp-core/bp-core-functions.php:610
1432
msgid "year"
1433
msgstr ""
1434
1435
+ #: bp-core/bp-core-functions.php:610
1436
msgid "years"
1437
msgstr ""
1438
1439
+ #: bp-core/bp-core-functions.php:611
1440
msgid "month"
1441
msgstr ""
1442
1443
+ #: bp-core/bp-core-functions.php:611
1444
msgid "months"
1445
msgstr ""
1446
1447
+ #: bp-core/bp-core-functions.php:612
1448
msgid "week"
1449
msgstr ""
1450
1451
+ #: bp-core/bp-core-functions.php:612
1452
msgid "weeks"
1453
msgstr ""
1454
1455
+ #: bp-core/bp-core-functions.php:613
1456
msgid "day"
1457
msgstr ""
1458
1459
+ #: bp-core/bp-core-functions.php:613
1460
msgid "days"
1461
msgstr ""
1462
1463
+ #: bp-core/bp-core-functions.php:614
1464
msgid "hour"
1465
msgstr ""
1466
1467
+ #: bp-core/bp-core-functions.php:614
1468
msgid "hours"
1469
msgstr ""
1470
1471
+ #: bp-core/bp-core-functions.php:615
1472
msgid "minute"
1473
msgstr ""
1474
1475
+ #: bp-core/bp-core-functions.php:615
1476
msgid "minutes"
1477
msgstr ""
1478
1479
+ #: bp-core/bp-core-functions.php:616
1480
msgid "second"
1481
msgstr ""
1482
1483
+ #: bp-core/bp-core-functions.php:616
1484
msgid "seconds"
1485
msgstr ""
1486
1487
+ #: bp-core/bp-core-functions.php:673
1488
msgctxt "Separator in time since"
1489
msgid ","
1490
msgstr ""
1491
1492
+ #: bp-core/bp-core-functions.php:736
1493
msgid "not recently active"
1494
msgstr ""
1495
1649
msgid "Yahoo Messenger"
1650
msgstr ""
1651
1652
+ #: bp-core/deprecated/1.5.php:335
1653
msgid "%1$s mentioned you in the group \"%2$s\""
1654
msgstr ""
1655
1901
msgid "Viewing post %1$s to %2$s (%3$s total posts)"
1902
msgstr ""
1903
1904
+ #: bp-friends/bp-friends-actions.php:29 bp-themes/bp-default/_inc/ajax.php:465
1905
msgid "Friendship could not be requested."
1906
msgstr ""
1907
1917
msgid "You already have a pending friendship request with this user"
1918
msgstr ""
1919
1920
+ #: bp-friends/bp-friends-actions.php:64 bp-themes/bp-default/_inc/ajax.php:455
1921
msgid "Friendship could not be canceled."
1922
msgstr ""
1923
1942
msgstr ""
1943
1944
#: bp-friends/bp-friends-activity.php:79
1945
+ #: bp-friends/bp-friends-notifications.php:67
1946
msgid "%s accepted your friendship request"
1947
msgstr ""
1948
2005
"---------------------\n"
2006
msgstr ""
2007
2008
+ #: bp-friends/bp-friends-notifications.php:69
2009
msgid ""
2010
"%1$s accepted your friend request.\n"
2011
"\n"
2086
2087
#: bp-friends/bp-friends-template.php:323
2088
#: bp-friends/bp-friends-template.php:324
2089
+ #: bp-themes/bp-default/_inc/ajax.php:467
2090
msgid "Friendship Requested"
2091
msgstr ""
2092
2097
2098
#: bp-friends/bp-friends-template.php:355
2099
#: bp-friends/bp-friends-template.php:356
2100
+ #: bp-themes/bp-default/_inc/ajax.php:457
2101
msgid "Add Friend"
2102
msgstr ""
2103
2340
msgstr ""
2341
2342
#: bp-groups/bp-groups-loader.php:314 bp-groups/bp-groups-template.php:1580
2343
+ #: bp-groups/bp-groups-template.php:1581 bp-themes/bp-default/_inc/ajax.php:556
2344
msgid "Request Membership"
2345
msgstr ""
2346
2373
msgid "Group Details Updated"
2374
msgstr ""
2375
2376
+ #: bp-groups/bp-groups-notifications.php:25
2377
msgid ""
2378
"Group details for the group \"%1$s\" were updated:\n"
2379
"\n"
2382
"---------------------\n"
2383
msgstr ""
2384
2385
+ #: bp-groups/bp-groups-notifications.php:70
2386
msgid "Membership request for group: %s"
2387
msgstr ""
2388
2389
+ #: bp-groups/bp-groups-notifications.php:72
2390
msgid ""
2391
"%1$s wants to join the group \"%2$s\".\n"
2392
"\n"
2400
"---------------------\n"
2401
msgstr ""
2402
2403
+ #: bp-groups/bp-groups-notifications.php:122
2404
msgid "Membership request for group \"%s\" accepted"
2405
msgstr ""
2406
2407
+ #: bp-groups/bp-groups-notifications.php:123
2408
msgid ""
2409
"Your membership request for the group \"%1$s\" has been accepted.\n"
2410
"\n"
2413
"---------------------\n"
2414
msgstr ""
2415
2416
+ #: bp-groups/bp-groups-notifications.php:132
2417
msgid "Membership request for group \"%s\" rejected"
2418
msgstr ""
2419
2420
+ #: bp-groups/bp-groups-notifications.php:133
2421
msgid ""
2422
"Your membership request for the group \"%1$s\" has been rejected.\n"
2423
"\n"
2426
"---------------------\n"
2427
msgstr ""
2428
2429
+ #: bp-groups/bp-groups-notifications.php:158
2430
msgid "an administrator"
2431
msgstr ""
2432
2433
+ #: bp-groups/bp-groups-notifications.php:161
2434
msgid "a moderator"
2435
msgstr ""
2436
2437
+ #: bp-groups/bp-groups-notifications.php:180
2438
msgid "You have been promoted in the group: \"%s\""
2439
msgstr ""
2440
2441
+ #: bp-groups/bp-groups-notifications.php:182
2442
msgid ""
2443
"You have been promoted to %1$s for the group: \"%2$s\".\n"
2444
"\n"
2447
"---------------------\n"
2448
msgstr ""
2449
2450
+ #: bp-groups/bp-groups-notifications.php:230
2451
msgid "You have an invitation to the group: \"%s\""
2452
msgstr ""
2453
2454
+ #: bp-groups/bp-groups-notifications.php:232
2455
msgid ""
2456
"One of your friends %1$s has invited you to the group: \"%2$s\".\n"
2457
"\n"
2783
msgstr ""
2784
2785
#: bp-groups/bp-groups-template.php:1539 bp-groups/bp-groups-template.php:1540
2786
+ #: bp-themes/bp-default/_inc/ajax.php:532
2787
msgid "Leave Group"
2788
msgstr ""
2789
2790
#: bp-groups/bp-groups-template.php:1562 bp-groups/bp-groups-template.php:1563
2791
+ #: bp-themes/bp-default/_inc/ajax.php:554
2792
msgid "Join Group"
2793
msgstr ""
2794
2872
msgid "No groups matched the current filter."
2873
msgstr ""
2874
2875
+ #: bp-members/bp-members-actions.php:41
2876
msgid "User marked as spammer. Spam users are visible only to site admins."
2877
msgstr ""
2878
2879
+ #: bp-members/bp-members-actions.php:43
2880
msgid "User removed as spammer."
2881
msgstr ""
2882
2883
+ #: bp-members/bp-members-actions.php:76
2884
msgid "%s has been deleted from the system."
2885
msgstr ""
2886
2887
+ #: bp-members/bp-members-actions.php:78
2888
msgid "There was an error deleting %s from the system. Please try again."
2889
msgstr ""
2890
2965
msgid "Delete %s's Account"
2966
msgstr ""
2967
2968
+ #: bp-members/bp-members-functions.php:780
2969
msgid "<strong>ERROR</strong>: Your account has been marked as a spammer."
2970
msgstr ""
2971
2989
msgid "This is a required field"
2990
msgstr ""
2991
2992
+ #: bp-members/bp-members-signup.php:207
2993
msgid "Your account is now active!"
2994
msgstr ""
2995
2996
+ #: bp-members/bp-members-signup.php:319
2997
msgid "Please enter a username"
2998
msgstr ""
2999
3000
+ #: bp-members/bp-members-signup.php:330
3001
msgid "Only lowercase letters and numbers allowed"
3002
msgstr ""
3003
3004
+ #: bp-members/bp-members-signup.php:333
3005
msgid "Username must be at least 4 characters"
3006
msgstr ""
3007
3008
+ #: bp-members/bp-members-signup.php:336
3009
msgid "Sorry, usernames may not contain the character \"_\"!"
3010
msgstr ""
3011
3012
+ #: bp-members/bp-members-signup.php:343
3013
msgid "Sorry, usernames must have letters too!"
3014
msgstr ""
3015
3016
+ #: bp-members/bp-members-signup.php:346
3017
msgid "Please check your email address."
3018
msgstr ""
3019
3020
+ #: bp-members/bp-members-signup.php:349 bp-members/bp-members-signup.php:357
3021
msgid "Sorry, that email address is not allowed!"
3022
msgstr ""
3023
3024
+ #: bp-members/bp-members-signup.php:362
3025
msgid "Sorry, that username already exists!"
3026
msgstr ""
3027
3028
+ #: bp-members/bp-members-signup.php:366
3029
msgid "Sorry, that email address is already used!"
3030
msgstr ""
3031
3032
+ #: bp-members/bp-members-signup.php:405
3033
msgid "<strong>ERROR</strong>: Couldn&#8217;t register you... please contact the <a href=\"mailto:%s\">webmaster</a> !"
3034
msgstr ""
3035
3036
+ #: bp-members/bp-members-signup.php:490 bp-members/bp-members-signup.php:494
3037
msgid "Invalid activation key"
3038
msgstr ""
3039
3040
+ #: bp-members/bp-members-signup.php:534
3041
msgid "%s became a registered member"
3042
msgstr ""
3043
3044
+ #: bp-members/bp-members-signup.php:608
3045
msgid "<strong>ERROR</strong>: Your account has not been activated. Check your email for the activation link."
3046
msgstr ""
3047
3121
msgstr ""
3122
3123
#: bp-messages/bp-messages-actions.php:104
3124
+ #: bp-themes/bp-default/_inc/ajax.php:676
3125
msgid "Messages deleted."
3126
msgstr ""
3127
3194
msgid "My Messages"
3195
msgstr ""
3196
3197
+ #: bp-messages/bp-messages-notifications.php:31
3198
msgid "New message from %s"
3199
msgstr ""
3200
3201
+ #: bp-messages/bp-messages-notifications.php:33
3202
msgid ""
3203
"%s sent you a new message:\n"
3204
"\n"
3328
msgstr ""
3329
3330
#: bp-messages/bp-messages-template.php:857
3331
+ #: bp-themes/bp-default/_inc/ajax.php:601
3332
msgid "Sent %s"
3333
msgstr ""
3334
3335
+ #: bp-settings/bp-settings-actions.php:151
3336
+ msgid "That email address is invalid. Check the formatting and try again."
3337
+ msgstr ""
3338
+
3339
+ #: bp-settings/bp-settings-actions.php:154
3340
+ msgid "That email address is currently unavailable for use."
3341
+ msgstr ""
3342
+
3343
+ #: bp-settings/bp-settings-actions.php:157
3344
+ msgid "That email address is already taken."
3345
+ msgstr ""
3346
+
3347
+ #: bp-settings/bp-settings-actions.php:160
3348
+ msgid "Email address cannot be empty."
3349
+ msgstr ""
3350
+
3351
+ #: bp-settings/bp-settings-actions.php:170
3352
+ msgid "Your current password is invalid."
3353
+ msgstr ""
3354
+
3355
+ #: bp-settings/bp-settings-actions.php:173
3356
+ msgid "The new password fields did not match."
3357
msgstr ""
3358
3359
+ #: bp-settings/bp-settings-actions.php:176
3360
+ msgid "One of the password fields was empty."
3361
msgstr ""
3362
3363
+ #: bp-settings/bp-settings-actions.php:185
3364
+ msgid "Your settings have been saved."
3365
msgstr ""
3366
3367
+ #: bp-settings/bp-settings-actions.php:191
3368
+ msgid "No changes were made to your account."
3369
+ msgstr ""
3370
+
3371
+ #: bp-settings/bp-settings-actions.php:193
3372
+ msgid "No changes were made to this account."
3373
+ msgstr ""
3374
+
3375
+ #: bp-settings/bp-settings-actions.php:232
3376
+ #: bp-xprofile/bp-xprofile-screens.php:113
3377
+ msgid "Changes saved."
3378
msgstr ""
3379
3380
#: bp-settings/bp-settings-loader.php:92 bp-settings/bp-settings-loader.php:158
3389
msgid "We're sorry, but we can't find the page that you're looking for. Perhaps searching will help."
3390
msgstr ""
3391
3392
+ #: bp-themes/bp-default/_inc/ajax.php:189
3393
msgid "There was a problem posting your update, please try again."
3394
msgstr ""
3395
3396
+ #: bp-themes/bp-default/_inc/ajax.php:293
3397
+ #: bp-themes/bp-default/_inc/ajax.php:332
3398
msgid "There was a problem when deleting. Please try again."
3399
msgstr ""
3400
3401
+ #: bp-themes/bp-default/_inc/ajax.php:350
3402
#: bp-themes/bp-default/activity/entry.php:72
3403
#: bp-themes/bp-default/functions.php:158
3404
msgid "Remove Favorite"
3405
msgstr ""
3406
3407
+ #: bp-themes/bp-default/_inc/ajax.php:362
3408
#: bp-themes/bp-default/activity/entry.php:68
3409
#: bp-themes/bp-default/functions.php:157
3410
msgid "Favorite"
3411
msgstr ""
3412
3413
+ #: bp-themes/bp-default/_inc/ajax.php:425
3414
#: bp-themes/bp-default/groups/create.php:234
3415
#: bp-themes/bp-default/groups/single/send-invites.php:42
3416
msgid "Remove Invite"
3417
msgstr ""
3418
3419
+ #: bp-themes/bp-default/_inc/ajax.php:470
3420
msgid "Request Pending"
3421
msgstr ""
3422
3423
+ #: bp-themes/bp-default/_inc/ajax.php:487
3424
msgid "There was a problem accepting that request. Please try again."
3425
msgstr ""
3426
3427
+ #: bp-themes/bp-default/_inc/ajax.php:503
3428
msgid "There was a problem rejecting that request. Please try again."
3429
msgstr ""
3430
3431
+ #: bp-themes/bp-default/_inc/ajax.php:530
3432
msgid "Error joining group"
3433
msgstr ""
3434
3435
+ #: bp-themes/bp-default/_inc/ajax.php:540
3436
msgid "Error requesting membership"
3437
msgstr ""
3438
3439
+ #: bp-themes/bp-default/_inc/ajax.php:542
3440
msgid "Membership Requested"
3441
msgstr ""
3442
3443
+ #: bp-themes/bp-default/_inc/ajax.php:551
3444
msgid "Error leaving group"
3445
msgstr ""
3446
3447
+ #: bp-themes/bp-default/_inc/ajax.php:572
3448
msgid "There was a problem closing the notice."
3449
msgstr ""
3450
3451
+ #: bp-themes/bp-default/_inc/ajax.php:618
3452
msgid "There was a problem sending that reply. Please try again."
3453
msgstr ""
3454
3455
+ #: bp-themes/bp-default/_inc/ajax.php:631
3456
msgid "There was a problem marking messages as unread."
3457
msgstr ""
3458
3459
+ #: bp-themes/bp-default/_inc/ajax.php:650
3460
msgid "There was a problem marking messages as read."
3461
msgstr ""
3462
3463
+ #: bp-themes/bp-default/_inc/ajax.php:669
3464
msgid "There was a problem deleting messages."
3465
msgstr ""
3466
4172
#: bp-themes/bp-default/groups/single/forum/edit.php:60
4173
#: bp-themes/bp-default/groups/single/forum/edit.php:76
4174
#: bp-themes/bp-default/members/single/profile/edit.php:126
4175
+ #: bp-themes/bp-default/members/single/settings/general.php:73
4176
#: bp-themes/bp-default/members/single/settings/notifications.php:62
4177
#: bp-xprofile/bp-xprofile-classes.php:274
4178
msgid "Save Changes"
4531
msgid "General Settings"
4532
msgstr ""
4533
4534
+ #: bp-themes/bp-default/members/single/settings/general.php:58
4535
msgid "Current Password <span>(required to update email or change current password)</span>"
4536
msgstr ""
4537
4538
+ #: bp-themes/bp-default/members/single/settings/general.php:59
4539
msgid "Password Lost and Found"
4540
msgstr ""
4541
4542
+ #: bp-themes/bp-default/members/single/settings/general.php:59
4543
msgid "Lost your password?"
4544
msgstr ""
4545
4546
+ #: bp-themes/bp-default/members/single/settings/general.php:63
4547
msgid "Account Email"
4548
msgstr ""
4549
4550
+ #: bp-themes/bp-default/members/single/settings/general.php:66
4551
msgid "Change Password <span>(leave blank for no change)</span>"
4552
msgstr ""
4553
4554
+ #: bp-themes/bp-default/members/single/settings/general.php:67
4555
msgid "New Password"
4556
msgstr ""
4557
4558
+ #: bp-themes/bp-default/members/single/settings/general.php:68
4559
msgid "Repeat New Password"
4560
msgstr ""
4561
bp-loader.php CHANGED
@@ -4,7 +4,7 @@
4
* Plugin URI: http://buddypress.org
5
* Description: Social networking in a box. Build a social network for your company, school, sports team or niche community all based on the power and flexibility of WordPress.
6
* Author: The BuddyPress Community
7
- * Version: 1.5.4
8
* Author URI: http://buddypress.org/community/members/
9
* Network: true
10
*/
@@ -17,7 +17,7 @@ global $wpdb;
17
18
// Define the BuddyPress version
19
if ( !defined( 'BP_VERSION' ) )
20
- define( 'BP_VERSION', '1.5.4' );
21
22
// Define the database version
23
if ( !defined( 'BP_DB_VERSION' ) )
4
* Plugin URI: http://buddypress.org
5
* Description: Social networking in a box. Build a social network for your company, school, sports team or niche community all based on the power and flexibility of WordPress.
6
* Author: The BuddyPress Community
7
+ * Version: 1.5.5
8
* Author URI: http://buddypress.org/community/members/
9
* Network: true
10
*/
17
18
// Define the BuddyPress version
19
if ( !defined( 'BP_VERSION' ) )
20
+ define( 'BP_VERSION', '1.5.5' );
21
22
// Define the database version
23
if ( !defined( 'BP_DB_VERSION' ) )
bp-members/bp-members-actions.php CHANGED
@@ -10,15 +10,6 @@
10
// Exit if accessed directly
11
if ( !defined( 'ABSPATH' ) ) exit;
12
13
- /**
14
- * Listens to the $bp component and action variables to determine if the user is viewing the members
15
- * directory page. If they are, it will set up the directory and load the members directory template.
16
- *
17
- * @package BuddyPress Core
18
- * @global object $bp Global BuddyPress settings object
19
- * @uses wp_enqueue_script() Loads a JS script into the header of the page.
20
- * @uses bp_core_load_template() Loads a specific template file.
21
- */
22
/**
23
* When a site admin selects "Mark as Spammer/Not Spammer" from the admin menu
24
* this action will fire and mark or unmark the user and their blogs as spam.
@@ -29,82 +20,31 @@ if ( !defined( 'ABSPATH' ) ) exit;
29
* @global object $wpdb Global WordPress Database object
30
*/
31
function bp_core_action_set_spammer_status( $user_id = 0 ) {
32
- global $wpdb;
33
-
34
- // Only super admins can currently spam users
35
- if ( !is_super_admin() || bp_is_my_profile() )
36
- return;
37
38
// Use displayed user if it's not yourself
39
- if ( empty( $user_id ) && bp_is_user() )
40
- $user_id = bp_displayed_user_id();
41
-
42
- // Bail if no user ID
43
if ( empty( $user_id ) )
44
- return;
45
-
46
- // Bail if user ID is super admin
47
- if ( is_super_admin( $user_id ) )
48
- return;
49
50
if ( bp_is_current_component( 'admin' ) && ( in_array( bp_current_action(), array( 'mark-spammer', 'unmark-spammer' ) ) ) ) {
51
52
// Check the nonce
53
check_admin_referer( 'mark-unmark-spammer' );
54
55
- // Get the functions file
56
- if ( is_multisite() ) {
57
- require( ABSPATH . 'wp-admin/includes/ms.php' );
58
- }
59
-
60
// To spam or not to spam
61
- $is_spam = bp_is_current_action( 'mark-spammer' ) ? 1 : 0;
62
63
- // Get the blogs for the user
64
- $blogs = get_blogs_of_user( $user_id, true );
65
66
- foreach ( (array) $blogs as $key => $details ) {
67
-
68
- // Do not mark the main or current root blog as spam
69
- if ( 1 == $details->userblog_id || bp_get_root_blog_id() == $details->userblog_id ) {
70
- continue;
71
- }
72
-
73
- // Update the blog status
74
- update_blog_status( $details->userblog_id, 'spam', $is_spam );
75
- }
76
-
77
- // Finally, mark this user as a spammer
78
- if ( is_multisite() ) {
79
- update_user_status( $user_id, 'spam', $is_spam );
80
- }
81
-
82
- // Always set single site status
83
- $wpdb->update( $wpdb->users, array( 'user_status' => $is_spam ), array( 'ID' => $user_id ) );
84
-
85
- // Add feedback message
86
- if ( $is_spam ) {
87
bp_core_add_message( __( 'User marked as spammer. Spam users are visible only to site admins.', 'buddypress' ) );
88
} else {
89
bp_core_add_message( __( 'User removed as spammer.', 'buddypress' ) );
90
}
91
92
- // Hide this user's activity
93
- if ( $is_spam && bp_is_active( 'activity' ) ) {
94
- bp_activity_hide_user_activity( $user_id );
95
- }
96
-
97
- // We need a special hook for is_spam so that components can delete data at spam time
98
- $bp_action = $is_spam ? 'bp_make_spam_user' : 'bp_make_ham_user';
99
- do_action( $bp_action, bp_displayed_user_id() );
100
-
101
- // Call multisite actions in single site mode for good measure
102
- if ( !is_multisite() ) {
103
- $wp_action = $is_spam ? 'make_spam_user' : 'make_ham_user';
104
- do_action( $wp_action, bp_displayed_user_id() );
105
- }
106
-
107
- // Allow plugins to do neat things
108
do_action( 'bp_core_action_set_spammer_status', bp_displayed_user_id(), $is_spam );
109
110
// Redirect back to where we came from
10
// Exit if accessed directly
11
if ( !defined( 'ABSPATH' ) ) exit;
12
13
/**
14
* When a site admin selects "Mark as Spammer/Not Spammer" from the admin menu
15
* this action will fire and mark or unmark the user and their blogs as spam.
20
* @global object $wpdb Global WordPress Database object
21
*/
22
function bp_core_action_set_spammer_status( $user_id = 0 ) {
23
24
// Use displayed user if it's not yourself
25
if ( empty( $user_id ) )
26
+ $user_id = bp_displayed_user_id();
27
28
if ( bp_is_current_component( 'admin' ) && ( in_array( bp_current_action(), array( 'mark-spammer', 'unmark-spammer' ) ) ) ) {
29
30
// Check the nonce
31
check_admin_referer( 'mark-unmark-spammer' );
32
33
// To spam or not to spam
34
+ $status = bp_is_current_action( 'mark-spammer' ) ? 'spam' : 'ham';
35
36
+ // The heavy lifting
37
+ bp_core_process_spammer_status( $user_id, $status );
38
39
+ // Add feedback message. @todo - Error reporting
40
+ if ( 'spam' == $status ) {
41
bp_core_add_message( __( 'User marked as spammer. Spam users are visible only to site admins.', 'buddypress' ) );
42
} else {
43
bp_core_add_message( __( 'User removed as spammer.', 'buddypress' ) );
44
}
45
46
+ // Deprecated. Use bp_core_process_spammer_status.
47
+ $is_spam = 'spam' == $status;
48
do_action( 'bp_core_action_set_spammer_status', bp_displayed_user_id(), $is_spam );
49
50
// Redirect back to where we came from
bp-members/bp-members-functions.php CHANGED
@@ -407,7 +407,7 @@ function bp_core_get_user_displayname( $user_id_or_username ) {
407
408
if ( !$fullname = wp_cache_get( 'bp_user_fullname_' . $user_id, 'bp' ) ) {
409
if ( bp_is_active( 'xprofile' ) ) {
410
- $fullname = xprofile_get_field_data( stripslashes( $bp->site_options['bp-xprofile-fullname-field-name'] ), $user_id );
411
412
if ( empty($fullname) ) {
413
$ud = bp_core_get_core_userdata( $user_id );
@@ -486,6 +486,115 @@ function bp_core_get_total_member_count() {
486
return apply_filters( 'bp_core_get_total_member_count', $count );
487
}
488
489
/**
490
* Checks if the user has been marked as a spammer.
491
*
@@ -702,4 +811,4 @@ function bp_core_can_edit_settings() {
702
return false;
703
}
704
705
- ?>
407
408
if ( !$fullname = wp_cache_get( 'bp_user_fullname_' . $user_id, 'bp' ) ) {
409
if ( bp_is_active( 'xprofile' ) ) {
410
+ $fullname = xprofile_get_field_data( 1, $user_id );
411
412
if ( empty($fullname) ) {
413
$ud = bp_core_get_core_userdata( $user_id );
486
return apply_filters( 'bp_core_get_total_member_count', $count );
487
}
488
489
+ /**
490
+ * Processes a spammed or unspammed user
491
+ *
492
+ * This function is called in two ways:
493
+ * - in bp_core_action_set_spammer_status() (when spamming from the front-end)
494
+ * - by bp_core_mark_user_spam_admin() or bp_core_mark_user_ham_admin() (when spamming from the
495
+ * Dashboard)
496
+ *
497
+ * @since 1.5.5
498
+ *
499
+ * @param int $user_id The user being spammed/hammed
500
+ * @param string $status 'spam' if being marked as spam, 'ham' otherwise
501
+ */
502
+ function bp_core_process_spammer_status( $user_id, $status ) {
503
+ global $wpdb;
504
+
505
+ // Only super admins can currently spam users
506
+ if ( !is_super_admin() || bp_is_my_profile() )
507
+ return;
508
+
509
+ // Bail if no user ID
510
+ if ( empty( $user_id ) )
511
+ return;
512
+
513
+ // Bail if user ID is super admin
514
+ if ( is_super_admin( $user_id ) )
515
+ return;
516
+
517
+ // Get the functions file
518
+ if ( is_multisite() ) {
519
+ require_once( ABSPATH . 'wp-admin/includes/ms.php' );
520
+ }
521
+
522
+ $is_spam = 'spam' == $status;
523
+
524
+ // Only you can prevent infinite loops
525
+ remove_action( 'make_spam_user', 'bp_core_mark_user_spam_admin' );
526
+ remove_action( 'make_ham_user', 'bp_core_mark_user_ham_admin' );
527
+
528
+ // When marking as spam in the Dashboard, these actions are handled by WordPress
529
+ if ( !is_admin() ) {
530
+ // Get the blogs for the user
531
+ $blogs = get_blogs_of_user( $user_id, true );
532
+
533
+ foreach ( (array) $blogs as $key => $details ) {
534
+
535
+ // Do not mark the main or current root blog as spam
536
+ if ( 1 == $details->userblog_id || bp_get_root_blog_id() == $details->userblog_id ) {
537
+ continue;
538
+ }
539
+
540
+ // Update the blog status
541
+ update_blog_status( $details->userblog_id, 'spam', $is_spam );
542
+ }
543
+
544
+ // Finally, mark this user as a spammer
545
+ if ( is_multisite() ) {
546
+ update_user_status( $user_id, 'spam', $is_spam );
547
+ }
548
+
549
+ // Always set single site status
550
+ $wpdb->update( $wpdb->users, array( 'user_status' => $is_spam ), array( 'ID' => $user_id ) );
551
+
552
+ // Call multisite actions in single site mode for good measure
553
+ if ( !is_multisite() ) {
554
+ $wp_action = $is_spam ? 'make_spam_user' : 'make_ham_user';
555
+ do_action( $wp_action, bp_displayed_user_id() );
556
+ }
557
+ }
558
+
559
+ // Hide this user's activity
560
+ if ( $is_spam && bp_is_active( 'activity' ) ) {
561
+ bp_activity_hide_user_activity( $user_id );
562
+ }
563
+
564
+ // We need a special hook for is_spam so that components can delete data at spam time
565
+ $bp_action = $is_spam ? 'bp_make_spam_user' : 'bp_make_ham_user';
566
+ do_action( $bp_action, $user_id );
567
+
568
+ // Allow plugins to do neat things
569
+ do_action( 'bp_core_process_spammer_status', $user_id, $is_spam );
570
+
571
+ return true;
572
+ }
573
+
574
+ /**
575
+ * Hook to WP's make_spam_user and run our custom BP spam functions
576
+ *
577
+ * @since 1.5.5
578
+ *
579
+ * @param int $user_id The user id passed from the make_spam_user hook
580
+ */
581
+ function bp_core_mark_user_spam_admin( $user_id ) {
582
+ bp_core_process_spammer_status( $user_id, 'spam' );
583
+ }
584
+ add_action( 'make_spam_user', 'bp_core_mark_user_spam_admin' );
585
+
586
+ /**
587
+ * Hook to WP's make_ham_user and run our custom BP spam functions
588
+ *
589
+ * @since 1.5.5
590
+ *
591
+ * @param int $user_id The user id passed from the make_ham_user hook
592
+ */
593
+ function bp_core_mark_user_ham_admin( $user_id ) {
594
+ bp_core_process_spammer_status( $user_id, 'ham' );
595
+ }
596
+ add_action( 'make_ham_user', 'bp_core_mark_user_ham_admin' );
597
+
598
/**
599
* Checks if the user has been marked as a spammer.
600
*
811
return false;
812
}
813
814
+ ?>
bp-members/bp-members-signup.php CHANGED
@@ -112,8 +112,11 @@ function bp_core_screen_signup() {
112
113
// Add any errors to the action for the field in the template for display.
114
if ( !empty( $bp->signup->errors ) ) {
115
- foreach ( (array)$bp->signup->errors as $fieldname => $error_message )
116
- add_action( 'bp_' . $fieldname . '_errors', create_function( '', 'echo apply_filters(\'bp_members_signup_error_message\', "<div class=\"error\">' . $error_message . '</div>" );' ) );
117
} else {
118
$bp->signup->step = 'save-details';
119
@@ -150,11 +153,16 @@ function bp_core_screen_signup() {
150
151
// Finally, sign up the user and/or blog
152
if ( isset( $_POST['signup_with_blog'] ) && is_multisite() )
153
- bp_core_signup_blog( $blog_details['domain'], $blog_details['path'], $blog_details['blog_title'], $_POST['signup_username'], $_POST['signup_email'], $usermeta );
154
else
155
- bp_core_signup_user( $_POST['signup_username'], $_POST['signup_password'], $_POST['signup_email'], $usermeta );
156
-
157
- $bp->signup->step = 'completed-confirmation';
158
}
159
160
do_action( 'bp_complete_signup' );
@@ -304,6 +312,9 @@ function bp_core_validate_user_signup( $user_name, $user_email ) {
304
$errors = new WP_Error();
305
$user_email = sanitize_email( $user_email );
306
307
if ( empty( $user_name ) )
308
$errors->add( 'user_name', __( 'Please enter a username', 'buddypress' ) );
309
@@ -390,7 +401,7 @@ function bp_core_signup_user( $user_login, $user_password, $user_email, $usermet
390
'user_email' => $user_email
391
) );
392
393
- if ( empty( $user_id ) ) {
394
$errors->add( 'registerfail', sprintf( __('<strong>ERROR</strong>: Couldn&#8217;t register you... please contact the <a href="mailto:%s">webmaster</a> !', 'buddypress' ), get_option( 'admin_email' ) ) );
395
return $errors;
396
}
@@ -604,6 +615,9 @@ add_filter( 'authenticate', 'bp_core_signup_disable_inactive', 30, 2 );
604
function bp_core_wpsignup_redirect() {
605
$action = !empty( $_GET['action'] ) ? $_GET['action'] : '';
606
607
// Not at the WP core signup page and action is not register
608
if ( false === strpos( $_SERVER['SCRIPT_NAME'], 'wp-signup.php' ) && ( 'register' != $action ) )
609
return;
112
113
// Add any errors to the action for the field in the template for display.
114
if ( !empty( $bp->signup->errors ) ) {
115
+ foreach ( (array) $bp->signup->errors as $fieldname => $error_message ) {
116
+ // addslashes() and stripslashes() to avoid create_function()
117
+ // syntax errors when the $error_message contains quotes
118
+ add_action( 'bp_' . $fieldname . '_errors', create_function( '', 'echo apply_filters(\'bp_members_signup_error_message\', "<div class=\"error\">" . stripslashes( \'' . addslashes( $error_message ) . '\' ) . "</div>" );' ) );
119
+ }
120
} else {
121
$bp->signup->step = 'save-details';
122
153
154
// Finally, sign up the user and/or blog
155
if ( isset( $_POST['signup_with_blog'] ) && is_multisite() )
156
+ $wp_user_id = bp_core_signup_blog( $blog_details['domain'], $blog_details['path'], $blog_details['blog_title'], $_POST['signup_username'], $_POST['signup_email'], $usermeta );
157
else
158
+ $wp_user_id = bp_core_signup_user( $_POST['signup_username'], $_POST['signup_password'], $_POST['signup_email'], $usermeta );
159
+
160
+ if ( is_wp_error( $wp_user_id ) ) {
161
+ $bp->signup->step = 'request-details';
162
+ bp_core_add_message( strip_tags( $wp_user_id->get_error_message() ), 'error' );
163
+ } else {
164
+ $bp->signup->step = 'completed-confirmation';
165
+ }
166
}
167
168
do_action( 'bp_complete_signup' );
312
$errors = new WP_Error();
313
$user_email = sanitize_email( $user_email );
314
315
+ // Apply any user_login filters added by BP or other plugins before validating
316
+ $user_name = apply_filters( 'pre_user_login', $user_name );
317
+
318
if ( empty( $user_name ) )
319
$errors->add( 'user_name', __( 'Please enter a username', 'buddypress' ) );
320
401
'user_email' => $user_email
402
) );
403
404
+ if ( is_wp_error( $user_id ) || empty( $user_id ) ) {
405
$errors->add( 'registerfail', sprintf( __('<strong>ERROR</strong>: Couldn&#8217;t register you... please contact the <a href="mailto:%s">webmaster</a> !', 'buddypress' ), get_option( 'admin_email' ) ) );
406
return $errors;
407
}
615
function bp_core_wpsignup_redirect() {
616
$action = !empty( $_GET['action'] ) ? $_GET['action'] : '';
617
618
+ if ( is_admin() || is_network_admin() )
619
+ return;
620
+
621
// Not at the WP core signup page and action is not register
622
if ( false === strpos( $_SERVER['SCRIPT_NAME'], 'wp-signup.php' ) && ( 'register' != $action ) )
623
return;
bp-messages/bp-messages-notifications.php CHANGED
@@ -17,7 +17,8 @@ function messages_notification_new_message( $args ) {
17
// User data and links
18
$ud = get_userdata( $recipient->user_id );
19
$message_link = bp_core_get_user_domain( $recipient->user_id ) . bp_get_messages_slug() .'/';
20
- $settings_link = bp_core_get_user_domain( $recipient->user_id ) . bp_get_settings_slug() . '/notifications/';
21
22
// Sender info
23
$sender_name = stripslashes( $sender_name );
17
// User data and links
18
$ud = get_userdata( $recipient->user_id );
19
$message_link = bp_core_get_user_domain( $recipient->user_id ) . bp_get_messages_slug() .'/';
20
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
21
+ $settings_link = bp_core_get_user_domain( $recipient->user_id ) . $settings_slug . '/notifications/';
22
23
// Sender info
24
$sender_name = stripslashes( $sender_name );
bp-messages/js/autocomplete/license.bgiframe.txt CHANGED
@@ -1,20 +1,20 @@
1
- Copyright 2010, Brandon Aaron (http://brandonaaron.net/)
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ Copyright 2010, Brandon Aaron (http://brandonaaron.net/)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
bp-settings/bp-settings-actions.php CHANGED
@@ -4,119 +4,209 @@ if ( !defined( 'ABSPATH' ) ) exit;
4
5
/** General *******************************************************************/
6
7
function bp_core_screen_general_settings() {
8
global $bp;
9
10
if ( bp_action_variables() ) {
11
bp_do_404();
12
return;
13
}
14
15
- // Setup private variables
16
- $bp_settings_updated = $pass_error = $email_error = $pwd_error = false;
17
18
- if ( isset( $_POST['submit'] ) ) {
19
20
// Nonce check
21
check_admin_referer('bp_settings_general');
22
23
// Validate the user again for the current password when making a big change
24
- if ( is_super_admin() || ( !empty( $_POST['pwd'] ) && $_POST['pwd'] != '' && wp_check_password( $_POST['pwd'], $bp->displayed_user->userdata->user_pass, $bp->displayed_user->id ) ) ) {
25
26
- $update_user = get_userdata( $bp->displayed_user->id );
27
-
28
- // The structure of the $update_user object changed in WP 3.3, but
29
- // wp_update_user() still expects the old format
30
- if ( isset( $update_user->data ) && is_object( $update_user->data ) ) {
31
- $update_user = $update_user->data;
32
- }
33
34
- // Make sure changing an email address does not already exist
35
- if ( $_POST['email'] != '' ) {
36
37
// What is missing from the profile page vs signup - lets double check the goodies
38
$user_email = sanitize_email( esc_html( trim( $_POST['email'] ) ) );
39
40
- // Is email valid
41
- if ( !is_email( $user_email ) )
42
- $email_error = true;
43
44
- // Get blocked email domains
45
- $limited_email_domains = get_site_option( 'limited_email_domains', 'buddypress' );
46
47
- // If blocked email domains exist, see if this is one of them
48
- if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) {
49
- $emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) );
50
51
- if ( in_array( $emaildomain, (array)$limited_email_domains ) == false ) {
52
- $email_error = true;
53
}
54
- }
55
56
- // No errors, and email address doesn't match
57
- if ( ( false === $email_error ) && ( $bp->displayed_user->userdata->user_email != $user_email ) ) {
58
59
- // We don't want email dupes in the system
60
- if ( email_exists( $user_email ) )
61
- $email_error = true;
62
63
- // Set updated user email to this email address
64
- $update_user->user_email = $user_email;
65
}
66
}
67
68
- // Password change
69
if ( !empty( $_POST['pass1'] ) && !empty( $_POST['pass2'] ) ) {
70
71
// Password change attempt is successful
72
- if ( $_POST['pass1'] == $_POST['pass2'] && !strpos( " " . $_POST['pass1'], "\\" ) ) {
73
$update_user->user_pass = $_POST['pass1'];
74
75
// Password change attempt was unsuccessful
76
} else {
77
- $pass_error = true;
78
}
79
80
// One of the password boxes was left empty
81
- } else if ( ( empty( $_POST['pass1'] ) && !empty( $_POST['pass2'] ) ) || ( !empty( $_POST['pass1'] ) && empty( $_POST['pass2'] ) ) ) {
82
- $pass_error = true;
83
84
- // Not a password change attempt so empty the user_pass
85
- } else {
86
- unset( $update_user->user_pass );
87
}
88
89
// Make sure these changes are in $bp for the current page load
90
- if ( ( false === $email_error ) && ( false === $pass_error ) && ( wp_update_user( get_object_vars( $update_user ) ) ) ) {
91
- $bp_settings_updated = true;
92
}
93
94
// Password Error
95
} else {
96
- $pwd_error = true;
97
}
98
99
- // Add user feedback messages
100
- if ( empty( $pass_error ) && empty( $pwd_error ) && ( empty( $email_error ) ) )
101
- bp_core_add_message( __( 'Changes saved.', 'buddypress' ), 'success' );
102
103
- elseif ( !empty( $pass_error ) )
104
- bp_core_add_message( __( 'Your new passwords did not match.', 'buddypress' ), 'error' );
105
106
- elseif ( !empty( $pwd_error ) )
107
- bp_core_add_message( __( 'Your existing password is incorrect.', 'buddypress' ), 'error' );
108
109
- elseif ( !empty( $email_error ) )
110
- bp_core_add_message( __( 'Sorry, that email address is already used or is invalid.', 'buddypress' ), 'error' );
111
112
// Execute additional code
113
do_action( 'bp_core_general_settings_after_save' );
114
-
115
- bp_core_redirect( trailingslashit( bp_displayed_user_domain() . bp_get_settings_slug() . '/general' ) );
116
- }
117
118
// Load the template
119
- bp_core_load_template( apply_filters( 'bp_core_screen_general_settings', 'members/single/settings/general' ) );
120
}
121
122
/** Notifications *************************************************************/
4
5
/** General *******************************************************************/
6
7
+ /**
8
+ * Handles the changing and saving of user email addressos and passwords
9
+ *
10
+ * We do quite a bit of logic and error handling here to make sure that users
11
+ * do not accidentally lock themselves out of their accounts. We also try to
12
+ * provide as accurate of feedback as possible without exposing anyone else's
13
+ * inforation to them.
14
+ *
15
+ * Special considerations are made for super admins that are able to edit any
16
+ * users accounts already, without knowing their existing password.
17
+ *
18
+ * @global BuddyPress $bp
19
+ * @return If no reason to proceed
20
+ */
21
function bp_core_screen_general_settings() {
22
global $bp;
23
24
+ // 404 if there are any additional action variables attached
25
if ( bp_action_variables() ) {
26
bp_do_404();
27
return;
28
}
29
30
+ /** Handle Form ***********************************************************/
31
32
+ if ( 'POST' === strtoupper( $_SERVER['REQUEST_METHOD'] ) ) {
33
+
34
+ // Bail if not in settings
35
+ if ( ! bp_is_settings_component() || ! bp_is_current_action( 'general' ) )
36
+ return;
37
+
38
+ // Define local defaults
39
+ $email_error = false; // invalid|blocked|taken|empty|false
40
+ $pass_error = false; // invalid|mismatch|empty|false
41
+ $pass_changed = false; // true if the user changes their password
42
+ $email_changed = false; // true if the user changes their email
43
+ $feedback_type = 'error'; // success|error
44
+ $feedback = array(); // array of strings for feedback
45
46
// Nonce check
47
check_admin_referer('bp_settings_general');
48
49
// Validate the user again for the current password when making a big change
50
+ if ( ( is_super_admin() ) || ( !empty( $_POST['pwd'] ) && wp_check_password( $_POST['pwd'], $bp->displayed_user->userdata->user_pass, bp_displayed_user_id() ) ) ) {
51
52
+ $update_user = get_userdata( bp_displayed_user_id() );
53
54
+ /** Email Change Attempt ******************************************/
55
+
56
+ if ( !empty( $_POST['email'] ) ) {
57
58
// What is missing from the profile page vs signup - lets double check the goodies
59
$user_email = sanitize_email( esc_html( trim( $_POST['email'] ) ) );
60
61
+ // User is changing email address
62
+ if ( $bp->displayed_user->userdata->user_email != $user_email ) {
63
+
64
+ // Is email valid
65
+ if ( !is_email( $user_email ) )
66
+ $email_error = 'invalid';
67
68
+ // Get blocked email domains
69
+ $limited_email_domains = get_site_option( 'limited_email_domains', 'buddypress' );
70
71
+ // If blocked email domains exist, see if this is one of them
72
+ if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) {
73
+ $emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) );
74
75
+ if ( in_array( $emaildomain, (array) $limited_email_domains ) == false ) {
76
+ $email_error = 'blocked';
77
+ }
78
}
79
80
+ // No errors, and email address doesn't match
81
+ if ( ( false === $email_error ) && email_exists( $user_email ) ) {
82
+ $email_error = 'taken';
83
+ }
84
85
+ // Yay we made it!
86
+ if ( false === $email_error ) {
87
+ $update_user->user_email = $user_email;
88
+ $email_changed = true;
89
+ }
90
91
+ // No change
92
+ } else {
93
+ $email_error = false;
94
}
95
+
96
+ // Email address cannot be empty
97
+ } else {
98
+ $email_error = 'empty';
99
}
100
101
+ /** Password Change Attempt ***************************************/
102
+
103
if ( !empty( $_POST['pass1'] ) && !empty( $_POST['pass2'] ) ) {
104
105
// Password change attempt is successful
106
+ if ( ( $_POST['pass1'] == $_POST['pass2'] ) && !strpos( " " . $_POST['pass1'], "\\" ) ) {
107
$update_user->user_pass = $_POST['pass1'];
108
+ $pass_changed = true;
109
110
// Password change attempt was unsuccessful
111
} else {
112
+ $pass_error = 'mismatch';
113
}
114
115
+ // Both password fields were empty
116
+ } elseif ( empty( $_POST['pass1'] ) && empty( $_POST['pass2'] ) ) {
117
+ $pass_error = false;
118
+
119
// One of the password boxes was left empty
120
+ } elseif ( ( empty( $_POST['pass1'] ) && !empty( $_POST['pass2'] ) ) || ( !empty( $_POST['pass1'] ) && empty( $_POST['pass2'] ) ) ) {
121
+ $pass_error = 'empty';
122
+ }
123
124
+ // The structure of the $update_user object changed in WP 3.3, but
125
+ // wp_update_user() still expects the old format
126
+ if ( isset( $update_user->data ) && is_object( $update_user->data ) ) {
127
+ $update_user = $update_user->data;
128
+ $update_user = get_object_vars( $update_user );
129
+
130
+ // Unset the password field to prevent it from emptying out the
131
+ // user's user_pass field in the database.
132
+ // @see wp_update_user()
133
+ if ( false === $pass_changed ) {
134
+ unset( $update_user['user_pass'] );
135
+ }
136
}
137
138
// Make sure these changes are in $bp for the current page load
139
+ if ( ( false === $email_error ) && ( false === $pass_error ) && ( wp_update_user( $update_user ) ) ) {
140
+ $bp->displayed_user->userdata = bp_core_get_core_userdata( bp_displayed_user_id() );
141
}
142
143
// Password Error
144
} else {
145
+ $pass_error = 'invalid';
146
}
147
148
+ // Email feedback
149
+ switch ( $email_error ) {
150
+ case 'invalid' :
151
+ $feedback['email_invalid'] = __( 'That email address is invalid. Check the formatting and try again.', 'buddypress' );
152
+ break;
153
+ case 'blocked' :
154
+ $feedback['email_blocked'] = __( 'That email address is currently unavailable for use.', 'buddypress' );
155
+ break;
156
+ case 'taken' :
157
+ $feedback['email_taken'] = __( 'That email address is already taken.', 'buddypress' );
158
+ break;
159
+ case 'empty' :
160
+ $feedback['email_empty'] = __( 'Email address cannot be empty.', 'buddypress' );
161
+ break;
162
+ case false :
163
+ // No change
164
+ break;
165
+ }
166
167
+ // Password feedback
168
+ switch ( $pass_error ) {
169
+ case 'invalid' :
170
+ $feedback['pass_error'] = __( 'Your current password is invalid.', 'buddypress' );
171
+ break;
172
+ case 'mismatch' :
173
+ $feedback['pass_mismatch'] = __( 'The new password fields did not match.', 'buddypress' );
174
+ break;
175
+ case 'empty' :
176
+ $feedback['pass_empty'] = __( 'One of the password fields was empty.', 'buddypress' );
177
+ break;
178
+ case false :
179
+ // No change
180
+ break;
181
+ }
182
183
+ // No errors so show a simple success message
184
+ if ( ( ( false === $email_error ) || ( false == $pass_error ) ) && ( ( true === $pass_changed ) || ( true === $email_changed ) ) ) {
185
+ $feedback[] = __( 'Your settings have been saved.', 'buddypress' );
186
+ $feedback_type = 'success';
187
188
+ // Some kind of errors occurred
189
+ } elseif ( ( ( false === $email_error ) || ( false === $pass_error ) ) && ( ( false === $pass_changed ) || ( false === $email_changed ) ) ) {
190
+ if ( bp_is_my_profile() ) {
191
+ $feedback['nochange'] = __( 'No changes were made to your account.', 'buddypress' );
192
+ } else {
193
+ $feedback['nochange'] = __( 'No changes were made to this account.', 'buddypress' );
194
+ }
195
+ }
196
+
197
+ // Set the feedback
198
+ bp_core_add_message( implode( '</p><p>', $feedback ), $feedback_type );
199
200
// Execute additional code
201
do_action( 'bp_core_general_settings_after_save' );
202
203
+ // Redirect to prevent issues with browser back button
204
+ bp_core_redirect( trailingslashit( bp_displayed_user_domain() . bp_get_settings_slug() . '/general' ) );
205
+
206
// Load the template
207
+ } else {
208
+ bp_core_load_template( apply_filters( 'bp_core_screen_general_settings', 'members/single/settings/general' ) );
209
+ }
210
}
211
212
/** Notifications *************************************************************/
bp-themes/bp-default/_inc/ajax.php CHANGED
@@ -84,6 +84,10 @@ add_filter( 'bp_ajax_querystring', 'bp_dtheme_ajax_querystring', 10, 2 );
84
/* This function will simply load the template loop for the current object. On an AJAX request */
85
function bp_dtheme_object_template_loader() {
86
87
/**
88
* AJAX requests happen too early to be seen by bp_update_is_directory()
89
* so we do it manually here to ensure templates load with the correct
@@ -108,6 +112,10 @@ add_action( 'wp_ajax_forums_filter', 'bp_dtheme_object_template_loader' );
108
function bp_dtheme_activity_template_loader() {
109
global $bp;
110
111
$scope = '';
112
if ( !empty( $_POST['scope'] ) )
113
$scope = $_POST['scope'];
@@ -135,6 +143,7 @@ function bp_dtheme_activity_template_loader() {
135
/* Buffer the loop in the template to a var for JS to spit out. */
136
ob_start();
137
locate_template( array( 'activity/activity-loop.php' ), true );
138
$result['contents'] = ob_get_contents();
139
$result['feed_url'] = apply_filters( 'bp_dtheme_activity_feed_url', $feed_url, $scope );
140
ob_end_clean();
@@ -146,7 +155,10 @@ add_action( 'wp_ajax_activity_get_older_updates', 'bp_dtheme_activity_template_l
146
147
/* AJAX update posting */
148
function bp_dtheme_post_update() {
149
- global $bp;
150
151
// Check the nonce
152
check_admin_referer( 'post_update', '_wpnonce_post_update' );
@@ -188,7 +200,10 @@ add_action( 'wp_ajax_post_update', 'bp_dtheme_post_update' );
188
189
/* AJAX activity comment posting */
190
function bp_dtheme_new_activity_comment() {
191
- global $bp;
192
193
// Check the nonce
194
check_admin_referer( 'new_activity_comment', '_wpnonce_new_activity_comment' );
@@ -245,7 +260,10 @@ add_action( 'wp_ajax_new_activity_comment', 'bp_dtheme_new_activity_comment' );
245
246
/* AJAX delete an activity */
247
function bp_dtheme_delete_activity() {
248
- global $bp;
249
250
// Check the nonce
251
check_admin_referer( 'bp_activity_delete_link' );
@@ -286,6 +304,10 @@ add_action( 'wp_ajax_delete_activity', 'bp_dtheme_delete_activity' );
286
function bp_dtheme_delete_activity_comment() {
287
global $bp;
288
289
/* Check the nonce */
290
check_admin_referer( 'bp_activity_delete_link' );
291
@@ -319,7 +341,10 @@ add_action( 'wp_ajax_delete_activity_comment', 'bp_dtheme_delete_activity_commen
319
320
/* AJAX mark an activity as a favorite */
321
function bp_dtheme_mark_activity_favorite() {
322
- global $bp;
323
324
bp_activity_add_user_favorite( $_POST['id'] );
325
_e( 'Remove Favorite', 'buddypress' );
@@ -328,7 +353,10 @@ add_action( 'wp_ajax_activity_mark_fav', 'bp_dtheme_mark_activity_favorite' );
328
329
/* AJAX mark an activity as not a favorite */
330
function bp_dtheme_unmark_activity_favorite() {
331
- global $bp;
332
333
bp_activity_remove_user_favorite( $_POST['id'] );
334
_e( 'Favorite', 'buddypress' );
@@ -367,6 +395,10 @@ add_action( 'wp_ajax_get_single_activity_content', 'bp_dtheme_get_single_activit
367
function bp_dtheme_ajax_invite_user() {
368
global $bp;
369
370
check_ajax_referer( 'groups_invite_uninvite_user' );
371
372
if ( !$_POST['friend_id'] || !$_POST['friend_action'] || !$_POST['group_id'] )
@@ -411,6 +443,10 @@ add_action( 'wp_ajax_groups_invite_user', 'bp_dtheme_ajax_invite_user' );
411
function bp_dtheme_ajax_addremove_friend() {
412
global $bp;
413
414
if ( 'is_friend' == BP_Friends_Friendship::check_is_friend( $bp->loggedin_user->id, $_POST['fid'] ) ) {
415
416
check_ajax_referer('friends_remove_friend');
@@ -440,6 +476,11 @@ add_action( 'wp_ajax_addremove_friend', 'bp_dtheme_ajax_addremove_friend' );
440
441
/* AJAX accept a user as a friend when clicking the "accept" button */
442
function bp_dtheme_ajax_accept_friendship() {
443
check_admin_referer( 'friends_accept_friendship' );
444
445
if ( !friends_accept_friendship( $_POST['id'] ) )
@@ -451,6 +492,11 @@ add_action( 'wp_ajax_accept_friendship', 'bp_dtheme_ajax_accept_friendship' );
451
452
/* AJAX reject a user as a friend when clicking the "reject" button */
453
function bp_dtheme_ajax_reject_friendship() {
454
check_admin_referer( 'friends_reject_friendship' );
455
456
if ( !friends_reject_friendship( $_POST['id'] ) )
@@ -464,6 +510,10 @@ add_action( 'wp_ajax_reject_friendship', 'bp_dtheme_ajax_reject_friendship' );
464
function bp_dtheme_ajax_joinleave_group() {
465
global $bp;
466
467
if ( groups_is_user_banned( $bp->loggedin_user->id, $_POST['gid'] ) )
468
return false;
469
@@ -514,6 +564,10 @@ add_action( 'wp_ajax_joinleave_group', 'bp_dtheme_ajax_joinleave_group' );
514
function bp_dtheme_ajax_close_notice() {
515
global $userdata;
516
517
if ( !isset( $_POST['notice_id'] ) ) {
518
echo "-1<div id='message' class='error'><p>" . __('There was a problem closing the notice.', 'buddypress') . '</p></div>';
519
} else {
@@ -530,6 +584,10 @@ add_action( 'wp_ajax_messages_close_notice', 'bp_dtheme_ajax_close_notice' );
530
function bp_dtheme_ajax_messages_send_reply() {
531
global $bp;
532
533
check_ajax_referer( 'messages_send_message' );
534
535
$result = messages_new_message( array( 'thread_id' => $_REQUEST['thread_id'], 'content' => $_REQUEST['content'] ) );
@@ -564,7 +622,10 @@ add_action( 'wp_ajax_messages_send_reply', 'bp_dtheme_ajax_messages_send_reply'
564
565
/* AJAX mark a private message as unread in your inbox */
566
function bp_dtheme_ajax_message_markunread() {
567
- global $bp;
568
569
if ( !isset($_POST['thread_ids']) ) {
570
echo "-1<div id='message' class='error'><p>" . __('There was a problem marking messages as unread.', 'buddypress' ) . '</p></div>';
@@ -580,7 +641,10 @@ add_action( 'wp_ajax_messages_markunread', 'bp_dtheme_ajax_message_markunread' )
580
581
/* AJAX mark a private message as read in your inbox */
582
function bp_dtheme_ajax_message_markread() {
583
- global $bp;
584
585
if ( !isset($_POST['thread_ids']) ) {
586
echo "-1<div id='message' class='error'><p>" . __('There was a problem marking messages as read.', 'buddypress' ) . '</p></div>';
@@ -596,7 +660,10 @@ add_action( 'wp_ajax_messages_markread', 'bp_dtheme_ajax_message_markread' );
596
597
/* AJAX delete a private message or array of messages in your inbox */
598
function bp_dtheme_ajax_messages_delete() {
599
- global $bp;
600
601
if ( !isset($_POST['thread_ids']) ) {
602
echo "-1<div id='message' class='error'><p>" . __( 'There was a problem deleting messages.', 'buddypress' ) . '</p></div>';
@@ -626,10 +693,8 @@ function bp_dtheme_ajax_messages_autocomplete_results() {
626
if ( $bp->messages->slug == $bp->current_component )
627
$autocomplete_all = $bp->messages->autocomplete_all;
628
629
- $friends = false;
630
$pag_page = 1;
631
-
632
- $limit = $_GET['limit'] ? $_GET['limit'] : apply_filters( 'bp_autocomplete_max_results', 10 );
633
634
// Get the user ids based on the search terms
635
if ( !empty( $autocomplete_all ) ) {
84
/* This function will simply load the template loop for the current object. On an AJAX request */
85
function bp_dtheme_object_template_loader() {
86
87
+ // Bail if not a POST action
88
+ if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
89
+ return;
90
+
91
/**
92
* AJAX requests happen too early to be seen by bp_update_is_directory()
93
* so we do it manually here to ensure templates load with the correct
112
function bp_dtheme_activity_template_loader() {
113
global $bp;
114
115
+ // Bail if not a POST action
116
+ if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
117
+ return;
118
+
119
$scope = '';
120
if ( !empty( $_POST['scope'] ) )
121
$scope = $_POST['scope'];
143
/* Buffer the loop in the template to a var for JS to spit out. */
144
ob_start();
145
locate_template( array( 'activity/activity-loop.php' ), true );
146
+ $result = array();
147
$result['contents'] = ob_get_contents();
148
$result['feed_url'] = apply_filters( 'bp_dtheme_activity_feed_url', $feed_url, $scope );
149
ob_end_clean();
155
156
/* AJAX update posting */
157
function bp_dtheme_post_update() {
158
+
159
+ // Bail if not a POST action
160
+ if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
161
+ return;
162
163
// Check the nonce
164
check_admin_referer( 'post_update', '_wpnonce_post_update' );
200
201
/* AJAX activity comment posting */
202
function bp_dtheme_new_activity_comment() {
203
+
204
+ // Bail if not a POST action
205
+ if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
206
+ return;
207
208
// Check the nonce
209
check_admin_referer( 'new_activity_comment', '_wpnonce_new_activity_comment' );
260
261