BuddyPress - Version 1.6-beta2

Version Description

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

= 1.2.9 = Compatibility with WordPress 3.2

= 1.2.8 = Compatibility with WordPress 3.1

= 1.2.7 = Fixes over 10 bugs.

Download this release

Release Info

Developer DJPaul
Plugin Icon 128x128 BuddyPress
Version 1.6-beta2
Comparing to
See all releases

Code changes from version 1.6-beta1 to 1.6-beta2

bp-activity/bp-activity-admin.php CHANGED
@@ -119,7 +119,7 @@ add_action( 'wp_ajax_bp-activity-admin-reply', 'bp_activity_admin_reply' );
119
  * @since 1.6
120
  */
121
  function bp_activity_admin_screen_options( $value, $option, $new_value ) {
122
- if ( 'toplevel_page_bp_activity_per_page' != $option )
123
  return $value;
124
 
125
  // Per page
@@ -138,7 +138,7 @@ function bp_activity_admin_screen_options( $value, $option, $new_value ) {
138
  * @since 1.0
139
  */
140
  function bp_activity_admin_edit_hidden_metaboxes( $hidden, $screen ) {
141
- if ( empty( $screen->id ) || 'toplevel_page_bp-activity' != $screen->id )
142
  return $hidden;
143
 
144
  // Hide the primary link meta box by default
@@ -199,11 +199,11 @@ function bp_activity_admin_load() {
199
  );
200
 
201
  // Register metaboxes for the edit screen.
202
- add_meta_box( 'submitdiv', _x( 'Status', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_status', 'toplevel_page_bp-activity', 'side', 'core' );
203
- add_meta_box( 'bp_activity_itemids', _x( 'Primary Item/Secondary Item', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_itemids', 'toplevel_page_bp-activity', 'advanced', 'core' );
204
- add_meta_box( 'bp_activity_link', _x( 'Link', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_link', 'toplevel_page_bp-activity', 'advanced', 'core' );
205
- add_meta_box( 'bp_activity_type', _x( 'Type', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_type', 'toplevel_page_bp-activity', 'advanced', 'core' );
206
- add_meta_box( 'bp_activity_userid', _x( 'Author ID', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_userid', 'toplevel_page_bp-activity', 'advanced', 'core' );
207
 
208
  // Enqueue javascripts
209
  wp_enqueue_script( 'postbox' );
@@ -305,6 +305,13 @@ function bp_activity_admin_load() {
305
  break;
306
 
307
  case 'ham' :
 
 
 
 
 
 
 
308
  bp_activity_mark_as_ham( $activity );
309
  $result = $activity->save();
310
 
@@ -559,13 +566,10 @@ function bp_activity_admin_edit() {
559
  <?php if ( ! empty( $activity ) ) : ?>
560
 
561
  <form action="<?php echo esc_attr( $form_url ); ?>" id="bp-activities-edit-form" method="post">
562
- <div id="poststuff" class="metabox-holder<?php echo 2 == $screen_layout_columns ? ' has-right-sidebar' : ''; ?>">
563
- <div id="side-info-column" class="inner-sidebar">
564
- <?php do_meta_boxes( 'toplevel_page_bp-activity', 'side', $activity ); ?>
565
- </div>
566
 
567
- <div id="post-body" class="has-sidebar">
568
- <div id="post-body-content" class="has-sidebar-content">
569
  <div id="postdiv" class="postarea">
570
  <div id="bp_activity_action" class="postbox">
571
  <h3><?php _e( 'Action', 'buddypress' ); ?></h3>
@@ -581,12 +585,19 @@ function bp_activity_admin_edit() {
581
  </div>
582
  </div>
583
  </div>
 
584
 
585
- <?php do_meta_boxes( 'toplevel_page_bp-activity', 'advanced', $activity ); ?>
 
586
  </div>
587
- </div>
588
- </div>
589
 
 
 
 
 
 
 
 
590
  <?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
591
  <?php wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
592
  <?php wp_nonce_field( 'edit-activity_' . $activity->id ); ?>
@@ -596,7 +607,7 @@ function bp_activity_admin_edit() {
596
  <p><?php printf( __( 'No activity found with this ID. <a href="%s">Go back and try again</a>.', 'buddypress' ), network_admin_url( 'admin.php?page=bp-activity' ) ); ?></p>
597
  <?php endif; ?>
598
 
599
- </div>
600
 
601
  <?php
602
  }
@@ -1178,6 +1189,9 @@ class BP_Activity_List_Table extends WP_List_Table {
1178
  // This was a mis-named activity type from before BP 1.6
1179
  unset( $actions['friends_register_activity_action'] );
1180
 
 
 
 
1181
  // Sort array by the human-readable value
1182
  natsort( $actions );
1183
  ?>
119
  * @since 1.6
120
  */
121
  function bp_activity_admin_screen_options( $value, $option, $new_value ) {
122
+ if ( 'toplevel_page_bp_activity_per_page' != $option && 'toplevel_page_bp_activity_network_per_page' != $option )
123
  return $value;
124
 
125
  // Per page
138
  * @since 1.0
139
  */
140
  function bp_activity_admin_edit_hidden_metaboxes( $hidden, $screen ) {
141
+ if ( empty( $screen->id ) || 'toplevel_page_bp-activity' != $screen->id && 'toplevel_page_bp-activity_network' != $screen->id )
142
  return $hidden;
143
 
144
  // Hide the primary link meta box by default
199
  );
200
 
201
  // Register metaboxes for the edit screen.
202
+ add_meta_box( 'submitdiv', _x( 'Status', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_status', get_current_screen()->id, 'side', 'core' );
203
+ add_meta_box( 'bp_activity_itemids', _x( 'Primary Item/Secondary Item', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_itemids', get_current_screen()->id, 'normal', 'core' );
204
+ add_meta_box( 'bp_activity_link', _x( 'Link', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_link', get_current_screen()->id, 'normal', 'core' );
205
+ add_meta_box( 'bp_activity_type', _x( 'Type', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_type', get_current_screen()->id, 'normal', 'core' );
206
+ add_meta_box( 'bp_activity_userid', _x( 'Author ID', 'activity admin edit screen', 'buddypress' ), 'bp_activity_admin_edit_metabox_userid', get_current_screen()->id, 'normal', 'core' );
207
 
208
  // Enqueue javascripts
209
  wp_enqueue_script( 'postbox' );
305
  break;
306
 
307
  case 'ham' :
308
+ /**
309
+ * Remove moderation and blacklist checks in case we want to ham an activity
310
+ * which contains one of these listed keys.
311
+ */
312
+ remove_action( 'bp_activity_before_save', 'bp_activity_check_moderation_keys', 2, 1 );
313
+ remove_action( 'bp_activity_before_save', 'bp_activity_check_blacklist_keys', 2, 1 );
314
+
315
  bp_activity_mark_as_ham( $activity );
316
  $result = $activity->save();
317
 
566
  <?php if ( ! empty( $activity ) ) : ?>
567
 
568
  <form action="<?php echo esc_attr( $form_url ); ?>" id="bp-activities-edit-form" method="post">
569
+ <div id="poststuff">
 
 
 
570
 
571
+ <div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
572
+ <div id="post-body-content">
573
  <div id="postdiv" class="postarea">
574
  <div id="bp_activity_action" class="postbox">
575
  <h3><?php _e( 'Action', 'buddypress' ); ?></h3>
585
  </div>
586
  </div>
587
  </div>
588
+ </div><!-- #post-body-content -->
589
 
590
+ <div id="postbox-container-1" class="postbox-container">
591
+ <?php do_meta_boxes( get_current_screen()->id, 'side', $activity ); ?>
592
  </div>
 
 
593
 
594
+ <div id="postbox-container-2" class="postbox-container">
595
+ <?php do_meta_boxes( get_current_screen()->id, 'normal', $activity ); ?>
596
+ <?php do_meta_boxes( get_current_screen()->id, 'advanced', $activity ); ?>
597
+ </div>
598
+ </div><!-- #post-body -->
599
+
600
+ </div><!-- #poststuff -->
601
  <?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
602
  <?php wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
603
  <?php wp_nonce_field( 'edit-activity_' . $activity->id ); ?>
607
  <p><?php printf( __( 'No activity found with this ID. <a href="%s">Go back and try again</a>.', 'buddypress' ), network_admin_url( 'admin.php?page=bp-activity' ) ); ?></p>
608
  <?php endif; ?>
609
 
610
+ </div><!-- .wrap -->
611
 
612
  <?php
613
  }
1189
  // This was a mis-named activity type from before BP 1.6
1190
  unset( $actions['friends_register_activity_action'] );
1191
 
1192
+ // This type has not been used since BP 1.0.3. It will be re-instated in a future version.
1193
+ unset( $actions['updated_profile'] );
1194
+
1195
  // Sort array by the human-readable value
1196
  natsort( $actions );
1197
  ?>
bp-activity/bp-activity-akismet.php CHANGED
@@ -496,7 +496,7 @@ class BP_Akismet {
496
  return;
497
 
498
  // Display meta box with a low priority (low position on screen by default)
499
- add_meta_box( 'bp_activity_history', __( 'Activity History', 'buddypress' ), array( $this, 'history_metabox' ), 'toplevel_page_bp-activity', 'advanced', 'low' );
500
  }
501
 
502
  /**
496
  return;
497
 
498
  // Display meta box with a low priority (low position on screen by default)
499
+ add_meta_box( 'bp_activity_history', __( 'Activity History', 'buddypress' ), array( $this, 'history_metabox' ), get_current_screen()->id, 'normal', 'low' );
500
  }
501
 
502
  /**
bp-activity/bp-activity-classes.php CHANGED
@@ -91,9 +91,14 @@ class BP_Activity_Activity {
91
  if ( false === $wpdb->query( $q ) )
92
  return false;
93
 
 
94
  if ( empty( $this->id ) )
95
  $this->id = $wpdb->insert_id;
96
 
 
 
 
 
97
  do_action_ref_array( 'bp_activity_after_save', array( &$this ) );
98
 
99
  return true;
@@ -128,7 +133,8 @@ class BP_Activity_Activity {
128
  10 => 'spam'
129
  );
130
 
131
- $args = bp_core_parse_args_array( $old_args_keys, func_get_args() );
 
132
  }
133
 
134
  $defaults = array(
91
  if ( false === $wpdb->query( $q ) )
92
  return false;
93
 
94
+ // If this is a new activity item, set the $id property
95
  if ( empty( $this->id ) )
96
  $this->id = $wpdb->insert_id;
97
 
98
+ // If an existing activity item, prevent any changes to the content generating new @mention notifications.
99
+ else
100
+ add_filter( 'bp_activity_at_name_do_notifications', '__return_false' );
101
+
102
  do_action_ref_array( 'bp_activity_after_save', array( &$this ) );
103
 
104
  return true;
133
  10 => 'spam'
134
  );
135
 
136
+ $func_args = func_get_args();
137
+ $args = bp_core_parse_args_array( $old_args_keys, $func_args );
138
  }
139
 
140
  $defaults = array(
bp-activity/bp-activity-filters.php CHANGED
@@ -149,12 +149,12 @@ function bp_activity_check_moderation_keys( $activity ) {
149
  function bp_activity_check_blacklist_keys( $activity ) {
150
 
151
  // Only check specific types of activity updates
152
- if ( !in_array( $activity->type, bp_activity_get_moderated_activity_types() ) )
153
  return;
154
 
155
- // Unset the activity component so activity stream update fails
156
- if ( !bp_core_check_for_blacklist( $activity->user_id, '', $activity->content ) )
157
- $activity->component = false;
158
  }
159
 
160
  /**
@@ -230,7 +230,7 @@ function bp_activity_at_name_filter( $content, $activity_id = 0 ) {
230
  continue;
231
 
232
  // If an activity_id is provided, we can send email and BP notifications
233
- if ( $activity_id ) {
234
  bp_activity_at_message_notification( $activity_id, $user_id );
235
  }
236
 
149
  function bp_activity_check_blacklist_keys( $activity ) {
150
 
151
  // Only check specific types of activity updates
152
+ if ( ! in_array( $activity->type, bp_activity_get_moderated_activity_types() ) )
153
  return;
154
 
155
+ // Mark as spam
156
+ if ( ! bp_core_check_for_blacklist( $activity->user_id, '', $activity->content ) )
157
+ bp_activity_mark_as_spam( $activity, 'by_blacklist' );
158
  }
159
 
160
  /**
230
  continue;
231
 
232
  // If an activity_id is provided, we can send email and BP notifications
233
+ if ( $activity_id && apply_filters( 'bp_activity_at_name_do_notifications', true ) ) {
234
  bp_activity_at_message_notification( $activity_id, $user_id );
235
  }
236
 
bp-activity/bp-activity-template.php CHANGED
@@ -134,8 +134,9 @@ class BP_Activity_Template {
134
  11 => 'spam',
135
  12 => 'page_arg'
136
  );
137
-
138
- $args = bp_core_parse_args_array( $old_args_keys, func_get_args() );
 
139
  }
140
 
141
  $defaults = array(
134
  11 => 'spam',
135
  12 => 'page_arg'
136
  );
137
+
138
+ $func_args = func_get_args();
139
+ $args = bp_core_parse_args_array( $old_args_keys, $func_args );
140
  }
141
 
142
  $defaults = array(
bp-core/admin/bp-core-components.php CHANGED
@@ -227,7 +227,7 @@ function bp_core_admin_components_options() {
227
 
228
  <?php endif; ?>
229
 
230
- <label class="screen-reader-text" for="bp_components[<?php echo esc_attr( $name ); ?>]"><?php sprintf( __( 'Select %s', 'bbpress' ), esc_html( $labels['title'] ) ); ?></label>
231
  </th>
232
  <td class="plugin-title" style="width: 190px;">
233
  <span></span>
227
 
228
  <?php endif; ?>
229
 
230
+ <label class="screen-reader-text" for="bp_components[<?php echo esc_attr( $name ); ?>]"><?php sprintf( __( 'Select %s', 'buddypress' ), esc_html( $labels['title'] ) ); ?></label>
231
  </th>
232
  <td class="plugin-title" style="width: 190px;">
233
  <span></span>
bp-core/admin/bp-core-functions.php CHANGED
@@ -290,6 +290,15 @@ function bp_core_activation_notice() {
290
  }
291
  }
292
 
 
 
 
 
 
 
 
 
 
293
  if ( !empty( $orphaned_components ) ) {
294
  $admin_url = bp_get_admin_url( add_query_arg( array( 'page' => 'bp-page-settings' ), 'admin.php' ) );
295
  $notice = sprintf( __( 'The following active BuddyPress Components do not have associated WordPress Pages: %2$s. <a href="%1$s" class="button-secondary">Repair</a>', 'buddypress' ), $admin_url, '<strong>' . implode( '</strong>, <strong>', $orphaned_components ) . '</strong>' );
290
  }
291
  }
292
 
293
+ // Special case: If the Forums component is orphaned, but the bbPress 1.x installation is
294
+ // not correctly set up, don't show a nag. (In these cases, it's probably the case that the
295
+ // user is using bbPress 2.x; see https://buddypress.trac.wordpress.org/ticket/4292
296
+ if ( isset( $bp->forums->name ) && in_array( $bp->forums->name, $orphaned_components ) && !bp_forums_is_installed_correctly() ) {
297
+ $forum_key = array_search( $bp->forums->name, $orphaned_components );
298
+ unset( $orphaned_components[$forum_key] );
299
+ $orphaned_components = array_values( $orphaned_components );
300
+ }
301
+
302
  if ( !empty( $orphaned_components ) ) {
303
  $admin_url = bp_get_admin_url( add_query_arg( array( 'page' => 'bp-page-settings' ), 'admin.php' ) );
304
  $notice = sprintf( __( 'The following active BuddyPress Components do not have associated WordPress Pages: %2$s. <a href="%1$s" class="button-secondary">Repair</a>', 'buddypress' ), $admin_url, '<strong>' . implode( '</strong>, <strong>', $orphaned_components ) . '</strong>' );
bp-core/admin/bp-core-settings.php CHANGED
@@ -28,7 +28,7 @@ function bp_admin_setting_callback_admin_bar() {
28
  ?>
29
 
30
  <input id="hide-loggedout-adminbar" name="hide-loggedout-adminbar" type="checkbox" value="1" <?php checked( !bp_hide_loggedout_adminbar( false ) ); ?> />
31
- <label for="hide-loggedout-adminbar"><?php _e( 'Show the admin bar for logged out users', 'buddypress' ); ?></label>
32
 
33
  <?php
34
  }
@@ -43,12 +43,27 @@ function bp_admin_setting_callback_admin_bar() {
43
  function bp_admin_setting_callback_account_deletion() {
44
  ?>
45
 
46
- <input id="bp-disable-account-deletion" name="bp-disable-account-deletion" type="checkbox" value="1" <?php checked( !bp_disable_account_deletion( true ) ); ?> />
47
  <label for="bp-disable-account-deletion"><?php _e( 'Allow registered members to delete their own accounts', 'buddypress' ); ?></label>
48
 
49
  <?php
50
  }
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  /** Activity *******************************************************************/
53
 
54
  /**
@@ -82,12 +97,39 @@ function bp_admin_setting_callback_activity_akismet() {
82
  function bp_admin_setting_callback_blogforum_comments() {
83
  ?>
84
 
85
- <input id="bp-disable-blogforum-comments" name="bp-disable-blogforum-comments" type="checkbox" value="1" <?php checked( bp_disable_blogforum_comments( true ) ); ?> />
86
  <label for="bp-disable-blogforum-comments"><?php _e( 'Allow activity stream commenting on blog and forum posts', 'buddypress' ); ?></label>
87
 
88
  <?php
89
  }
90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  /** XProfile ******************************************************************/
92
 
93
  /**
@@ -123,7 +165,7 @@ function bp_admin_setting_callback_profile_sync() {
123
  function bp_admin_setting_callback_avatar_uploads() {
124
  ?>
125
 
126
- <input id="bp-disable-avatar-uploads" name="bp-disable-avatar-uploads" type="checkbox" value="1" <?php checked( !bp_disable_avatar_uploads( true ) ); ?> />
127
  <label for="bp-disable-avatar-uploads"><?php _e( 'Allow registered members to upload avatars', 'buddypress' ); ?></label>
128
 
129
  <?php
@@ -148,7 +190,7 @@ function bp_admin_setting_callback_groups_section() { }
148
  function bp_admin_setting_callback_group_creation() {
149
  ?>
150
 
151
- <input id="bp_restrict_group_creation" name="bp_restrict_group_creation" type="checkbox"value="1" <?php checked( !bp_restrict_group_creation( true ) ); ?> />
152
  <label for="bp_restrict_group_creation"><?php _e( 'Enable group creation for all users', 'buddypress' ); ?></label>
153
  <p class="description"><?php _e( 'Administrators can always create groups, regardless of this setting.', 'buddypress' ); ?></p>
154
 
@@ -203,9 +245,42 @@ function bp_admin_setting_callback_bbpress_configuration() {
203
  * @uses do_settings_sections() To output the settings sections
204
  */
205
  function bp_core_admin_settings() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  global $wp_settings_fields;
207
 
208
- if ( !empty( $_POST['submit'] ) ) {
209
  check_admin_referer( 'buddypress-options' );
210
 
211
  // Because many settings are saved with checkboxes, and thus will have no values
@@ -237,31 +312,11 @@ function bp_core_admin_settings() {
237
  $value = isset( $_POST[$legacy_option] ) ? '' : 1;
238
  bp_update_option( $legacy_option, $value );
239
  }
240
- }
241
-
242
- // We're saving our own options, until the WP Settings API is updated to work with Multisite
243
- $form_action = add_query_arg( 'page', 'bp-settings', bp_core_do_network_admin() ? network_admin_url( 'admin.php' ) : admin_url( 'admin.php' ) ); ?>
244
-
245
- <div class="wrap">
246
-
247
- <?php screen_icon( 'buddypress' ); ?>
248
 
249
- <h2 class="nav-tab-wrapper"><?php bp_core_admin_tabs( __( 'Settings', 'buddypress' ) ); ?></h2>
250
-
251
- <form action="<?php echo $form_action ?>" method="post">
252
-
253
- <?php settings_fields( 'buddypress' ); ?>
254
-
255
- <?php do_settings_sections( 'buddypress' ); ?>
256
-
257
- <p class="submit">
258
- <input type="submit" name="submit" class="button-primary" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" />
259
- </p>
260
- </form>
261
- </div>
262
-
263
- <?php
264
  }
 
265
 
266
  /**
267
  * Output settings API option
@@ -310,106 +365,4 @@ function bp_form_option( $option, $default = '' , $slug = false ) {
310
  // Allow plugins to further filter the output
311
  return apply_filters( 'bp_get_form_option', $value, $option );
312
  }
313
-
314
- /**
315
- * Used to check if a BuddyPress slug conflicts with an existing known slug.
316
- *
317
- * @since BuddyPress (1.6)
318
- *
319
- * @param string $slug
320
- * @param string $default
321
- *
322
- * @uses bp_get_form_option() To get a sanitized slug string
323
- */
324
- function bp_form_slug_conflict_check( $slug, $default ) {
325
-
326
- // Only set the slugs once ver page load
327
- static $the_core_slugs = array();
328
-
329
- // Get the form value
330
- $this_slug = bp_get_form_option( $slug, $default, true );
331
-
332
- if ( empty( $the_core_slugs ) ) {
333
-
334
- // Slugs to check
335
- $core_slugs = apply_filters( 'bp_slug_conflict_check', array(
336
-
337
- /** WordPress Core ****************************************************/
338
-
339
- // Core Post Types
340
- 'post_base' => array( 'name' => __( 'Posts' ), 'default' => 'post', 'context' => 'WordPress' ),
341
- 'page_base' => array( 'name' => __( 'Pages' ), 'default' => 'page', 'context' => 'WordPress' ),
342
- 'revision_base' => array( 'name' => __( 'Revisions' ), 'default' => 'revision', 'context' => 'WordPress' ),
343
- 'attachment_base' => array( 'name' => __( 'Attachments' ), 'default' => 'attachment', 'context' => 'WordPress' ),
344
- 'nav_menu_base' => array( 'name' => __( 'Menus' ), 'default' => 'nav_menu_item', 'context' => 'WordPress' ),
345
-
346
- // Post Tags
347
- 'tag_base' => array( 'name' => __( 'Tag base' ), 'default' => 'tag', 'context' => 'WordPress' ),
348
-
349
- // Post Categories
350
- 'category_base' => array( 'name' => __( 'Category base' ), 'default' => 'category', 'context' => 'WordPress' ),
351
-
352
- ) );
353
-
354
- /** bbPress Core ******************************************************/
355
-
356
- if ( bp_forums_is_bbpress_active() ) {
357
-
358
- // Forum archive slug
359
- $core_slugs['_bbp_root_slug'] = array( 'name' => __( 'Forums base', 'buddypress' ), 'default' => 'forums', 'context' => 'buddypress' );
360
-
361
- // Topic archive slug
362
- $core_slugs['_bbp_topic_archive_slug'] = array( 'name' => __( 'Topics base', 'buddypress' ), 'default' => 'topics', 'context' => 'buddypress' );
363
-
364
- // Forum slug
365
- $core_slugs['_bbp_forum_slug'] = array( 'name' => __( 'Forum slug', 'buddypress' ), 'default' => 'forum', 'context' => 'buddypress' );
366
-
367
- // Topic slug
368
- $core_slugs['_bbp_topic_slug'] = array( 'name' => __( 'Topic slug', 'buddypress' ), 'default' => 'topic', 'context' => 'buddypress' );
369
-
370
- // Reply slug
371
- $core_slugs['_bbp_reply_slug'] = array( 'name' => __( 'Reply slug', 'buddypress' ), 'default' => 'reply', 'context' => 'buddypress' );
372
-
373
- // User profile slug
374
- $core_slugs['_bbp_user_slug'] = array( 'name' => __( 'User base', 'buddypress' ), 'default' => 'users', 'context' => 'buddypress' );
375
-
376
- // View slug
377
- $core_slugs['_bbp_view_slug'] = array( 'name' => __( 'View base', 'buddypress' ), 'default' => 'view', 'context' => 'buddypress' );
378
-
379
- // Topic tag slug
380
- $core_slugs['_bbp_topic_tag_slug'] = array( 'name' => __( 'Topic tag slug', 'buddypress' ), 'default' => 'topic-tag', 'context' => 'buddypress' );
381
- }
382
-
383
- /** BuddyPress Core *******************************************************/
384
-
385
- global $bp;
386
-
387
- // Loop through root slugs and check for conflict
388
- if ( !empty( $bp->pages ) ) {
389
- foreach ( $bp->pages as $page => $page_data ) {
390
- $page_base = $page . '_base';
391
- $page_title = sprintf( __( '%s page', 'buddypress' ), $page_data->title );
392
- $core_slugs[$page_base] = array( 'name' => $page_title, 'default' => $page_data->slug, 'context' => 'buddypress' );
393
- }
394
- }
395
-
396
- // Set the static
397
- $the_core_slugs = apply_filters( 'bp_slug_conflict', $core_slugs );
398
- }
399
-
400
- // Loop through slugs to check
401
- foreach( $the_core_slugs as $key => $value ) {
402
-
403
- // Get the slug
404
- $slug_check = bp_get_form_option( $key, $value['default'], true );
405
-
406
- // Compare
407
- if ( ( $slug != $key ) && ( $slug_check == $this_slug ) ) : ?>
408
-
409
- <span class="attention"><?php printf( __( 'Possible %1$s conflict: <strong>%2$s</strong>', 'buddypress' ), $value['context'], $value['name'] ); ?></span>
410
-
411
- <?php endif;
412
- }
413
- }
414
-
415
  ?>
28
  ?>
29
 
30
  <input id="hide-loggedout-adminbar" name="hide-loggedout-adminbar" type="checkbox" value="1" <?php checked( !bp_hide_loggedout_adminbar( false ) ); ?> />
31
+ <label for="hide-loggedout-adminbar"><?php _e( 'Show the Toolbar for logged out users', 'buddypress' ); ?></label>
32
 
33
  <?php
34
  }
43
  function bp_admin_setting_callback_account_deletion() {
44
  ?>
45
 
46
+ <input id="bp-disable-account-deletion" name="bp-disable-account-deletion" type="checkbox" value="1" <?php checked( !bp_disable_account_deletion( false ) ); ?> />
47
  <label for="bp-disable-account-deletion"><?php _e( 'Allow registered members to delete their own accounts', 'buddypress' ); ?></label>
48
 
49
  <?php
50
  }
51
 
52
+ /**
53
+ * If user has upgraded to 1.6 and chose to retain their BuddyBar, offer then a switch to change over
54
+ * to the WP Toolbar.
55
+ *
56
+ * @since BuddyPress (1.6)
57
+ */
58
+ function bp_admin_setting_callback_force_buddybar() {
59
+ ?>
60
+
61
+ <input id="_bp_force_buddybar" name="_bp_force_buddybar" type="checkbox" value="1" <?php checked( ! bp_force_buddybar( true ) ); ?> />
62
+ <label for="_bp_force_buddybar"><?php _e( 'Switch to WordPress Toolbar', 'buddypress' ); ?></label>
63
+
64
+ <?php
65
+ }
66
+
67
  /** Activity *******************************************************************/
68
 
69
  /**
97
  function bp_admin_setting_callback_blogforum_comments() {
98
  ?>
99
 
100
+ <input id="bp-disable-blogforum-comments" name="bp-disable-blogforum-comments" type="checkbox" value="1" <?php checked( !bp_disable_blogforum_comments( false ) ); ?> />
101
  <label for="bp-disable-blogforum-comments"><?php _e( 'Allow activity stream commenting on blog and forum posts', 'buddypress' ); ?></label>
102
 
103
  <?php
104
  }
105
 
106
+ /**
107
+ * Sanitization for _bp_force_buddyvar
108
+ *
109
+ * If upgraded to 1.6 and you chose to keep the BuddyBar, a checkbox asks if you want to switch to
110
+ * the WP Toolbar. The option we store is 1 if the BuddyBar is forced on, so we use this function
111
+ * to flip the boolean before saving the intval.
112
+ *
113
+ * @since BuddyPress (1.6)
114
+ * @access Private
115
+ */
116
+ function bp_admin_sanitize_callback_force_buddybar( $value = false ) {
117
+ return $value ? 0 : 1;
118
+ }
119
+
120
+ /**
121
+ * Sanitization for bp-disable-blogforum-comments setting
122
+ *
123
+ * In the UI, a checkbox asks whether you'd like to *enable* blog/forum activity comments. For
124
+ * legacy reasons, the option that we store is 1 if these comments are *disabled*. So we use this
125
+ * function to flip the boolean before saving the intval.
126
+ *
127
+ * @since BuddyPress (1.6)
128
+ */
129
+ function bp_admin_sanitize_callback_blogforum_comments( $value = false ) {
130
+ return $value ? 0 : 1;
131
+ }
132
+
133
  /** XProfile ******************************************************************/
134
 
135
  /**
165
  function bp_admin_setting_callback_avatar_uploads() {
166
  ?>
167
 
168
+ <input id="bp-disable-avatar-uploads" name="bp-disable-avatar-uploads" type="checkbox" value="1" <?php checked( !bp_disable_avatar_uploads( false ) ); ?> />
169
  <label for="bp-disable-avatar-uploads"><?php _e( 'Allow registered members to upload avatars', 'buddypress' ); ?></label>
170
 
171
  <?php
190
  function bp_admin_setting_callback_group_creation() {
191
  ?>
192
 
193
+ <input id="bp_restrict_group_creation" name="bp_restrict_group_creation" type="checkbox"value="1" <?php checked( !bp_restrict_group_creation( false ) ); ?> />
194
  <label for="bp_restrict_group_creation"><?php _e( 'Enable group creation for all users', 'buddypress' ); ?></label>
195
  <p class="description"><?php _e( 'Administrators can always create groups, regardless of this setting.', 'buddypress' ); ?></p>
196
 
245
  * @uses do_settings_sections() To output the settings sections
246
  */
247
  function bp_core_admin_settings() {
248
+
249
+ // We're saving our own options, until the WP Settings API is updated to work with Multisite
250
+ $form_action = add_query_arg( 'page', 'bp-settings', bp_core_do_network_admin() ? network_admin_url( 'admin.php' ) : admin_url( 'admin.php' ) );
251
+
252
+ ?>
253
+
254
+ <div class="wrap">
255
+
256
+ <?php screen_icon( 'buddypress' ); ?>
257
+
258
+ <h2 class="nav-tab-wrapper"><?php bp_core_admin_tabs( __( 'Settings', 'buddypress' ) ); ?></h2>
259
+
260
+ <form action="<?php echo $form_action ?>" method="post">
261
+
262
+ <?php settings_fields( 'buddypress' ); ?>
263
+
264
+ <?php do_settings_sections( 'buddypress' ); ?>
265
+
266
+ <p class="submit">
267
+ <input type="submit" name="submit" class="button-primary" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" />
268
+ </p>
269
+ </form>
270
+ </div>
271
+
272
+ <?php
273
+ }
274
+
275
+ /**
276
+ * Save our settings
277
+ *
278
+ * @since BuddyPress (1.6)
279
+ */
280
+ function bp_core_admin_settings_save() {
281
  global $wp_settings_fields;
282
 
283
+ if ( isset( $_GET['page'] ) && 'bp-settings' == $_GET['page'] && !empty( $_POST['submit'] ) ) {
284
  check_admin_referer( 'buddypress-options' );
285
 
286
  // Because many settings are saved with checkboxes, and thus will have no values
312
  $value = isset( $_POST[$legacy_option] ) ? '' : 1;
313
  bp_update_option( $legacy_option, $value );
314
  }
 
 
 
 
 
 
 
 
315
 
316
+ bp_core_redirect( add_query_arg( 'page', 'bp-settings', bp_core_do_network_admin() ? network_admin_url( 'admin.php' ) : admin_url( 'admin.php' ) ) );
317
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
318
  }
319
+ add_action( 'bp_admin_init', 'bp_core_admin_settings_save', 100 );
320
 
321
  /**
322
  * Output settings API option
365
  // Allow plugins to further filter the output
366
  return apply_filters( 'bp_get_form_option', $value, $option );
367
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
368
  ?>
bp-core/admin/bp-core-update.php CHANGED
@@ -339,7 +339,7 @@ class BP_Core_Setup_Wizard {
339
  <td>
340
  <p><label><input type="radio" name="bp_pages[members]" <?php checked( empty( $existing_pages['members'] ) ); ?> value="<?php echo $members_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ) ?> <?php echo home_url( $members_slug ); ?>/</label></p>
341
 
342
- <?php if ( $members_page_dropdown = wp_dropdown_pages( "name=bp-blogs-page&echo=0&selected={$existing_pages['members']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
343
 
344
  <p><label><input type="radio" name="bp_pages[members]" <?php checked( !empty( $existing_pages['members'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $members_page_dropdown ?></label></p>
345
 
@@ -357,7 +357,7 @@ class BP_Core_Setup_Wizard {
357
  <td>
358
  <p><label><input type="radio" name="bp_pages[groups]" <?php checked( empty( $existing_pages['groups'] ) ); ?> value="<?php echo $groups_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ); ?> <?php echo home_url( $groups_slug ); ?>/</label></p>
359
 
360
- <?php if ( $groups_page_dropdown = wp_dropdown_pages( "name=bp-blogs-page&echo=0&selected={$existing_pages['groups']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
361
  <p><label><input type="radio" name="bp_pages[groups]" <?php checked( !empty( $existing_pages['groups'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $groups_page_dropdown ?></label></p>
362
  <?php endif ?>
363
  </td>
@@ -394,7 +394,7 @@ class BP_Core_Setup_Wizard {
394
  <td>
395
  <p><label><input type="radio" name="bp_pages[activity]" <?php checked( empty( $existing_pages['activity'] ) ); ?> value="<?php echo $activity_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ); ?> <?php echo home_url( $activity_slug ); ?>/</label></p>
396
 
397
- <?php if ( $activity_page_dropdown = wp_dropdown_pages( "name=bp-blogs-page&echo=0&selected={$existing_pages['activity']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
398
  <p><label><input type="radio" name="bp_pages[activity]" <?php checked( !empty( $existing_pages['activity'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $activity_page_dropdown ?></label></p>
399
  <?php endif ?>
400
  </td>
@@ -412,7 +412,7 @@ class BP_Core_Setup_Wizard {
412
  <td>
413
  <p><label><input type="radio" name="bp_pages[forums]" <?php checked( empty( $existing_pages['forums'] ) ); ?> value="<?php echo $forums_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ); ?> <?php echo home_url( $forums_slug ); ?>/</label></p>
414
 
415
- <?php if ( $forums_page_dropdown = wp_dropdown_pages( "name=bp-blogs-page&echo=0&selected={$existing_pages['forums']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
416
  <p><label><input type="radio" name="bp_pages[forums]" <?php checked( !empty( $existing_pages['forums'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $forums_page_dropdown ?></label></p>
417
  <?php endif ?>
418
  </td>
@@ -428,7 +428,7 @@ class BP_Core_Setup_Wizard {
428
  <td>
429
  <p><label><input type="radio" name="bp_pages[register]" <?php checked( empty( $existing_pages['register'] ) ); ?> value="<?php echo $register_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ) ?> <?php echo home_url( $register_slug ) ?>/</label></p>
430
 
431
- <?php if ( $register_page_dropdown = wp_dropdown_pages( "name=bp-blogs-page&echo=0&selected={$existing_pages['register']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
432
  <p><label><input type="radio" name="bp_pages[register]" <?php checked( !empty( $existing_pages['register'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $register_page_dropdown ?></label></p>
433
  <?php endif ?>
434
  </td>
@@ -442,7 +442,7 @@ class BP_Core_Setup_Wizard {
442
  <td>
443
  <p><label><input type="radio" name="bp_pages[activate]" <?php checked( empty( $existing_pages['activate'] ) ); ?> value="<?php echo $activation_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ); ?> <?php echo home_url( $activation_slug ); ?>/</label></p>
444
 
445
- <?php if ( $activate_page_dropdown = wp_dropdown_pages( "name=bp-blogs-page&echo=0&selected={$existing_pages['activate']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
446
  <p><label><input type="radio" name="bp_pages[activate]" <?php checked( !empty( $existing_pages['activate'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $activate_page_dropdown ?></label></p>
447
  <?php endif ?>
448
  </td>
339
  <td>
340
  <p><label><input type="radio" name="bp_pages[members]" <?php checked( empty( $existing_pages['members'] ) ); ?> value="<?php echo $members_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ) ?> <?php echo home_url( $members_slug ); ?>/</label></p>
341
 
342
+ <?php if ( $members_page_dropdown = wp_dropdown_pages( "name=bp-members-page&echo=0&selected={$existing_pages['members']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
343
 
344
  <p><label><input type="radio" name="bp_pages[members]" <?php checked( !empty( $existing_pages['members'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $members_page_dropdown ?></label></p>
345
 
357
  <td>
358
  <p><label><input type="radio" name="bp_pages[groups]" <?php checked( empty( $existing_pages['groups'] ) ); ?> value="<?php echo $groups_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ); ?> <?php echo home_url( $groups_slug ); ?>/</label></p>
359
 
360
+ <?php if ( $groups_page_dropdown = wp_dropdown_pages( "name=bp-groups-page&echo=0&selected={$existing_pages['groups']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
361
  <p><label><input type="radio" name="bp_pages[groups]" <?php checked( !empty( $existing_pages['groups'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $groups_page_dropdown ?></label></p>
362
  <?php endif ?>
363
  </td>
394
  <td>
395
  <p><label><input type="radio" name="bp_pages[activity]" <?php checked( empty( $existing_pages['activity'] ) ); ?> value="<?php echo $activity_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ); ?> <?php echo home_url( $activity_slug ); ?>/</label></p>
396
 
397
+ <?php if ( $activity_page_dropdown = wp_dropdown_pages( "name=bp-activity-page&echo=0&selected={$existing_pages['activity']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
398
  <p><label><input type="radio" name="bp_pages[activity]" <?php checked( !empty( $existing_pages['activity'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $activity_page_dropdown ?></label></p>
399
  <?php endif ?>
400
  </td>
412
  <td>
413
  <p><label><input type="radio" name="bp_pages[forums]" <?php checked( empty( $existing_pages['forums'] ) ); ?> value="<?php echo $forums_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ); ?> <?php echo home_url( $forums_slug ); ?>/</label></p>
414
 
415
+ <?php if ( $forums_page_dropdown = wp_dropdown_pages( "name=bp-forums-page&echo=0&selected={$existing_pages['forums']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
416
  <p><label><input type="radio" name="bp_pages[forums]" <?php checked( !empty( $existing_pages['forums'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $forums_page_dropdown ?></label></p>
417
  <?php endif ?>
418
  </td>
428
  <td>
429
  <p><label><input type="radio" name="bp_pages[register]" <?php checked( empty( $existing_pages['register'] ) ); ?> value="<?php echo $register_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ) ?> <?php echo home_url( $register_slug ) ?>/</label></p>
430
 
431
+ <?php if ( $register_page_dropdown = wp_dropdown_pages( "name=bp-register-page&echo=0&selected={$existing_pages['register']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
432
  <p><label><input type="radio" name="bp_pages[register]" <?php checked( !empty( $existing_pages['register'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $register_page_dropdown ?></label></p>
433
  <?php endif ?>
434
  </td>
442
  <td>
443
  <p><label><input type="radio" name="bp_pages[activate]" <?php checked( empty( $existing_pages['activate'] ) ); ?> value="<?php echo $activation_slug; ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ); ?> <?php echo home_url( $activation_slug ); ?>/</label></p>
444
 
445
+ <?php if ( $activate_page_dropdown = wp_dropdown_pages( "name=bp-activate-page&echo=0&selected={$existing_pages['activate']}&show_option_none=" . __( '- Select -', 'buddypress' ) ) ) : ?>
446
  <p><label><input type="radio" name="bp_pages[activate]" <?php checked( !empty( $existing_pages['activate'] ) ); ?> value="page" /> <?php _e( 'Use an existing page:', 'buddypress' ); ?> <?php echo $activate_page_dropdown ?></label></p>
447
  <?php endif ?>
448
  </td>
bp-core/admin/css/common.css CHANGED
@@ -1 +1 @@
1
- div#icon-buddypress{background:url(../images/icons32.png) no-repeat -370px -6px}div#icon-buddypress-activity{background:url(../images/icons32.png) no-repeat -10px -6px}ul#adminmenu li.toplevel_page_bp-wizard .wp-menu-image a img{display:none}ul#adminmenu li.toplevel_page_bp-wizard .wp-menu-image a{background-image:url(../images/menu.png)!important;background-position:-178pxpx -34px}ul#adminmenu li.toplevel_page_bp-wizard:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-wizard.wp-has-current-submenu .wp-menu-image a{background-position:-178px -2px}ul#adminmenu li.toplevel_page_bp-components .wp-menu-image a img,ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a img{display:none}ul#adminmenu li.toplevel_page_bp-components .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a{background-image:url(../images/menu.png)!important;background-position:-178px -34px}ul#adminmenu li.toplevel_page_bp-components:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-general-settings:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-components.wp-has-current-submenu .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-general-settings.wp-has-current-submenu .wp-menu-image a{background-position:-178px -2px}ul#adminmenu li.toplevel_page_bp-activity .wp-menu-image a img{display:none}ul#adminmenu li.toplevel_page_bp-activity .wp-menu-image a{background-image:url(../images/menu.png)!important;background-position:0 -34px}ul#adminmenu li.toplevel_page_bp-activity:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-activity.current .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-activity.wp-has-current-submenu .wp-menu-image a{background-position:0 -2px}.dashboard_page_bp-wizard td.plugin-title span,.settings_page_bp-components td.plugin-title span{float:left;width:18px;height:18px;background-image:url(../images/menu.png);background-position:-4px -40px;background-repeat:no-repeat;margin-right:5px}.dashboard_page_bp-wizard tr.active td.plugin-title span,.settings_page_bp-components tr.active td.plugin-title span{background-position-y:-7px}.dashboard_page_bp-wizard tr.activity td.plugin-title span,.settings_page_bp-components tr.activity td.plugin-title span{background-position-x:-4px}.dashboard_page_bp-wizard tr.xprofile td.plugin-title span,.settings_page_bp-components tr.xprofile td.plugin-title span{background-image:url(../images/menu-wp.png);background-position-x:-305px}.dashboard_page_bp-wizard tr.settings td.plugin-title span,.settings_page_bp-components tr.settings td.plugin-title span{background-image:url(../images/menu-wp.png);background-position-x:-334px}.dashboard_page_bp-wizard tr.groups td.plugin-title span,.settings_page_bp-components tr.groups td.plugin-title span{background-position-x:-66px}.dashboard_page_bp-wizard tr.messages td.plugin-title span,.settings_page_bp-components tr.messages td.plugin-title span{background-position-x:-154px}.dashboard_page_bp-wizard tr.forums td.plugin-title span,.settings_page_bp-components tr.forums td.plugin-title span{background-image:url(../images/menu-wp.png);background-position-x:-36px}.dashboard_page_bp-wizard tr.blogs td.plugin-title span,.settings_page_bp-components tr.blogs td.plugin-title span{background-position-x:-125px}.dashboard_page_bp-wizard tr.friends td.plugin-title span,.settings_page_bp-components tr.friends td.plugin-title span{background-position-x:-95px}.dashboard_page_bp-wizard tr.core td.plugin-title span,.settings_page_bp-components tr.core td.plugin-title span{background-position-x:-184px}.dashboard_page_bp-wizard tr.members td.plugin-title span,.settings_page_bp-components tr.members td.plugin-title span{background-position-x:-36px}
1
+ div#icon-buddypress{background:url(../images/icons32.png) no-repeat -370px -6px}div#icon-buddypress-activity{background:url(../images/icons32.png) no-repeat -10px -6px}ul#adminmenu li.toplevel_page_bp-wizard .wp-menu-image a img{display:none}ul#adminmenu li.toplevel_page_bp-wizard .wp-menu-image a{background-image:url(../images/menu.png)!important;background-position:-178pxpx -34px}ul#adminmenu li.toplevel_page_bp-wizard:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-wizard.wp-has-current-submenu .wp-menu-image a{background-position:-178px -2px}ul#adminmenu li.toplevel_page_bp-components .wp-menu-image a img,ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a img{display:none}ul#adminmenu li.toplevel_page_bp-components .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a{background-image:url(../images/menu.png)!important;background-position:-178px -34px}ul#adminmenu li.toplevel_page_bp-components:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-general-settings:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-components.wp-has-current-submenu .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-general-settings.wp-has-current-submenu .wp-menu-image a{background-position:-178px -2px}ul#adminmenu li.toplevel_page_bp-activity .wp-menu-image a img,ul#adminmenu li.toplevel_page_bp-activity_network .wp-menu-image a img{display:none}ul#adminmenu li.toplevel_page_bp-activity .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-activity_network .wp-menu-image a{background-image:url(../images/menu.png)!important;background-position:0 -34px}ul#adminmenu li.toplevel_page_bp-activity:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-activity.current .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-activity.wp-has-current-submenu .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-activity_network:hover .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-activity_network.current .wp-menu-image a,ul#adminmenu li.toplevel_page_bp-activity_network.wp-has-current-submenu .wp-menu-image a{background-position:0 -2px}.dashboard_page_bp-wizard td.plugin-title span,.settings_page_bp-components td.plugin-title span{float:left;width:18px;height:18px;background-image:url(../images/menu.png);background-position:-4px -40px;background-repeat:no-repeat;margin-right:5px}.dashboard_page_bp-wizard tr.active td.plugin-title span,.settings_page_bp-components tr.active td.plugin-title span{background-position-y:-7px}.dashboard_page_bp-wizard tr.activity td.plugin-title span,.settings_page_bp-components tr.activity td.plugin-title span{background-position-x:-4px}.dashboard_page_bp-wizard tr.xprofile td.plugin-title span,.settings_page_bp-components tr.xprofile td.plugin-title span{background-image:url(../images/menu-wp.png);background-position-x:-305px}.dashboard_page_bp-wizard tr.settings td.plugin-title span,.settings_page_bp-components tr.settings td.plugin-title span{background-image:url(../images/menu-wp.png);background-position-x:-334px}.dashboard_page_bp-wizard tr.groups td.plugin-title span,.settings_page_bp-components tr.groups td.plugin-title span{background-position-x:-66px}.dashboard_page_bp-wizard tr.messages td.plugin-title span,.settings_page_bp-components tr.messages td.plugin-title span{background-position-x:-154px}.dashboard_page_bp-wizard tr.forums td.plugin-title span,.settings_page_bp-components tr.forums td.plugin-title span{background-image:url(../images/menu-wp.png);background-position-x:-36px}.dashboard_page_bp-wizard tr.blogs td.plugin-title span,.settings_page_bp-components tr.blogs td.plugin-title span{background-position-x:-125px}.dashboard_page_bp-wizard tr.friends td.plugin-title span,.settings_page_bp-components tr.friends td.plugin-title span{background-position-x:-95px}.dashboard_page_bp-wizard tr.core td.plugin-title span,.settings_page_bp-components tr.core td.plugin-title span{background-position-x:-184px}.dashboard_page_bp-wizard tr.members td.plugin-title span,.settings_page_bp-components tr.members td.plugin-title span{background-position-x:-36px}
bp-core/admin/css/common.dev.css CHANGED
@@ -51,16 +51,21 @@ ul#adminmenu li.toplevel_page_bp-general-settings.wp-has-current-submenu .wp-men
51
  }
52
 
53
  /* Activity */
54
- ul#adminmenu li.toplevel_page_bp-activity .wp-menu-image a img {
 
55
  display: none;
56
  }
57
- ul#adminmenu li.toplevel_page_bp-activity .wp-menu-image a {
 
58
  background-image: url( ../images/menu.png ) !important;
59
  background-position: 0 -34px;
60
  }
61
  ul#adminmenu li.toplevel_page_bp-activity:hover .wp-menu-image a,
62
  ul#adminmenu li.toplevel_page_bp-activity.current .wp-menu-image a,
63
- ul#adminmenu li.toplevel_page_bp-activity.wp-has-current-submenu .wp-menu-image a {
 
 
 
64
  background-position: 0 -2px;
65
  }
66
 
51
  }
52
 
53
  /* Activity */
54
+ ul#adminmenu li.toplevel_page_bp-activity .wp-menu-image a img,
55
+ ul#adminmenu li.toplevel_page_bp-activity_network .wp-menu-image a img {
56
  display: none;
57
  }
58
+ ul#adminmenu li.toplevel_page_bp-activity .wp-menu-image a,
59
+ ul#adminmenu li.toplevel_page_bp-activity_network .wp-menu-image a {
60
  background-image: url( ../images/menu.png ) !important;
61
  background-position: 0 -34px;
62
  }
63
  ul#adminmenu li.toplevel_page_bp-activity:hover .wp-menu-image a,
64
  ul#adminmenu li.toplevel_page_bp-activity.current .wp-menu-image a,
65
+ ul#adminmenu li.toplevel_page_bp-activity.wp-has-current-submenu .wp-menu-image a,
66
+ ul#adminmenu li.toplevel_page_bp-activity_network:hover .wp-menu-image a,
67
+ ul#adminmenu li.toplevel_page_bp-activity_network.current .wp-menu-image a,
68
+ ul#adminmenu li.toplevel_page_bp-activity_network.wp-has-current-submenu .wp-menu-image a {
69
  background-position: 0 -2px;
70
  }
71
 
bp-core/bp-core-admin.php CHANGED
@@ -286,7 +286,13 @@ class BP_Admin {
286
  add_settings_field( 'hide-loggedout-adminbar', __( 'Toolbar', 'buddypress' ), 'bp_admin_setting_callback_admin_bar', 'buddypress', 'bp_main' );
287
  register_setting ( 'buddypress', 'hide-loggedout-adminbar', 'intval' );
288
 
289
- // Allow favorites setting
 
 
 
 
 
 
290
  add_settings_field( 'bp-disable-account-deletion', __( 'Account Deletion', 'buddypress' ), 'bp_admin_setting_callback_account_deletion', 'buddypress', 'bp_main' );
291
  register_setting ( 'buddypress', 'bp-disable-account-deletion', 'intval' );
292
 
@@ -339,7 +345,7 @@ class BP_Admin {
339
 
340
  // Activity commenting on blog and forum posts
341
  add_settings_field( 'bp-disable-blogforum-comments', __( 'Blog &amp; Forum Comments', 'buddypress' ), 'bp_admin_setting_callback_blogforum_comments', 'buddypress', 'bp_activity' );
342
- register_setting( 'buddypress', 'bp-disable-blogforum-comments', 'intval' );
343
 
344
  // Allow activity akismet
345
  if ( is_plugin_active( 'akismet/akismet.php' ) && defined( 'AKISMET_VERSION' ) ) {
286
  add_settings_field( 'hide-loggedout-adminbar', __( 'Toolbar', 'buddypress' ), 'bp_admin_setting_callback_admin_bar', 'buddypress', 'bp_main' );
287
  register_setting ( 'buddypress', 'hide-loggedout-adminbar', 'intval' );
288
 
289
+ // Only show 'switch to Toolbar' option if the user chose to retain the BuddyBar during the 1.6 upgrade
290
+ if ( (bool) bp_get_option( '_bp_force_buddybar', false ) ) {
291
+ add_settings_field( '_bp_force_buddybar', __( 'Toolbar', 'buddypress' ), 'bp_admin_setting_callback_force_buddybar', 'buddypress', 'bp_main' );
292
+ register_setting( 'buddypress', '_bp_force_buddybar', 'bp_admin_sanitize_callback_force_buddybar' );
293
+ }
294
+
295
+ // Allow account deletion
296
  add_settings_field( 'bp-disable-account-deletion', __( 'Account Deletion', 'buddypress' ), 'bp_admin_setting_callback_account_deletion', 'buddypress', 'bp_main' );
297
  register_setting ( 'buddypress', 'bp-disable-account-deletion', 'intval' );
298
 
345
 
346
  // Activity commenting on blog and forum posts
347
  add_settings_field( 'bp-disable-blogforum-comments', __( 'Blog &amp; Forum Comments', 'buddypress' ), 'bp_admin_setting_callback_blogforum_comments', 'buddypress', 'bp_activity' );
348
+ register_setting( 'buddypress', 'bp-disable-blogforum-comments', 'bp_admin_sanitize_callback_blogforum_comments' );
349
 
350
  // Allow activity akismet
351
  if ( is_plugin_active( 'akismet/akismet.php' ) && defined( 'AKISMET_VERSION' ) ) {
bp-core/bp-core-buddybar.php CHANGED
@@ -631,11 +631,12 @@ function bp_core_load_admin_bar() {
631
  global $wp_version;
632
 
633
  // Don't show if Toolbar is disabled for non-logged in users
634
- if ( (int) bp_get_option( 'hide-loggedout-adminbar' ) )
635
  return;
636
 
637
  // Show the WordPress Toolbar
638
  if ( bp_use_wp_admin_bar() && $wp_version >= 3.1 ) {
 
639
  // Respect user's Toolbar display preferences
640
  if ( is_user_logged_in() && ( bp_get_admin_bar_pref( 'front', bp_loggedin_user_id() ) || bp_get_admin_bar_pref( 'admin', bp_loggedin_user_id() ) ) )
641
  return;
@@ -644,7 +645,6 @@ function bp_core_load_admin_bar() {
644
 
645
  // Hide the WordPress Toolbar
646
  } elseif ( !bp_use_wp_admin_bar() ) {
647
-
648
  // Keep the WP Toolbar from loading
649
  show_admin_bar( false );
650
 
631
  global $wp_version;
632
 
633
  // Don't show if Toolbar is disabled for non-logged in users
634
+ if ( (int) bp_get_option( 'hide-loggedout-adminbar' ) && ! is_user_logged_in() )
635
  return;
636
 
637
  // Show the WordPress Toolbar
638
  if ( bp_use_wp_admin_bar() && $wp_version >= 3.1 ) {
639
+
640
  // Respect user's Toolbar display preferences
641
  if ( is_user_logged_in() && ( bp_get_admin_bar_pref( 'front', bp_loggedin_user_id() ) || bp_get_admin_bar_pref( 'admin', bp_loggedin_user_id() ) ) )
642
  return;
645
 
646
  // Hide the WordPress Toolbar
647
  } elseif ( !bp_use_wp_admin_bar() ) {
 
648
  // Keep the WP Toolbar from loading
649
  show_admin_bar( false );
650
 
bp-core/bp-core-classes.php CHANGED
@@ -124,7 +124,7 @@ class BP_Core_User {
124
  * @param integer $user_id The ID for the user
125
  * @param boolean $populate_extras Whether to fetch extra information such as group/friendship counts or not.
126
  */
127
- public function __construct( $user_id, $populate_extras = false ) {
128
  if ( !empty( $user_id ) ) {
129
  $this->id = $user_id;
130
  $this->populate();
@@ -147,7 +147,7 @@ class BP_Core_User {
147
  * @uses bp_core_fetch_avatar() Returns HTML formatted avatar for a user
148
  * @uses bp_profile_last_updated_date() Returns the last updated date for a user.
149
  */
150
- private function populate() {
151
 
152
  if ( bp_is_active( 'xprofile' ) )
153
  $this->profile_data = $this->get_profile_data();
@@ -180,7 +180,7 @@ class BP_Core_User {
180
  /**
181
  * Populates extra fields such as group and friendship counts.
182
  */
183
- private function populate_extras() {
184
 
185
  if ( bp_is_active( 'friends' ) ) {
186
  $this->total_friends = BP_Friends_Friendship::total_friend_count( $this->id );
@@ -192,13 +192,13 @@ class BP_Core_User {
192
  }
193
  }
194
 
195
- private function get_profile_data() {
196
  return BP_XProfile_ProfileData::get_all_for_user( $this->id );
197
  }
198
 
199
  /** Static Methods ********************************************************/
200
 
201
- public static function get_users( $type, $limit = 0, $page = 1, $user_id = 0, $include = false, $search_terms = false, $populate_extras = true, $exclude = false, $meta_key = false, $meta_value = false ) {
202
  global $wpdb, $bp;
203
 
204
  $sql = array();
@@ -391,7 +391,7 @@ class BP_Core_User {
391
  * @return mixed False on error, otherwise associative array of results.
392
  * @static
393
  */
394
- public static function get_users_by_letter( $letter, $limit = null, $page = 1, $populate_extras = true, $exclude = '' ) {
395
  global $bp, $wpdb;
396
 
397
  $pag_sql = '';
@@ -453,7 +453,7 @@ class BP_Core_User {
453
  * @return array Associative array
454
  * @static
455
  */
456
- public static function get_specific_users( $user_ids, $limit = null, $page = 1, $populate_extras = true ) {
457
  global $wpdb;
458
 
459
  $pag_sql = '';
@@ -498,7 +498,7 @@ class BP_Core_User {
498
  * @return array Associative array
499
  * @static
500
  */
501
- public static function search_users( $search_terms, $limit = null, $page = 1, $populate_extras = true ) {
502
  global $bp, $wpdb;
503
 
504
  $user_ids = array();
@@ -542,7 +542,7 @@ class BP_Core_User {
542
  * @return mixed False on error, otherwise associative array of results.
543
  * @static
544
  */
545
- public static function get_user_extras( &$paged_users, &$user_ids, $type = false ) {
546
  global $bp, $wpdb;
547
 
548
  if ( empty( $user_ids ) )
@@ -622,7 +622,7 @@ class BP_Core_User {
622
  * @return array Associative array
623
  * @static
624
  */
625
- public static function get_core_userdata( $user_id ) {
626
  global $wpdb;
627
 
628
  if ( !$user = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE ID = %d LIMIT 1", $user_id ) ) )
@@ -705,7 +705,7 @@ class BP_Core_Notification {
705
  *
706
  * @param integer $id
707
  */
708
- public function __construct( $id = 0 ) {
709
  if ( !empty( $id ) ) {
710
  $this->id = $id;
711
  $this->populate();
@@ -719,7 +719,7 @@ class BP_Core_Notification {
719
  * @global wpdb $wpdb WordPress database object
720
  * @return bool Success or failure
721
  */
722
- public function save() {
723
  global $bp, $wpdb;
724
 
725
  // Update
@@ -747,7 +747,7 @@ class BP_Core_Notification {
747
  * @global BuddyPress $bp The one true BuddyPress instance
748
  * @global wpdb $wpdb WordPress database object
749
  */
750
- private function populate() {
751
  global $bp, $wpdb;
752
 
753
  if ( $notification = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$bp->core->table_name_notifications} WHERE id = %d", $this->id ) ) ) {
@@ -763,7 +763,7 @@ class BP_Core_Notification {
763
 
764
  /** Static Methods ********************************************************/
765
 
766
- public static function check_access( $user_id, $notification_id ) {
767
  global $wpdb, $bp;
768
 
769
  return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->core->table_name_notifications} WHERE id = %d AND user_id = %d", $notification_id, $user_id ) );
@@ -779,7 +779,7 @@ class BP_Core_Notification {
779
  * @return array Associative array
780
  * @static
781
  */
782
- public static function get_all_for_user( $user_id, $status = 'is_new' ) {
783
  global $bp, $wpdb;
784
 
785
  $is_new = 'is_new' == $status ? ' AND is_new = 1 ' : '';
@@ -797,7 +797,7 @@ class BP_Core_Notification {
797
  * @param string $component_action
798
  * @static
799
  */
800
- public static function delete_for_user_by_type( $user_id, $component_name, $component_action ) {
801
  global $bp, $wpdb;
802
 
803
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->core->table_name_notifications} WHERE user_id = %d AND component_name = %s AND component_action = %s", $user_id, $component_name, $component_action ) );
@@ -815,7 +815,7 @@ class BP_Core_Notification {
815
  * @param integer $secondary_item_id (optional) The secondary item id of the notifications that we wish to use to delete.
816
  * @static
817
  */
818
- public static function delete_for_user_by_item_id( $user_id, $item_id, $component_name, $component_action, $secondary_item_id = false ) {
819
  global $bp, $wpdb;
820
 
821
  $secondary_item_sql = !empty( $secondary_item_id ) ? $wpdb->prepare( " AND secondary_item_id = %d", $secondary_item_id ) : '';
@@ -833,7 +833,7 @@ class BP_Core_Notification {
833
  * @param string $component_action The action of the component the notification was sent from.
834
  * @static
835
  */
836
- public static function delete_from_user_by_type( $user_id, $component_name, $component_action ) {
837
  global $bp, $wpdb;
838
 
839
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->core->table_name_notifications} WHERE item_id = %d AND component_name = %s AND component_action = %s", $user_id, $component_name, $component_action ) );
@@ -850,7 +850,7 @@ class BP_Core_Notification {
850
  * @param string $secondary_item_id Optional secondary item id that the notifications are to have.
851
  * @static
852
  */
853
- public static function delete_all_by_type( $item_id, $component_name, $component_action, $secondary_item_id ) {
854
  global $bp, $wpdb;
855
 
856
  if ( $component_action )
@@ -1002,7 +1002,7 @@ class BP_Button {
1002
  * @param array $args
1003
  * @return bool False if not allowed
1004
  */
1005
- public function __construct( $args = '' ) {
1006
 
1007
  // Default arguments
1008
  $defaults = array(
@@ -1106,7 +1106,7 @@ class BP_Button {
1106
  *
1107
  * @return string
1108
  */
1109
- public function contents() {
1110
  return $this->contents;
1111
  }
1112
 
@@ -1115,7 +1115,7 @@ class BP_Button {
1115
  *
1116
  * Output contents of button
1117
  */
1118
- public function display() {
1119
  if ( !empty( $this->contents ) )
1120
  echo $this->contents;
1121
  }
@@ -1137,7 +1137,7 @@ class BP_Embed extends WP_Embed {
1137
  *
1138
  * @global unknown $wp_embed
1139
  */
1140
- public function __construct() {
1141
  global $wp_embed;
1142
 
1143
  // Make sure we populate the WP_Embed handlers array.
@@ -1186,7 +1186,7 @@ class BP_Embed extends WP_Embed {
1186
  * @param string $url The URL attempting to be embeded.
1187
  * @return string The embed HTML on success, otherwise the original URL.
1188
  */
1189
- public function shortcode( $attr, $url = '' ) {
1190
  if ( empty( $url ) )
1191
  return '';
1192
 
@@ -1251,7 +1251,7 @@ class BP_Embed extends WP_Embed {
1251
  * @param array $rawattr Untouched shortcode attributes from {@link WP_Embed::shortcode()}.
1252
  * @return string The embed HTML on success, otherwise the original URL.
1253
  */
1254
- public function parse_oembed( $id, $url, $attr, $rawattr ) {
1255
  $id = intval( $id );
1256
 
1257
  if ( $id ) {
124
  * @param integer $user_id The ID for the user
125
  * @param boolean $populate_extras Whether to fetch extra information such as group/friendship counts or not.
126
  */
127
+ function __construct( $user_id, $populate_extras = false ) {
128
  if ( !empty( $user_id ) ) {
129
  $this->id = $user_id;
130
  $this->populate();
147
  * @uses bp_core_fetch_avatar() Returns HTML formatted avatar for a user
148
  * @uses bp_profile_last_updated_date() Returns the last updated date for a user.
149
  */
150
+ function populate() {
151
 
152
  if ( bp_is_active( 'xprofile' ) )
153
  $this->profile_data = $this->get_profile_data();
180
  /**
181
  * Populates extra fields such as group and friendship counts.
182
  */
183
+ function populate_extras() {
184
 
185
  if ( bp_is_active( 'friends' ) ) {
186
  $this->total_friends = BP_Friends_Friendship::total_friend_count( $this->id );
192
  }
193
  }
194
 
195
+ function get_profile_data() {
196
  return BP_XProfile_ProfileData::get_all_for_user( $this->id );
197
  }
198
 
199
  /** Static Methods ********************************************************/
200
 
201
+ function get_users( $type, $limit = 0, $page = 1, $user_id = 0, $include = false, $search_terms = false, $populate_extras = true, $exclude = false, $meta_key = false, $meta_value = false ) {
202
  global $wpdb, $bp;
203
 
204
  $sql = array();
391
  * @return mixed False on error, otherwise associative array of results.
392
  * @static
393
  */
394
+ function get_users_by_letter( $letter, $limit = null, $page = 1, $populate_extras = true, $exclude = '' ) {
395
  global $bp, $wpdb;
396
 
397
  $pag_sql = '';
453
  * @return array Associative array
454
  * @static
455
  */
456
+ function get_specific_users( $user_ids, $limit = null, $page = 1, $populate_extras = true ) {
457
  global $wpdb;
458
 
459
  $pag_sql = '';
498
  * @return array Associative array
499
  * @static
500
  */
501
+ function search_users( $search_terms, $limit = null, $page = 1, $populate_extras = true ) {
502
  global $bp, $wpdb;
503
 
504
  $user_ids = array();
542
  * @return mixed False on error, otherwise associative array of results.
543
  * @static
544
  */
545
+ function get_user_extras( &$paged_users, &$user_ids, $type = false ) {
546
  global $bp, $wpdb;
547
 
548
  if ( empty( $user_ids ) )
622
  * @return array Associative array
623
  * @static
624
  */
625
+ function get_core_userdata( $user_id ) {
626
  global $wpdb;
627
 
628
  if ( !$user = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE ID = %d LIMIT 1", $user_id ) ) )
705
  *
706
  * @param integer $id
707
  */
708
+ function __construct( $id = 0 ) {
709
  if ( !empty( $id ) ) {
710
  $this->id = $id;
711
  $this->populate();
719
  * @global wpdb $wpdb WordPress database object
720
  * @return bool Success or failure
721
  */
722
+ function save() {
723
  global $bp, $wpdb;
724
 
725
  // Update
747
  * @global BuddyPress $bp The one true BuddyPress instance
748
  * @global wpdb $wpdb WordPress database object
749
  */
750
+ function populate() {
751
  global $bp, $wpdb;
752
 
753
  if ( $notification = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$bp->core->table_name_notifications} WHERE id = %d", $this->id ) ) ) {
763
 
764
  /** Static Methods ********************************************************/
765
 
766
+ function check_access( $user_id, $notification_id ) {
767
  global $wpdb, $bp;
768
 
769
  return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->core->table_name_notifications} WHERE id = %d AND user_id = %d", $notification_id, $user_id ) );
779
  * @return array Associative array
780
  * @static
781
  */
782
+ function get_all_for_user( $user_id, $status = 'is_new' ) {
783
  global $bp, $wpdb;
784
 
785
  $is_new = 'is_new' == $status ? ' AND is_new = 1 ' : '';
797
  * @param string $component_action
798
  * @static
799
  */
800
+ function delete_for_user_by_type( $user_id, $component_name, $component_action ) {
801
  global $bp, $wpdb;
802
 
803
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->core->table_name_notifications} WHERE user_id = %d AND component_name = %s AND component_action = %s", $user_id, $component_name, $component_action ) );
815
  * @param integer $secondary_item_id (optional) The secondary item id of the notifications that we wish to use to delete.
816
  * @static
817
  */
818
+ function delete_for_user_by_item_id( $user_id, $item_id, $component_name, $component_action, $secondary_item_id = false ) {
819
  global $bp, $wpdb;
820
 
821
  $secondary_item_sql = !empty( $secondary_item_id ) ? $wpdb->prepare( " AND secondary_item_id = %d", $secondary_item_id ) : '';
833
  * @param string $component_action The action of the component the notification was sent from.
834
  * @static
835
  */
836
+ function delete_from_user_by_type( $user_id, $component_name, $component_action ) {
837
  global $bp, $wpdb;
838
 
839
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->core->table_name_notifications} WHERE item_id = %d AND component_name = %s AND component_action = %s", $user_id, $component_name, $component_action ) );
850
  * @param string $secondary_item_id Optional secondary item id that the notifications are to have.
851
  * @static
852
  */
853
+ function delete_all_by_type( $item_id, $component_name, $component_action, $secondary_item_id ) {
854
  global $bp, $wpdb;
855
 
856
  if ( $component_action )
1002
  * @param array $args
1003
  * @return bool False if not allowed
1004
  */
1005
+ function __construct( $args = '' ) {
1006
 
1007
  // Default arguments
1008
  $defaults = array(
1106
  *
1107
  * @return string
1108
  */
1109
+ function contents() {
1110
  return $this->contents;
1111
  }
1112
 
1115
  *
1116
  * Output contents of button
1117
  */
1118
+ function display() {
1119
  if ( !empty( $this->contents ) )
1120
  echo $this->contents;
1121
  }
1137
  *
1138
  * @global unknown $wp_embed
1139
  */
1140
+ function __construct() {
1141
  global $wp_embed;
1142
 
1143
  // Make sure we populate the WP_Embed handlers array.
1186
  * @param string $url The URL attempting to be embeded.
1187
  * @return string The embed HTML on success, otherwise the original URL.
1188
  */
1189
+ function shortcode( $attr, $url = '' ) {
1190
  if ( empty( $url ) )
1191
  return '';
1192
 
1251
  * @param array $rawattr Untouched shortcode attributes from {@link WP_Embed::shortcode()}.
1252
  * @return string The embed HTML on success, otherwise the original URL.
1253
  */
1254
+ function parse_oembed( $id, $url, $attr, $rawattr ) {
1255
  $id = intval( $id );
1256
 
1257
  if ( $id ) {
bp-core/bp-core-functions.php CHANGED
@@ -978,7 +978,7 @@ function bp_use_wp_admin_bar() {
978
  * 3 => 'blip'
979
  * );
980
  *
981
- * For the second argument, $func_args, you should just pass func_get_args().
982
  *
983
  * @since BuddyPress (1.6)
984
  * @param array $old_args_keys
978
  * 3 => 'blip'
979
  * );
980
  *
981
+ * For the second argument, $func_args, you should just pass the value of func_get_args().
982
  *
983
  * @since BuddyPress (1.6)
984
  * @param array $old_args_keys
bp-core/bp-core-options.php CHANGED
@@ -56,7 +56,7 @@ function bp_get_default_options() {
56
  'bp-disable-avatar-uploads' => false,
57
 
58
  // Allow users to delete their own accounts
59
- 'bp-disable-account-deletion' => true,
60
 
61
  // Allow comments on blog and forum activity items
62
  'bp-disable-blogforum-comments' => true,
56
  'bp-disable-avatar-uploads' => false,
57
 
58
  // Allow users to delete their own accounts
59
+ 'bp-disable-account-deletion' => false,
60
 
61
  // Allow comments on blog and forum activity items
62
  'bp-disable-blogforum-comments' => true,
bp-core/bp-core-template.php CHANGED
@@ -1551,6 +1551,9 @@ function bp_the_body_class() {
1551
 
1552
  /** User **************************************************************/
1553
 
 
 
 
1554
  if ( !bp_is_directory() ) :
1555
  if ( bp_is_user_blogs() )
1556
  $bp_classes[] = 'my-blogs';
1551
 
1552
  /** User **************************************************************/
1553
 
1554
+ if ( bp_is_user() )
1555
+ $bp_classes[] = 'bp-user';
1556
+
1557
  if ( !bp_is_directory() ) :
1558
  if ( bp_is_user_blogs() )
1559
  $bp_classes[] = 'my-blogs';
bp-core/css/buddybar.css CHANGED
@@ -1 +1 @@
1
- body,body.wp-admin{padding-top:25px!important}#wp-admin-bar{position:fixed;top:0;left:0;height:25px;font-size:11px;width:100%;z-index:9999}#wp-admin-bar .padder{position:relative;padding:0;width:100%;margin:0 auto;background:url(../images/60pc_black.png);height:25px}body#bp-default #wp-admin-bar .padder{max-width:1250px}#wp-admin-bar *{z-index:999}#wp-admin-bar div#admin-bar-logo{position:absolute;top:5px;left:10px}#wp-admin-bar a img{border:0}#wp-admin-bar li{list-style:none;margin:0;padding:0;line-height:100%;text-align:left}#wp-admin-bar li a{padding:7px 15px 7px 15px;color:#eee;text-decoration:none;font-size:11px}#wp-admin-bar li.alt{border:0}#wp-admin-bar li.no-arrow a{padding-right:15px}#wp-admin-bar ul li ul li a span{display:none}#wp-admin-bar li:hover,#wp-admin-bar li.hover{position:static}#admin-bar-logo{float:left;font-weight:bold;font-size:11px;padding:5px 8px;margin:0;text-decoration:none;color:#fff}body#bp-default #admin-bar-logo{padding:2px 8px}#wp-admin-bar ul{margin:0;list-style:none;line-height:1;cursor:pointer;height:auto;padding:0}#wp-admin-bar ul li{padding:0;float:left;position:relative;background:url(../images/admin-menu-arrow.gif) 88% 53% no-repeat;padding-right:11px}#wp-admin-bar ul li.no-arrow{background:0;padding-right:0}#wp-admin-bar ul li ul li{background-image:none}#wp-admin-bar ul li.align-right{position:absolute;right:0}#wp-admin-bar ul li a{display:block}#wp-admin-bar ul.main-nav li:hover,#wp-admin-bar ul.main-nav li.sfhover,#wp-admin-bar ul.main-nav li ul li.sfhover{background-color:#333}#wp-admin-bar ul li ul{position:absolute;width:185px;left:-999em;margin-left:0;background:#333;border:1px solid #222;-moz-box-shadow:0 4px 8px rgba(0,0,0,0.1);-webkit-box-shadow:0 4px 8px rgba(0,0,0,0.1);-moz-border-radius:3px;-webkit-border-radius:3px;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0}#wp-admin-bar ul li>ul{border-top:0}#wp-admin-bar ul li ul a{color:#eee}#wp-admin-bar ul li ul li{float:left;width:174px;margin:0}#wp-admin-bar ul li ul li:hover a{color:#fff}#wp-admin-bar ul li div.admin-bar-clear{clear:both}#wp-admin-bar ul.main-nav li ul li:hover,#wp-admin-bar ul.main-nav li ul li.sfhover,#wp-admin-bar ul.main-nav li ul li.sfhover{background-color:#222}#wp-admin-bar ul li ul ul{margin:-25px 0 0 184px;-moz-border-radius:3px;-webkit-border-radius:3px}#wp-admin-bar ul li ul li:hover ul li a{color:#eee}#wp-admin-bar ul li ul li ul li:hover a{color:#fff}#wp-admin-bar ul li:hover ul,#wp-admin-bar ul li ul li:hover ul,#wp-admin-bar ul li.sfhover ul,#wp-admin-bar ul li ul li.sfhover ul{left:auto}#wp-admin-bar ul li.align-right:hover ul{right:0}#wp-admin-bar ul li:hover ul ul,#wp-admin-bar li.sfhover ul li ul{left:-999em}#wp-admin-bar img.avatar{float:left;margin-right:8px}#wp-admin-bar span.activity{display:block;margin-left:34px;padding:0}#wp-admin-bar ul.author-list li a{height:17px}#wp-admin-bar ul li#bp-adminbar-notifications-menu a span{padding:0 6px;margin-left:2px;background:#fff;color:#000;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}#wp-admin-bar-user-info img.avatar{height:64px;width:64px}
1
+ body:not(.wp-admin){padding-top:25px!important}#wp-admin-bar{position:fixed;top:0;left:0;height:25px;font-size:11px;width:100%;z-index:9999}#wp-admin-bar .padder{position:relative;padding:0;width:100%;margin:0 auto;background:url(../images/60pc_black.png);height:25px}body#bp-default #wp-admin-bar .padder{max-width:1250px}#wp-admin-bar *{z-index:999}#wp-admin-bar div#admin-bar-logo{position:absolute;top:5px;left:10px}#wp-admin-bar a img{border:0}#wp-admin-bar li{list-style:none;margin:0;padding:0;line-height:100%;text-align:left}#wp-admin-bar li a{padding:7px 15px 7px 15px;color:#eee;text-decoration:none;font-size:11px}#wp-admin-bar li.alt{border:0}#wp-admin-bar li.no-arrow a{padding-right:15px}#wp-admin-bar ul li ul li a span{display:none}#wp-admin-bar li:hover,#wp-admin-bar li.hover{position:static}#admin-bar-logo{float:left;font-weight:bold;font-size:11px;padding:5px 8px;margin:0;text-decoration:none;color:#fff}body#bp-default #admin-bar-logo{padding:2px 8px}#wp-admin-bar ul{margin:0;list-style:none;line-height:1;cursor:pointer;height:auto;padding:0}#wp-admin-bar ul li{padding:0;float:left;position:relative;background:url(../images/admin-menu-arrow.gif) 88% 53% no-repeat;padding-right:11px}#wp-admin-bar ul li.no-arrow{background:0;padding-right:0}#wp-admin-bar ul li ul li{background-image:none}#wp-admin-bar ul li.align-right{position:absolute;right:0}#wp-admin-bar ul li a{display:block}#wp-admin-bar ul.main-nav li:hover,#wp-admin-bar ul.main-nav li.sfhover,#wp-admin-bar ul.main-nav li ul li.sfhover{background-color:#333}#wp-admin-bar ul li ul{position:absolute;width:185px;left:-999em;margin-left:0;background:#333;border:1px solid #222;-moz-box-shadow:0 4px 8px rgba(0,0,0,0.1);-webkit-box-shadow:0 4px 8px rgba(0,0,0,0.1);-moz-border-radius:3px;-webkit-border-radius:3px;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0}#wp-admin-bar ul li>ul{border-top:0}#wp-admin-bar ul li ul a{color:#eee}#wp-admin-bar ul li ul li{float:left;width:174px;margin:0}#wp-admin-bar ul li ul li:hover a{color:#fff}#wp-admin-bar ul li div.admin-bar-clear{clear:both}#wp-admin-bar ul.main-nav li ul li:hover,#wp-admin-bar ul.main-nav li ul li.sfhover,#wp-admin-bar ul.main-nav li ul li.sfhover{background-color:#222}#wp-admin-bar ul li ul ul{margin:-25px 0 0 184px;-moz-border-radius:3px;-webkit-border-radius:3px}#wp-admin-bar ul li ul li:hover ul li a{color:#eee}#wp-admin-bar ul li ul li ul li:hover a{color:#fff}#wp-admin-bar ul li:hover ul,#wp-admin-bar ul li ul li:hover ul,#wp-admin-bar ul li.sfhover ul,#wp-admin-bar ul li ul li.sfhover ul{left:auto}#wp-admin-bar ul li.align-right:hover ul{right:0}#wp-admin-bar ul li:hover ul ul,#wp-admin-bar li.sfhover ul li ul{left:-999em}#wp-admin-bar img.avatar{float:left;margin-right:8px}#wp-admin-bar span.activity{display:block;margin-left:34px;padding:0}#wp-admin-bar ul.author-list li a{height:17px}#wp-admin-bar ul li#bp-adminbar-notifications-menu a span{padding:0 6px;margin-left:2px;background:#fff;color:#000;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}#wp-admin-bar-user-info img.avatar{height:64px;width:64px}
bp-core/css/buddybar.dev.css CHANGED
@@ -1,5 +1,4 @@
1
- body,
2
- body.wp-admin {
3
  padding-top: 25px !important;
4
  }
5
  #wp-admin-bar {
1
+ body:not(.wp-admin) {
 
2
  padding-top: 25px !important;
3
  }
4
  #wp-admin-bar {
bp-core/deprecated/1.5.php CHANGED
@@ -535,4 +535,132 @@ function bp_dtheme_deprecated() {
535
  }
536
  add_action( 'after_setup_theme', 'bp_dtheme_deprecated', 15 );
537
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
538
  ?>
535
  }
536
  add_action( 'after_setup_theme', 'bp_dtheme_deprecated', 15 );
537
 
538
+ /**
539
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
540
+ * components, and moved into a new Settings component. This function is no
541
+ * longer needed as the nav structure is set up by the {@link BP_Component} class.
542
+ *
543
+ * @deprecated BuddyPress (1.5)
544
+ * @since BuddyPress (1.6)
545
+ */
546
+ function bp_core_add_settings_nav() {
547
+ _deprecated_function( __FUNCTION__, '1.5' );
548
+ }
549
+
550
+ /**
551
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
552
+ * components, and moved into a new Settings component. This function is no
553
+ * longer needed as new template files for the Settings component were
554
+ * introduced.
555
+ *
556
+ * @deprecated BuddyPress (1.5)
557
+ * @since BuddyPress (1.6)
558
+ */
559
+ function bp_core_screen_general_settings() {
560
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
561
+ }
562
+
563
+ /**
564
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
565
+ * components, and moved into a new Settings component. This function is no
566
+ * longer needed as new template files for the Settings component were
567
+ * introduced.
568
+ *
569
+ * @deprecated BuddyPress (1.5)
570
+ * @since BuddyPress (1.6)
571
+ */
572
+ function bp_core_screen_general_settings_title() {
573
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
574
+ }
575
+
576
+ /**
577
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
578
+ * components, and moved into a new Settings component. This function is no
579
+ * longer needed as new template files for the Settings component were
580
+ * introduced.
581
+ *
582
+ * @deprecated BuddyPress (1.5)
583
+ * @since BuddyPress (1.6)
584
+ */
585
+ function bp_core_screen_general_settings_content() {
586
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
587
+ }
588
+
589
+ /**
590
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
591
+ * components, and moved into a new Settings component. This function is no
592
+ * longer needed as new template files for the Settings component were
593
+ * introduced.
594
+ *
595
+ * @deprecated BuddyPress (1.5)
596
+ * @since BuddyPress (1.6)
597
+ */
598
+ function bp_core_screen_notification_settings() {
599
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
600
+ }
601
+
602
+ /**
603
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
604
+ * components, and moved into a new Settings component. This function is no
605
+ * longer needed as new template files for the Settings component were
606
+ * introduced.
607
+ *
608
+ * @deprecated BuddyPress (1.5)
609
+ * @since BuddyPress (1.6)
610
+ */
611
+ function bp_core_screen_notification_settings_title() {
612
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
613
+ }
614
+
615
+ /**
616
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
617
+ * components, and moved into a new Settings component. This function is no
618
+ * longer needed as new template files for the Settings component were
619
+ * introduced.
620
+ *
621
+ * @deprecated BuddyPress (1.5)
622
+ * @since BuddyPress (1.6)
623
+ */
624
+ function bp_core_screen_notification_settings_content() {
625
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
626
+ }
627
+
628
+ /**
629
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
630
+ * components, and moved into a new Settings component. This function is no
631
+ * longer needed as new template files for the Settings component were
632
+ * introduced.
633
+ *
634
+ * @deprecated BuddyPress (1.5)
635
+ * @since BuddyPress (1.6)
636
+ */
637
+ function bp_core_screen_delete_account() {
638
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
639
+ }
640
+
641
+ /**
642
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
643
+ * components, and moved into a new Settings component. This function is no
644
+ * longer needed as new template files for the Settings component were
645
+ * introduced.
646
+ *
647
+ * @deprecated BuddyPress (1.5)
648
+ * @since BuddyPress (1.6)
649
+ */
650
+ function bp_core_screen_delete_account_title() {
651
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
652
+ }
653
+
654
+ /**
655
+ * In BP 1.5, the Settings functions were moved out of the Core and Members
656
+ * components, and moved into a new Settings component. This function is no
657
+ * longer needed as new template files for the Settings component were
658
+ * introduced.
659
+ *
660
+ * @deprecated BuddyPress (1.5)
661
+ * @since BuddyPress (1.6)
662
+ */
663
+ function bp_core_screen_delete_account_content() {
664
+ _deprecated_function( __FUNCTION__, '1.5', 'Moved into theme template' );
665
+ }
666
  ?>
bp-forums/bp-forums-admin.php CHANGED
@@ -18,9 +18,27 @@ function bp_forums_add_admin_menu() {
18
  }
19
  add_action( bp_core_admin_hook(), 'bp_forums_add_admin_menu' );
20
 
 
 
 
21
  function bp_forums_bbpress_admin() {
22
  global $bp;
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  $action = bp_get_admin_url( 'admin.php?page=bb-forums-setup&reinstall=1' ); ?>
25
 
26
  <div class="wrap">
@@ -77,13 +95,15 @@ function bp_forums_bbpress_admin() {
77
  <li><?php _e( 'Activity Stream Integration', 'buddypress' ); ?></p></li>
78
  <li><?php _e( '@ Mention Integration', 'buddypress' ); ?></p></li>
79
  </ul>
 
80
  <div>
81
- <a class="button thickbox button-primary" href="<?php bp_admin_url( add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'bbpress', 'TB_iframe' => 'true', 'width' => '640', 'height' => '500' ), 'plugin-install.php' ) ); ?>"><?php _e( 'Install Site Wide Forums', 'buddypress' ) ?></a> &nbsp;
82
  </div>
83
  </div>
84
 
85
  <?php endif; ?>
86
 
 
87
  </div>
88
  <?php
89
  }
@@ -93,6 +113,21 @@ function bp_forums_bbpress_install_wizard() {
93
 
94
  $step = isset( $_REQUEST['step'] ) ? $_REQUEST['step'] : '';
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  switch( $step ) {
97
  case 'existing':
98
  if ( isset( $_REQUEST['doinstall'] ) && ( 1 == (int) $_REQUEST['doinstall'] ) ) {
@@ -196,7 +231,7 @@ function bp_forums_bbpress_install_wizard() {
196
  <li><?php _e( '@ Mention Integration', 'buddypress' ); ?></p></li>
197
  </ul>
198
  <div>
199
- <a class="button thickbox button-primary" href="<?php bp_admin_url( add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'bbpress', 'TB_iframe' => 'true', 'width' => '640', 'height' => '500' ), 'plugin-install.php' ) ); ?>"><?php _e( 'Install Site Wide Forums', 'buddypress' ) ?></a> &nbsp;
200
  </div>
201
  </div>
202
 
18
  }
19
  add_action( bp_core_admin_hook(), 'bp_forums_add_admin_menu' );
20
 
21
+ /**
22
+ * Outputs the markup for the bb-forums-admin panel
23
+ */
24
  function bp_forums_bbpress_admin() {
25
  global $bp;
26
 
27
+ // The text and URL of the Site Wide Forums button differs depending on whether bbPress
28
+ // is running
29
+ if ( is_plugin_active( 'bbpress/bbpress.php' ) ) {
30
+ // The bbPress admin page will always be on the root blog. switch_to_blog() will
31
+ // pass through if we're already there.
32
+ switch_to_blog( bp_get_root_blog_id() );
33
+ $button_url = admin_url( add_query_arg( array( 'page' => 'bbpress' ), 'options-general.php' ) );
34
+ restore_current_blog();
35
+
36
+ $button_text = __( 'Configure Site Wide Forums', 'buddypress' );
37
+ } else {
38
+ $button_url = bp_get_admin_url( add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'bbpress', 'TB_iframe' => 'true', 'width' => '640', 'height' => '500' ), 'plugin-install.php' ) );
39
+ $button_text = __( 'Install Site Wide Forums', 'buddypress' );
40
+ }
41
+
42
  $action = bp_get_admin_url( 'admin.php?page=bb-forums-setup&reinstall=1' ); ?>
43
 
44
  <div class="wrap">
95
  <li><?php _e( 'Activity Stream Integration', 'buddypress' ); ?></p></li>
96
  <li><?php _e( '@ Mention Integration', 'buddypress' ); ?></p></li>
97
  </ul>
98
+
99
  <div>
100
+ <a class="button thickbox button-primary" href="<?php echo esc_attr( $button_url ) ?>"><?php echo esc_html( $button_text ) ?></a> &nbsp;
101
  </div>
102
  </div>
103
 
104
  <?php endif; ?>
105
 
106
+ <p class="clear description"><?php printf( __( 'Need help deciding between Group Forums and Site Wide Forums? Visit <a href="%s">the BuddyPress codex</a> for more information.', 'buddypress' ), 'http://codex.buddypress.org/getting-started/installing-group-and-sitewide-forums/' ) ?></p>
107
  </div>
108
  <?php
109
  }
113
 
114
  $step = isset( $_REQUEST['step'] ) ? $_REQUEST['step'] : '';
115
 
116
+ // The text and URL of the Site Wide Forums button differs depending on whether bbPress
117
+ // is running
118
+ if ( is_plugin_active( 'bbpress/bbpress.php' ) ) {
119
+ // The bbPress admin page will always be on the root blog. switch_to_blog() will
120
+ // pass through if we're already there.
121
+ switch_to_blog( bp_get_root_blog_id() );
122
+ $button_url = admin_url( add_query_arg( array( 'page' => 'bbpress' ), 'options-general.php' ) );
123
+ restore_current_blog();
124
+
125
+ $button_text = __( 'Configure Site Wide Forums', 'buddypress' );
126
+ } else {
127
+ $button_url = bp_get_admin_url( add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'bbpress', 'TB_iframe' => 'true', 'width' => '640', 'height' => '500' ), 'plugin-install.php' ) );
128
+ $button_text = __( 'Install Site Wide Forums', 'buddypress' );
129
+ }
130
+
131
  switch( $step ) {
132
  case 'existing':
133
  if ( isset( $_REQUEST['doinstall'] ) && ( 1 == (int) $_REQUEST['doinstall'] ) ) {
231
  <li><?php _e( '@ Mention Integration', 'buddypress' ); ?></p></li>
232
  </ul>
233
  <div>
234
+ <a class="button thickbox button-primary" href="<?php echo esc_attr( $button_url ) ?>"><?php echo esc_html( $button_text ) ?></a> &nbsp;
235
  </div>
236
  </div>
237
 
bp-friends/bp-friends-classes.php CHANGED
@@ -16,7 +16,7 @@ class BP_Friends_Friendship {
16
 
17
  var $friend;
18
 
19
- public function __construct( $id = null, $is_request = false, $populate_friend_details = true ) {
20
  $this->is_request = $is_request;
21
 
22
  if ( !empty( $id ) ) {
@@ -26,7 +26,7 @@ class BP_Friends_Friendship {
26
  }
27
  }
28
 
29
- private function populate() {
30
  global $wpdb, $bp;
31
 
32
  if ( $friendship = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$bp->friends->table_name} WHERE id = %d", $this->id ) ) ) {
@@ -46,7 +46,7 @@ class BP_Friends_Friendship {
46
  }
47
  }
48
 
49
- public function save() {
50
  global $wpdb, $bp;
51
 
52
  $this->initiator_user_id = apply_filters( 'friends_friendship_initiator_user_id_before_save', $this->initiator_user_id, $this->id );
@@ -72,7 +72,7 @@ class BP_Friends_Friendship {
72
  return $result;
73
  }
74
 
75
- public function delete() {
76
  global $wpdb, $bp;
77
 
78
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->friends->table_name} WHERE id = %d", $this->id ) );
@@ -80,7 +80,7 @@ class BP_Friends_Friendship {
80
 
81
  /** Static Methods ********************************************************/
82
 
83
- public static function get_friend_user_ids( $user_id, $friend_requests_only = false, $assoc_arr = false ) {
84
  global $wpdb, $bp;
85
 
86
  if ( !empty( $friend_requests_only ) ) {
@@ -105,19 +105,19 @@ class BP_Friends_Friendship {
105
  return $fids;
106
  }
107
 
108
- public static function get_friendship_id( $user_id, $friend_id ) {
109
  global $wpdb, $bp;
110
 
111
  return $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->friends->table_name} WHERE ( initiator_user_id = %d AND friend_user_id = %d ) OR ( initiator_user_id = %d AND friend_user_id = %d ) AND is_confirmed = 1", $user_id, $friend_id, $friend_id, $user_id ) );
112
  }
113
 
114
- public static function get_friendship_request_user_ids( $user_id ) {
115
  global $wpdb, $bp;
116
 
117
  return $wpdb->get_col( $wpdb->prepare( "SELECT initiator_user_id FROM {$bp->friends->table_name} WHERE friend_user_id = %d AND is_confirmed = 0", $user_id ) );
118
  }
119
 
120
- public static function total_friend_count( $user_id = 0 ) {
121
  global $wpdb, $bp;
122
 
123
  if ( empty( $user_id ) )
@@ -136,7 +136,7 @@ class BP_Friends_Friendship {
136
  return (int) $count;
137
  }
138
 
139
- public static function search_friends( $filter, $user_id, $limit = null, $page = null ) {
140
  global $wpdb, $bp;
141
 
142
  // TODO: Optimize this function.
@@ -176,7 +176,7 @@ class BP_Friends_Friendship {
176
  return array( 'friends' => $filtered_friend_ids, 'total' => (int) $total_friend_ids );
177
  }
178
 
179
- public static function check_is_friend( $loggedin_userid, $possible_friend_userid ) {
180
  global $wpdb, $bp;
181
 
182
  if ( empty( $loggedin_userid ) || empty( $possible_friend_userid ) )
@@ -195,31 +195,31 @@ class BP_Friends_Friendship {
195
  }
196
  }
197
 
198
- public static function get_bulk_last_active( $user_ids ) {
199
  global $wpdb;
200
 
201
  return $wpdb->get_results( $wpdb->prepare( "SELECT meta_value as last_activity, user_id FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} ) ORDER BY meta_value DESC", bp_get_user_meta_key( 'last_activity' ) ) );
202
  }
203
 
204
- public static function accept($friendship_id) {
205
  global $wpdb, $bp;
206
 
207
  return $wpdb->query( $wpdb->prepare( "UPDATE {$bp->friends->table_name} SET is_confirmed = 1, date_created = %s WHERE id = %d AND friend_user_id = %d", bp_core_current_time(), $friendship_id, bp_loggedin_user_id() ) );
208
  }
209
 
210
- public static function withdraw($friendship_id) {
211
  global $wpdb, $bp;
212
 
213
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->friends->table_name} WHERE id = %d AND initiator_user_id = %d", $friendship_id, bp_loggedin_user_id() ) );
214
  }
215
 
216
- public static function reject($friendship_id) {
217
  global $wpdb, $bp;
218
 
219
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->friends->table_name} WHERE id = %d AND friend_user_id = %d", $friendship_id, bp_loggedin_user_id() ) );
220
  }
221
 
222
- public static function search_users( $filter, $user_id, $limit = null, $page = null ) {
223
  global $wpdb;
224
 
225
  $filter = like_escape( $wpdb->escape( $filter ) );
@@ -245,7 +245,7 @@ class BP_Friends_Friendship {
245
  return $filtered_fids;
246
  }
247
 
248
- public static function search_users_count( $filter ) {
249
  global $wpdb, $bp;
250
 
251
  $filter = like_escape( $wpdb->escape( $filter ) );
@@ -268,7 +268,7 @@ class BP_Friends_Friendship {
268
  return $user_count[0];
269
  }
270
 
271
- public static function sort_by_name( $user_ids ) {
272
  global $wpdb, $bp;
273
 
274
  if ( !bp_is_active( 'xprofile' ) )
@@ -277,7 +277,7 @@ class BP_Friends_Friendship {
277
  return $wpdb->get_results( $wpdb->prepare( "SELECT user_id FROM {$bp->profile->table_name_data} pd, {$bp->profile->table_name_fields} pf WHERE pf.id = pd.field_id AND pf.name = %s AND pd.user_id IN ( {$user_ids} ) ORDER BY pd.value ASC", bp_xprofile_fullname_field_name() ) );
278
  }
279
 
280
- public static function get_random_friends( $user_id, $total_friends = 5 ) {
281
  global $wpdb, $bp;
282
 
283
  $fids = array();
@@ -295,7 +295,7 @@ class BP_Friends_Friendship {
295
  return false;
296
  }
297
 
298
- public static function get_invitable_friend_count( $user_id, $group_id ) {
299
 
300
  // Setup some data we'll use below
301
  $is_group_admin = BP_Groups_Member::check_is_admin( $user_id, $group_id );
@@ -322,13 +322,13 @@ class BP_Friends_Friendship {
322
  return $invitable_count;
323
  }
324
 
325
- public static function get_user_ids_for_friendship( $friendship_id ) {
326
  global $wpdb, $bp;
327
 
328
  return $wpdb->get_row( $wpdb->prepare( "SELECT friend_user_id, initiator_user_id FROM {$bp->friends->table_name} WHERE id = %d", $friendship_id ) );
329
  }
330
 
331
- public static function delete_all_for_user( $user_id ) {
332
  global $wpdb, $bp;
333
 
334
  // Get friends of $user_id
16
 
17
  var $friend;
18
 
19
+ function __construct( $id = null, $is_request = false, $populate_friend_details = true ) {
20
  $this->is_request = $is_request;
21
 
22
  if ( !empty( $id ) ) {
26
  }
27
  }
28
 
29
+ function populate() {
30
  global $wpdb, $bp;
31
 
32
  if ( $friendship = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$bp->friends->table_name} WHERE id = %d", $this->id ) ) ) {
46
  }
47
  }
48
 
49
+ function save() {
50
  global $wpdb, $bp;
51
 
52
  $this->initiator_user_id = apply_filters( 'friends_friendship_initiator_user_id_before_save', $this->initiator_user_id, $this->id );
72
  return $result;
73
  }
74
 
75
+ function delete() {
76
  global $wpdb, $bp;
77
 
78
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->friends->table_name} WHERE id = %d", $this->id ) );
80
 
81
  /** Static Methods ********************************************************/
82
 
83
+ function get_friend_user_ids( $user_id, $friend_requests_only = false, $assoc_arr = false ) {
84
  global $wpdb, $bp;
85
 
86
  if ( !empty( $friend_requests_only ) ) {
105
  return $fids;
106
  }
107
 
108
+ function get_friendship_id( $user_id, $friend_id ) {
109
  global $wpdb, $bp;
110
 
111
  return $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->friends->table_name} WHERE ( initiator_user_id = %d AND friend_user_id = %d ) OR ( initiator_user_id = %d AND friend_user_id = %d ) AND is_confirmed = 1", $user_id, $friend_id, $friend_id, $user_id ) );
112
  }
113
 
114
+ function get_friendship_request_user_ids( $user_id ) {
115
  global $wpdb, $bp;
116
 
117
  return $wpdb->get_col( $wpdb->prepare( "SELECT initiator_user_id FROM {$bp->friends->table_name} WHERE friend_user_id = %d AND is_confirmed = 0", $user_id ) );
118
  }
119
 
120
+ function total_friend_count( $user_id = 0 ) {
121
  global $wpdb, $bp;
122
 
123
  if ( empty( $user_id ) )
136
  return (int) $count;
137
  }
138
 
139
+ function search_friends( $filter, $user_id, $limit = null, $page = null ) {
140
  global $wpdb, $bp;
141
 
142
  // TODO: Optimize this function.
176
  return array( 'friends' => $filtered_friend_ids, 'total' => (int) $total_friend_ids );
177
  }
178
 
179
+ function check_is_friend( $loggedin_userid, $possible_friend_userid ) {
180
  global $wpdb, $bp;
181
 
182
  if ( empty( $loggedin_userid ) || empty( $possible_friend_userid ) )
195
  }
196
  }
197
 
198
+ function get_bulk_last_active( $user_ids ) {
199
  global $wpdb;
200
 
201
  return $wpdb->get_results( $wpdb->prepare( "SELECT meta_value as last_activity, user_id FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} ) ORDER BY meta_value DESC", bp_get_user_meta_key( 'last_activity' ) ) );
202
  }
203
 
204
+ function accept($friendship_id) {
205
  global $wpdb, $bp;
206
 
207
  return $wpdb->query( $wpdb->prepare( "UPDATE {$bp->friends->table_name} SET is_confirmed = 1, date_created = %s WHERE id = %d AND friend_user_id = %d", bp_core_current_time(), $friendship_id, bp_loggedin_user_id() ) );
208
  }
209
 
210
+ function withdraw($friendship_id) {
211
  global $wpdb, $bp;
212
 
213
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->friends->table_name} WHERE id = %d AND initiator_user_id = %d", $friendship_id, bp_loggedin_user_id() ) );
214
  }
215
 
216
+ function reject($friendship_id) {
217
  global $wpdb, $bp;
218
 
219
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->friends->table_name} WHERE id = %d AND friend_user_id = %d", $friendship_id, bp_loggedin_user_id() ) );
220
  }
221
 
222
+ function search_users( $filter, $user_id, $limit = null, $page = null ) {
223
  global $wpdb;
224
 
225
  $filter = like_escape( $wpdb->escape( $filter ) );
245
  return $filtered_fids;
246
  }
247
 
248
+ function search_users_count( $filter ) {
249
  global $wpdb, $bp;
250
 
251
  $filter = like_escape( $wpdb->escape( $filter ) );
268
  return $user_count[0];
269
  }
270
 
271
+ function sort_by_name( $user_ids ) {
272
  global $wpdb, $bp;
273
 
274
  if ( !bp_is_active( 'xprofile' ) )
277
  return $wpdb->get_results( $wpdb->prepare( "SELECT user_id FROM {$bp->profile->table_name_data} pd, {$bp->profile->table_name_fields} pf WHERE pf.id = pd.field_id AND pf.name = %s AND pd.user_id IN ( {$user_ids} ) ORDER BY pd.value ASC", bp_xprofile_fullname_field_name() ) );
278
  }
279
 
280
+ function get_random_friends( $user_id, $total_friends = 5 ) {
281
  global $wpdb, $bp;
282
 
283
  $fids = array();
295
  return false;
296
  }
297
 
298
+ function get_invitable_friend_count( $user_id, $group_id ) {
299
 
300
  // Setup some data we'll use below
301
  $is_group_admin = BP_Groups_Member::check_is_admin( $user_id, $group_id );
322
  return $invitable_count;
323
  }
324
 
325
+ function get_user_ids_for_friendship( $friendship_id ) {
326
  global $wpdb, $bp;
327
 
328
  return $wpdb->get_row( $wpdb->prepare( "SELECT friend_user_id, initiator_user_id FROM {$bp->friends->table_name} WHERE id = %d", $friendship_id ) );
329
  }
330
 
331
+ function delete_all_for_user( $user_id ) {
332
  global $wpdb, $bp;
333
 
334
  // Get friends of $user_id
bp-groups/bp-groups-cache.php CHANGED
@@ -96,7 +96,7 @@ add_action( 'groups_settings_updated', 'bp_core_clear_cache' );
96
  add_action( 'groups_unban_member', 'bp_core_clear_cache' );
97
  add_action( 'groups_ban_member', 'bp_core_clear_cache' );
98
  add_action( 'groups_demote_member', 'bp_core_clear_cache' );
99
- add_action( 'groups_premote_member', 'bp_core_clear_cache' );
100
  add_action( 'groups_membership_rejected', 'bp_core_clear_cache' );
101
  add_action( 'groups_membership_accepted', 'bp_core_clear_cache' );
102
  add_action( 'groups_membership_requested', 'bp_core_clear_cache' );
96
  add_action( 'groups_unban_member', 'bp_core_clear_cache' );
97
  add_action( 'groups_ban_member', 'bp_core_clear_cache' );
98
  add_action( 'groups_demote_member', 'bp_core_clear_cache' );
99
+ add_action( 'groups_promote_member', 'bp_core_clear_cache' );
100
  add_action( 'groups_membership_rejected', 'bp_core_clear_cache' );
101
  add_action( 'groups_membership_accepted', 'bp_core_clear_cache' );
102
  add_action( 'groups_membership_requested', 'bp_core_clear_cache' );
bp-groups/bp-groups-classes.php CHANGED
@@ -48,14 +48,14 @@ class BP_Groups_Group {
48
  */
49
  public $user_has_access;
50
 
51
- public function __construct( $id = null ) {
52
  if ( !empty( $id ) ) {
53
  $this->id = $id;
54
  $this->populate();
55
  }
56
  }
57
 
58
- private function populate() {
59
  global $wpdb, $bp;
60
 
61
  if ( $group = $wpdb->get_row( $wpdb->prepare( "SELECT g.* FROM {$bp->groups->table_name} g WHERE g.id = %d", $this->id ) ) ) {
@@ -94,7 +94,7 @@ class BP_Groups_Group {
94
  }
95
  }
96
 
97
- public function save() {
98
  global $wpdb, $bp;
99
 
100
  $this->creator_id = apply_filters( 'groups_group_creator_id_before_save', $this->creator_id, $this->id );
@@ -165,7 +165,7 @@ class BP_Groups_Group {
165
  return true;
166
  }
167
 
168
- public function delete() {
169
  global $wpdb, $bp;
170
 
171
  // Delete groupmeta for the group
@@ -194,7 +194,7 @@ class BP_Groups_Group {
194
 
195
  /** Static Methods ********************************************************/
196
 
197
- public static function group_exists( $slug, $table_name = false ) {
198
  global $wpdb, $bp;
199
 
200
  if ( empty( $table_name ) )
@@ -206,7 +206,7 @@ class BP_Groups_Group {
206
  return $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$table_name} WHERE slug = %s", $slug ) );
207
  }
208
 
209
- public static function get_id_from_slug( $slug ) {
210
  return BP_Groups_Group::group_exists( $slug );
211
  }
212
 
@@ -215,7 +215,7 @@ class BP_Groups_Group {
215
  return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d and is_confirmed = 0 AND inviter_id = %d", $group_id, $user_id ) );
216
  }
217
 
218
- public static function filter_user_groups( $filter, $user_id = 0, $order = false, $limit = null, $page = null ) {
219
  global $wpdb, $bp;
220
 
221
  if ( empty( $user_id ) )
@@ -240,7 +240,7 @@ class BP_Groups_Group {
240
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
241
  }
242
 
243
- public static function search_groups( $filter, $limit = null, $page = null, $sort_by = false, $order = false ) {
244
  global $wpdb, $bp;
245
 
246
  $filter = like_escape( $wpdb->escape( $filter ) );
@@ -263,19 +263,19 @@ class BP_Groups_Group {
263
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
264
  }
265
 
266
- public static function check_slug( $slug ) {
267
  global $wpdb, $bp;
268
 
269
  return $wpdb->get_var( $wpdb->prepare( "SELECT slug FROM {$bp->groups->table_name} WHERE slug = %s", $slug ) );
270
  }
271
 
272
- public static function get_slug( $group_id ) {
273
  global $wpdb, $bp;
274
 
275
  return $wpdb->get_var( $wpdb->prepare( "SELECT slug FROM {$bp->groups->table_name} WHERE id = %d", $group_id ) );
276
  }
277
 
278
- public static function has_members( $group_id ) {
279
  global $wpdb, $bp;
280
 
281
  $members = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->groups->table_name_members} WHERE group_id = %d", $group_id ) );
@@ -286,13 +286,13 @@ class BP_Groups_Group {
286
  return true;
287
  }
288
 
289
- public static function has_membership_requests( $group_id ) {
290
  global $wpdb, $bp;
291
 
292
  return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 0", $group_id ) );
293
  }
294
 
295
- public static function get_membership_requests( $group_id, $limit = null, $page = null ) {
296
  global $wpdb, $bp;
297
 
298
  if ( !empty( $limit ) && !empty( $page ) ) {
@@ -305,7 +305,7 @@ class BP_Groups_Group {
305
  return array( 'requests' => $paged_requests, 'total' => $total_requests );
306
  }
307
 
308
- public static function get( $type = 'newest', $per_page = null, $page = null, $user_id = 0, $search_terms = false, $include = false, $populate_extras = true, $exclude = false, $show_hidden = false ) {
309
  global $wpdb, $bp;
310
 
311
  $sql = array();
@@ -430,7 +430,7 @@ class BP_Groups_Group {
430
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
431
  }
432
 
433
- public static function get_by_most_forum_topics( $limit = null, $page = null, $user_id = 0, $search_terms = false, $populate_extras = true, $exclude = false ) {
434
  global $wpdb, $bp, $bbdb;
435
 
436
  if ( empty( $bbdb ) )
@@ -471,7 +471,7 @@ class BP_Groups_Group {
471
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
472
  }
473
 
474
- public static function get_by_most_forum_posts( $limit = null, $page = null, $search_terms = false, $populate_extras = true, $exclude = false ) {
475
  global $wpdb, $bp, $bbdb;
476
 
477
  if ( empty( $bbdb ) )
@@ -512,7 +512,7 @@ class BP_Groups_Group {
512
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
513
  }
514
 
515
- public static function get_by_letter( $letter, $limit = null, $page = null, $populate_extras = true, $exclude = false ) {
516
  global $wpdb, $bp;
517
 
518
  // Multibyte compliance
@@ -552,7 +552,7 @@ class BP_Groups_Group {
552
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
553
  }
554
 
555
- public static function get_random( $limit = null, $page = null, $user_id = 0, $search_terms = false, $populate_extras = true, $exclude = false ) {
556
  global $wpdb, $bp;
557
 
558
  $pag_sql = $hidden_sql = $search_sql = $exclude_sql = '';
@@ -591,7 +591,7 @@ class BP_Groups_Group {
591
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
592
  }
593
 
594
- public static function get_group_extras( &$paged_groups, &$group_ids, $type = false ) {
595
  global $bp, $wpdb;
596
 
597
  if ( empty( $group_ids ) )
@@ -623,13 +623,13 @@ class BP_Groups_Group {
623
  return $paged_groups;
624
  }
625
 
626
- public static function delete_all_invites( $group_id ) {
627
  global $wpdb, $bp;
628
 
629
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE group_id = %d AND invite_sent = 1", $group_id ) );
630
  }
631
 
632
- public static function get_total_group_count() {
633
  global $wpdb, $bp;
634
 
635
  $hidden_sql = '';
@@ -639,18 +639,35 @@ class BP_Groups_Group {
639
  return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->groups->table_name} {$hidden_sql}" ) );
640
  }
641
 
642
- public static function get_global_forum_topic_count( $type ) {
643
  global $bbdb, $wpdb, $bp;
644
 
645
  if ( 'unreplied' == $type )
646
  $bp->groups->filter_sql = ' AND t.topic_posts = 1';
647
 
648
- $extra_sql = apply_filters( 'groups_total_public_forum_topic_count', $bp->groups->filter_sql, $type );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
649
 
650
  return $wpdb->get_var( "SELECT COUNT(t.topic_id) FROM {$bbdb->topics} AS t, {$bp->groups->table_name} AS g LEFT JOIN {$bp->groups->table_name_groupmeta} AS gm ON g.id = gm.group_id WHERE (gm.meta_key = 'forum_id' AND gm.meta_value = t.forum_id) AND g.status = 'public' AND t.topic_status = '0' AND t.topic_sticky != '2' {$extra_sql} " );
651
  }
652
 
653
- public static function get_total_member_count( $group_id ) {
654
  global $wpdb, $bp;
655
 
656
  return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 1 AND is_banned = 0", $group_id ) );
@@ -665,7 +682,7 @@ class BP_Groups_Group {
665
  * @param str $status 'public', 'private', 'hidden', 'all' Which group types to count
666
  * @return int The topic count
667
  */
668
- public static function get_global_topic_count( $status = 'public', $search_terms = false ) {
669
  global $bbdb, $wpdb, $bp;
670
 
671
  switch ( $status ) {
@@ -719,8 +736,8 @@ class BP_Groups_Member {
719
  var $invite_sent;
720
  var $user;
721
 
722
- public function __construct( $user_id = 0, $group_id = 0, $id = false, $populate = true ) {
723
-
724
  // User and group are not empty, and ID is
725
  if ( !empty( $user_id ) && !empty( $group_id ) && empty( $id ) ) {
726
  $this->user_id = $user_id;
@@ -741,7 +758,7 @@ class BP_Groups_Member {
741
  }
742
  }
743
 
744
- private function populate() {
745
  global $wpdb, $bp;
746
 
747
  if ( $this->user_id && $this->group_id && !$this->id )
@@ -770,7 +787,7 @@ class BP_Groups_Member {
770
  }
771
  }
772
 
773
- public function save() {
774
  global $wpdb, $bp;
775
 
776
  $this->user_id = apply_filters( 'groups_member_user_id_before_save', $this->user_id, $this->id );
@@ -808,7 +825,7 @@ class BP_Groups_Member {
808
  return true;
809
  }
810
 
811
- public function promote( $status = 'mod' ) {
812
  if ( 'mod' == $status ) {
813
  $this->is_admin = 0;
814
  $this->is_mod = 1;
@@ -824,7 +841,7 @@ class BP_Groups_Member {
824
  return $this->save();
825
  }
826
 
827
- public function demote() {
828
  $this->is_mod = 0;
829
  $this->is_admin = 0;
830
  $this->user_title = false;
@@ -832,7 +849,7 @@ class BP_Groups_Member {
832
  return $this->save();
833
  }
834
 
835
- public function ban() {
836
 
837
  if ( !empty( $this->is_admin ) )
838
  return false;
@@ -849,7 +866,7 @@ class BP_Groups_Member {
849
  return $this->save();
850
  }
851
 
852
- public function unban() {
853
 
854
  if ( !empty( $this->is_admin ) )
855
  return false;
@@ -862,7 +879,7 @@ class BP_Groups_Member {
862
  return $this->save();
863
  }
864
 
865
- public function accept_invite() {
866
 
867
  $this->inviter_id = 0;
868
  $this->is_confirmed = 1;
@@ -871,7 +888,7 @@ class BP_Groups_Member {
871
  bp_update_user_meta( $this->user_id, 'total_group_count', (int) bp_get_user_meta( $this->user_id, 'total_group_count', true ) + 1 );
872
  }
873
 
874
- public function accept_request() {
875
 
876
  $this->is_confirmed = 1;
877
  $this->date_modified = bp_core_current_time();
@@ -879,7 +896,7 @@ class BP_Groups_Member {
879
  bp_update_user_meta( $this->user_id, 'total_group_count', (int) bp_get_user_meta( $this->user_id, 'total_group_count', true ) + 1 );
880
  }
881
 
882
- public function remove() {
883
  global $wpdb, $bp;
884
 
885
  $sql = $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d", $this->user_id, $this->group_id );
@@ -898,13 +915,13 @@ class BP_Groups_Member {
898
 
899
  /** Static Methods ********************************************************/
900
 
901
- public static function delete( $user_id, $group_id ) {
902
  global $wpdb, $bp;
903
 
904
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d", $user_id, $group_id ) );
905
  }
906
 
907
- public static function get_group_ids( $user_id, $limit = false, $page = false ) {
908
  global $wpdb, $bp;
909
 
910
  $pag_sql = '';
@@ -925,7 +942,7 @@ class BP_Groups_Member {
925
  return array( 'groups' => $groups, 'total' => (int) $total_groups );
926
  }
927
 
928
- public static function get_recently_joined( $user_id, $limit = false, $page = false, $filter = false ) {
929
  global $wpdb, $bp;
930
 
931
  $pag_sql = $hidden_sql = $filter_sql = '';
@@ -947,7 +964,7 @@ class BP_Groups_Member {
947
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
948
  }
949
 
950
- public static function get_is_admin_of( $user_id, $limit = false, $page = false, $filter = false ) {
951
  global $wpdb, $bp;
952
 
953
  $pag_sql = $hidden_sql = $filter_sql = '';
@@ -969,7 +986,7 @@ class BP_Groups_Member {
969
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
970
  }
971
 
972
- public static function get_is_mod_of( $user_id, $limit = false, $page = false, $filter = false ) {
973
  global $wpdb, $bp;
974
 
975
  $pag_sql = $hidden_sql = $filter_sql = '';
@@ -991,7 +1008,7 @@ class BP_Groups_Member {
991
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
992
  }
993
 
994
- public static function total_group_count( $user_id = 0 ) {
995
  global $bp, $wpdb;
996
 
997
  if ( empty( $user_id ) )
@@ -1004,7 +1021,7 @@ class BP_Groups_Member {
1004
  }
1005
  }
1006
 
1007
- public static function get_invites( $user_id, $limit = false, $page = false, $exclude = false ) {
1008
  global $wpdb, $bp;
1009
 
1010
  $pag_sql = ( !empty( $limit ) && !empty( $page ) ) ? $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ) : '';
@@ -1017,7 +1034,7 @@ class BP_Groups_Member {
1017
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
1018
  }
1019
 
1020
- public static function check_has_invite( $user_id, $group_id, $type = 'sent' ) {
1021
  global $wpdb, $bp;
1022
 
1023
  if ( empty( $user_id ) )
@@ -1031,7 +1048,7 @@ class BP_Groups_Member {
1031
  return $wpdb->get_var( $wpdb->prepare( $sql, $user_id, $group_id ) );
1032
  }
1033
 
1034
- public static function delete_invite( $user_id, $group_id ) {
1035
  global $wpdb, $bp;
1036
 
1037
  if ( empty( $user_id ) )
@@ -1040,7 +1057,7 @@ class BP_Groups_Member {
1040
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 0 AND inviter_id != 0 AND invite_sent = 1", $user_id, $group_id ) );
1041
  }
1042
 
1043
- public static function delete_request( $user_id, $group_id ) {
1044
  global $wpdb, $bp;
1045
 
1046
  if ( empty( $user_id ) )
@@ -1049,7 +1066,7 @@ class BP_Groups_Member {
1049
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 0 AND inviter_id = 0 AND invite_sent = 0", $user_id, $group_id ) );
1050
  }
1051
 
1052
- public static function check_is_admin( $user_id, $group_id ) {
1053
  global $wpdb, $bp;
1054
 
1055
  if ( empty( $user_id ) )
@@ -1058,7 +1075,7 @@ class BP_Groups_Member {
1058
  return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_admin = 1 AND is_banned = 0", $user_id, $group_id ) );
1059
  }
1060
 
1061
- public static function check_is_mod( $user_id, $group_id ) {
1062
  global $wpdb, $bp;
1063
 
1064
  if ( empty( $user_id ) )
@@ -1067,7 +1084,7 @@ class BP_Groups_Member {
1067
  return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_mod = 1 AND is_banned = 0", $user_id, $group_id ) );
1068
  }
1069
 
1070
- public static function check_is_member( $user_id, $group_id ) {
1071
  global $wpdb, $bp;
1072
 
1073
  if ( empty( $user_id ) )
@@ -1076,7 +1093,7 @@ class BP_Groups_Member {
1076
  return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 1 AND is_banned = 0", $user_id, $group_id ) );
1077
  }
1078
 
1079
- public static function check_is_banned( $user_id, $group_id ) {
1080
  global $wpdb, $bp;
1081
 
1082
  if ( empty( $user_id ) )
@@ -1094,7 +1111,7 @@ class BP_Groups_Member {
1094
  * @param int $group_id
1095
  * @since 1.2.6
1096
  */
1097
- public static function check_is_creator( $user_id, $group_id ) {
1098
  global $bp, $wpdb;
1099
 
1100
  if ( empty( $user_id ) )
@@ -1103,7 +1120,7 @@ class BP_Groups_Member {
1103
  return $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name} WHERE creator_id = %d AND id = %d", $user_id, $group_id ) );
1104
  }
1105
 
1106
- public static function check_for_membership_request( $user_id, $group_id ) {
1107
  global $wpdb, $bp;
1108
 
1109
  if ( empty( $user_id ) )
@@ -1112,7 +1129,7 @@ class BP_Groups_Member {
1112
  return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 0 AND is_banned = 0 AND inviter_id = 0", $user_id, $group_id ) );
1113
  }
1114
 
1115
- public static function get_random_groups( $user_id, $total_groups = 5 ) {
1116
  global $wpdb, $bp;
1117
 
1118
  // If the user is logged in and viewing their random groups, we can show hidden and private groups
@@ -1123,31 +1140,31 @@ class BP_Groups_Member {
1123
  }
1124
  }
1125
 
1126
- public static function get_group_member_ids( $group_id ) {
1127
  global $bp, $wpdb;
1128
 
1129
  return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 1 AND is_banned = 0", $group_id ) );
1130
  }
1131
 
1132
- public static function get_group_administrator_ids( $group_id ) {
1133
  global $bp, $wpdb;
1134
 
1135
  return $wpdb->get_results( $wpdb->prepare( "SELECT user_id, date_modified FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_admin = 1 AND is_banned = 0", $group_id ) );
1136
  }
1137
 
1138
- public static function get_group_moderator_ids( $group_id ) {
1139
  global $bp, $wpdb;
1140
 
1141
  return $wpdb->get_results( $wpdb->prepare( "SELECT user_id, date_modified FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_mod = 1 AND is_banned = 0", $group_id ) );
1142
  }
1143
 
1144
- public static function get_all_membership_request_user_ids( $group_id ) {
1145
  global $bp, $wpdb;
1146
 
1147
  return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 0 AND inviter_id = 0", $group_id ) );
1148
  }
1149
 
1150
- public static function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false ) {
1151
  global $bp, $wpdb;
1152
 
1153
  $pag_sql = '';
@@ -1199,7 +1216,7 @@ class BP_Groups_Member {
1199
  return array( 'members' => $members, 'count' => $total_member_count );
1200
  }
1201
 
1202
- public static function delete_all( $group_id ) {
1203
  global $wpdb, $bp;
1204
 
1205
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE group_id = %d", $group_id ) );
@@ -1214,7 +1231,7 @@ class BP_Groups_Member {
1214
  * @since 1.0
1215
  * @uses BP_Groups_Member
1216
  */
1217
- public static function delete_all_for_user( $user_id ) {
1218
  global $bp, $wpdb;
1219
 
1220
  // Get all the group ids for the current user's groups and update counts
48
  */
49
  public $user_has_access;
50
 
51
+ function __construct( $id = null ) {
52
  if ( !empty( $id ) ) {
53
  $this->id = $id;
54
  $this->populate();
55
  }
56
  }
57
 
58
+ function populate() {
59
  global $wpdb, $bp;
60
 
61
  if ( $group = $wpdb->get_row( $wpdb->prepare( "SELECT g.* FROM {$bp->groups->table_name} g WHERE g.id = %d", $this->id ) ) ) {
94
  }
95
  }
96
 
97
+ function save() {
98
  global $wpdb, $bp;
99
 
100
  $this->creator_id = apply_filters( 'groups_group_creator_id_before_save', $this->creator_id, $this->id );
165
  return true;
166
  }
167
 
168
+ function delete() {
169
  global $wpdb, $bp;
170
 
171
  // Delete groupmeta for the group
194
 
195
  /** Static Methods ********************************************************/
196
 
197
+ function group_exists( $slug, $table_name = false ) {
198
  global $wpdb, $bp;
199
 
200
  if ( empty( $table_name ) )
206
  return $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$table_name} WHERE slug = %s", $slug ) );
207
  }
208
 
209
+ function get_id_from_slug( $slug ) {
210
  return BP_Groups_Group::group_exists( $slug );
211
  }
212
 
215
  return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d and is_confirmed = 0 AND inviter_id = %d", $group_id, $user_id ) );
216
  }
217
 
218
+ function filter_user_groups( $filter, $user_id = 0, $order = false, $limit = null, $page = null ) {
219
  global $wpdb, $bp;
220
 
221
  if ( empty( $user_id ) )
240
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
241
  }
242
 
243
+ function search_groups( $filter, $limit = null, $page = null, $sort_by = false, $order = false ) {
244
  global $wpdb, $bp;
245
 
246
  $filter = like_escape( $wpdb->escape( $filter ) );
263
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
264
  }
265
 
266
+ function check_slug( $slug ) {
267
  global $wpdb, $bp;
268
 
269
  return $wpdb->get_var( $wpdb->prepare( "SELECT slug FROM {$bp->groups->table_name} WHERE slug = %s", $slug ) );
270
  }
271
 
272
+ function get_slug( $group_id ) {
273
  global $wpdb, $bp;
274
 
275
  return $wpdb->get_var( $wpdb->prepare( "SELECT slug FROM {$bp->groups->table_name} WHERE id = %d", $group_id ) );
276
  }
277
 
278
+ function has_members( $group_id ) {
279
  global $wpdb, $bp;
280
 
281
  $members = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->groups->table_name_members} WHERE group_id = %d", $group_id ) );
286
  return true;
287
  }
288
 
289
+ function has_membership_requests( $group_id ) {
290
  global $wpdb, $bp;
291
 
292
  return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 0", $group_id ) );
293
  }
294
 
295
+ function get_membership_requests( $group_id, $limit = null, $page = null ) {
296
  global $wpdb, $bp;
297
 
298
  if ( !empty( $limit ) && !empty( $page ) ) {
305
  return array( 'requests' => $paged_requests, 'total' => $total_requests );
306
  }
307
 
308
+ function get( $type = 'newest', $per_page = null, $page = null, $user_id = 0, $search_terms = false, $include = false, $populate_extras = true, $exclude = false, $show_hidden = false ) {
309
  global $wpdb, $bp;
310
 
311
  $sql = array();
430
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
431
  }
432
 
433
+ function get_by_most_forum_topics( $limit = null, $page = null, $user_id = 0, $search_terms = false, $populate_extras = true, $exclude = false ) {
434
  global $wpdb, $bp, $bbdb;
435
 
436
  if ( empty( $bbdb ) )
471
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
472
  }
473
 
474
+ function get_by_most_forum_posts( $limit = null, $page = null, $search_terms = false, $populate_extras = true, $exclude = false ) {
475
  global $wpdb, $bp, $bbdb;
476
 
477
  if ( empty( $bbdb ) )
512
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
513
  }
514
 
515
+ function get_by_letter( $letter, $limit = null, $page = null, $populate_extras = true, $exclude = false ) {
516
  global $wpdb, $bp;
517
 
518
  // Multibyte compliance
552
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
553
  }
554
 
555
+ function get_random( $limit = null, $page = null, $user_id = 0, $search_terms = false, $populate_extras = true, $exclude = false ) {
556
  global $wpdb, $bp;
557
 
558
  $pag_sql = $hidden_sql = $search_sql = $exclude_sql = '';
591
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
592
  }
593
 
594
+ function get_group_extras( &$paged_groups, &$group_ids, $type = false ) {
595
  global $bp, $wpdb;
596
 
597
  if ( empty( $group_ids ) )
623
  return $paged_groups;
624
  }
625
 
626
+ function delete_all_invites( $group_id ) {
627
  global $wpdb, $bp;
628
 
629
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE group_id = %d AND invite_sent = 1", $group_id ) );
630
  }
631
 
632
+ function get_total_group_count() {
633
  global $wpdb, $bp;
634
 
635
  $hidden_sql = '';
639
  return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->groups->table_name} {$hidden_sql}" ) );
640
  }
641
 
642
+ function get_global_forum_topic_count( $type ) {
643
  global $bbdb, $wpdb, $bp;
644
 
645
  if ( 'unreplied' == $type )
646
  $bp->groups->filter_sql = ' AND t.topic_posts = 1';
647
 
648
+ /**
649
+ * Provide backward-compatibility for the groups_total_public_forum_topic_count SQL filter.
650
+ * Developers: DO NOT use this filter. It will be removed in BP 1.7. Instead, use
651
+ * get_global_forum_topic_count_extra_sql. See https://buddypress.trac.wordpress.org/ticket/4306
652
+ */
653
+ $maybe_extra_sql = apply_filters( 'groups_total_public_forum_topic_count', $bp->groups->filter_sql, $type );
654
+
655
+ if ( is_int( $maybe_extra_sql ) )
656
+ $extra_sql = $bp->groups->filter_sql;
657
+ else
658
+ $extra_sql = $maybe_extra_sql;
659
+
660
+ // Developers: use this filter instead
661
+ $extra_sql = apply_filters( 'get_global_forum_topic_count_extra_sql', $bp->groups->filter_sql, $type );
662
+
663
+ // Make sure the $extra_sql begins with an AND
664
+ if ( 'AND' != substr( trim( strtoupper( $extra_sql ) ), 0, 3 ) )
665
+ $extra_sql = ' AND ' . $extra_sql;
666
 
667
  return $wpdb->get_var( "SELECT COUNT(t.topic_id) FROM {$bbdb->topics} AS t, {$bp->groups->table_name} AS g LEFT JOIN {$bp->groups->table_name_groupmeta} AS gm ON g.id = gm.group_id WHERE (gm.meta_key = 'forum_id' AND gm.meta_value = t.forum_id) AND g.status = 'public' AND t.topic_status = '0' AND t.topic_sticky != '2' {$extra_sql} " );
668
  }
669
 
670
+ function get_total_member_count( $group_id ) {
671
  global $wpdb, $bp;
672
 
673
  return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(id) FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 1 AND is_banned = 0", $group_id ) );
682
  * @param str $status 'public', 'private', 'hidden', 'all' Which group types to count
683
  * @return int The topic count
684
  */
685
+ function get_global_topic_count( $status = 'public', $search_terms = false ) {
686
  global $bbdb, $wpdb, $bp;
687
 
688
  switch ( $status ) {
736
  var $invite_sent;
737
  var $user;
738
 
739
+ function __construct( $user_id = 0, $group_id = 0, $id = false, $populate = true ) {
740
+
741
  // User and group are not empty, and ID is
742
  if ( !empty( $user_id ) && !empty( $group_id ) && empty( $id ) ) {
743
  $this->user_id = $user_id;
758
  }
759
  }
760
 
761
+ function populate() {
762
  global $wpdb, $bp;
763
 
764
  if ( $this->user_id && $this->group_id && !$this->id )
787
  }
788
  }
789
 
790
+ function save() {
791
  global $wpdb, $bp;
792
 
793
  $this->user_id = apply_filters( 'groups_member_user_id_before_save', $this->user_id, $this->id );
825
  return true;
826
  }
827
 
828
+ function promote( $status = 'mod' ) {
829
  if ( 'mod' == $status ) {
830
  $this->is_admin = 0;
831
  $this->is_mod = 1;
841
  return $this->save();
842
  }
843
 
844
+ function demote() {
845
  $this->is_mod = 0;
846
  $this->is_admin = 0;
847
  $this->user_title = false;
849
  return $this->save();
850
  }
851
 
852
+ function ban() {
853
 
854
  if ( !empty( $this->is_admin ) )
855
  return false;
866
  return $this->save();
867
  }
868
 
869
+ function unban() {
870
 
871
  if ( !empty( $this->is_admin ) )
872
  return false;
879
  return $this->save();
880
  }
881
 
882
+ function accept_invite() {
883
 
884
  $this->inviter_id = 0;
885
  $this->is_confirmed = 1;
888
  bp_update_user_meta( $this->user_id, 'total_group_count', (int) bp_get_user_meta( $this->user_id, 'total_group_count', true ) + 1 );
889
  }
890
 
891
+ function accept_request() {
892
 
893
  $this->is_confirmed = 1;
894
  $this->date_modified = bp_core_current_time();
896
  bp_update_user_meta( $this->user_id, 'total_group_count', (int) bp_get_user_meta( $this->user_id, 'total_group_count', true ) + 1 );
897
  }
898
 
899
+ function remove() {
900
  global $wpdb, $bp;
901
 
902
  $sql = $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d", $this->user_id, $this->group_id );
915
 
916
  /** Static Methods ********************************************************/
917
 
918
+ function delete( $user_id, $group_id ) {
919
  global $wpdb, $bp;
920
 
921
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d", $user_id, $group_id ) );
922
  }
923
 
924
+ function get_group_ids( $user_id, $limit = false, $page = false ) {
925
  global $wpdb, $bp;
926
 
927
  $pag_sql = '';
942
  return array( 'groups' => $groups, 'total' => (int) $total_groups );
943
  }
944
 
945
+ function get_recently_joined( $user_id, $limit = false, $page = false, $filter = false ) {
946
  global $wpdb, $bp;
947
 
948
  $pag_sql = $hidden_sql = $filter_sql = '';
964
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
965
  }
966
 
967
+ function get_is_admin_of( $user_id, $limit = false, $page = false, $filter = false ) {
968
  global $wpdb, $bp;
969
 
970
  $pag_sql = $hidden_sql = $filter_sql = '';
986
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
987
  }
988
 
989
+ function get_is_mod_of( $user_id, $limit = false, $page = false, $filter = false ) {
990
  global $wpdb, $bp;
991
 
992
  $pag_sql = $hidden_sql = $filter_sql = '';
1008
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
1009
  }
1010
 
1011
+ function total_group_count( $user_id = 0 ) {
1012
  global $bp, $wpdb;
1013
 
1014
  if ( empty( $user_id ) )
1021
  }
1022
  }
1023
 
1024
+ function get_invites( $user_id, $limit = false, $page = false, $exclude = false ) {
1025
  global $wpdb, $bp;
1026
 
1027
  $pag_sql = ( !empty( $limit ) && !empty( $page ) ) ? $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ) : '';
1034
  return array( 'groups' => $paged_groups, 'total' => $total_groups );
1035
  }
1036
 
1037
+ function check_has_invite( $user_id, $group_id, $type = 'sent' ) {
1038
  global $wpdb, $bp;
1039
 
1040
  if ( empty( $user_id ) )
1048
  return $wpdb->get_var( $wpdb->prepare( $sql, $user_id, $group_id ) );
1049
  }
1050
 
1051
+ function delete_invite( $user_id, $group_id ) {
1052
  global $wpdb, $bp;
1053
 
1054
  if ( empty( $user_id ) )
1057
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 0 AND inviter_id != 0 AND invite_sent = 1", $user_id, $group_id ) );
1058
  }
1059
 
1060
+ function delete_request( $user_id, $group_id ) {
1061
  global $wpdb, $bp;
1062
 
1063
  if ( empty( $user_id ) )
1066
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 0 AND inviter_id = 0 AND invite_sent = 0", $user_id, $group_id ) );
1067
  }
1068
 
1069
+ function check_is_admin( $user_id, $group_id ) {
1070
  global $wpdb, $bp;
1071
 
1072
  if ( empty( $user_id ) )
1075
  return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_admin = 1 AND is_banned = 0", $user_id, $group_id ) );
1076
  }
1077
 
1078
+ function check_is_mod( $user_id, $group_id ) {
1079
  global $wpdb, $bp;
1080
 
1081
  if ( empty( $user_id ) )
1084
  return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_mod = 1 AND is_banned = 0", $user_id, $group_id ) );
1085
  }
1086
 
1087
+ function check_is_member( $user_id, $group_id ) {
1088
  global $wpdb, $bp;
1089
 
1090
  if ( empty( $user_id ) )
1093
  return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 1 AND is_banned = 0", $user_id, $group_id ) );
1094
  }
1095
 
1096
+ function check_is_banned( $user_id, $group_id ) {
1097
  global $wpdb, $bp;
1098
 
1099
  if ( empty( $user_id ) )
1111
  * @param int $group_id
1112
  * @since 1.2.6
1113
  */
1114
+ function check_is_creator( $user_id, $group_id ) {
1115
  global $bp, $wpdb;
1116
 
1117
  if ( empty( $user_id ) )
1120
  return $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name} WHERE creator_id = %d AND id = %d", $user_id, $group_id ) );
1121
  }
1122
 
1123
+ function check_for_membership_request( $user_id, $group_id ) {
1124
  global $wpdb, $bp;
1125
 
1126
  if ( empty( $user_id ) )
1129
  return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 0 AND is_banned = 0 AND inviter_id = 0", $user_id, $group_id ) );
1130
  }
1131
 
1132
+ function get_random_groups( $user_id, $total_groups = 5 ) {
1133
  global $wpdb, $bp;
1134
 
1135
  // If the user is logged in and viewing their random groups, we can show hidden and private groups
1140
  }
1141
  }
1142
 
1143
+ function get_group_member_ids( $group_id ) {
1144
  global $bp, $wpdb;
1145
 
1146
  return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 1 AND is_banned = 0", $group_id ) );
1147
  }
1148
 
1149
+ function get_group_administrator_ids( $group_id ) {
1150
  global $bp, $wpdb;
1151
 
1152
  return $wpdb->get_results( $wpdb->prepare( "SELECT user_id, date_modified FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_admin = 1 AND is_banned = 0", $group_id ) );
1153
  }
1154
 
1155
+ function get_group_moderator_ids( $group_id ) {
1156
  global $bp, $wpdb;
1157
 
1158
  return $wpdb->get_results( $wpdb->prepare( "SELECT user_id, date_modified FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_mod = 1 AND is_banned = 0", $group_id ) );
1159
  }
1160
 
1161
+ function get_all_membership_request_user_ids( $group_id ) {
1162
  global $bp, $wpdb;
1163
 
1164
  return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 0 AND inviter_id = 0", $group_id ) );
1165
  }
1166
 
1167
+ function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false ) {
1168
  global $bp, $wpdb;
1169
 
1170
  $pag_sql = '';
1216
  return array( 'members' => $members, 'count' => $total_member_count );
1217
  }
1218
 
1219
+ function delete_all( $group_id ) {
1220
  global $wpdb, $bp;
1221
 
1222
  return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE group_id = %d", $group_id ) );
1231
  * @since 1.0
1232
  * @uses BP_Groups_Member
1233
  */
1234
+ function delete_all_for_user( $user_id ) {
1235
  global $bp, $wpdb;
1236
 
1237
  // Get all the group ids for the current user's groups and update counts
bp-groups/bp-groups-functions.php CHANGED
@@ -726,8 +726,12 @@ function groups_promote_member( $user_id, $group_id, $status ) {
726
 
727
  $member = new BP_Groups_Member( $user_id, $group_id );
728
 
 
729
  do_action( 'groups_premote_member', $group_id, $user_id, $status );
730
 
 
 
 
731
  return $member->promote( $status );
732
  }
733
 
726
 
727
  $member = new BP_Groups_Member( $user_id, $group_id );
728
 
729
+ // Don't use this action. It's deprecated as of BuddyPress 1.6.
730
  do_action( 'groups_premote_member', $group_id, $user_id, $status );
731
 
732
+ // Use this action instead.
733
+ do_action( 'groups_promote_member', $group_id, $user_id, $status );
734
+
735
  return $member->promote( $status );
736
  }
737
 
bp-groups/bp-groups-notifications.php CHANGED
@@ -224,7 +224,8 @@ function groups_notification_group_invites( &$group, &$member, $inviter_user_id
224
  return false;
225
 
226
  $invited_ud = bp_core_get_core_userdata($invited_user_id);
227
- $settings_link = bp_core_get_user_domain( $invited_user_id ) . bp_get_settings_slug() . '/notifications/';
 
228
  $invited_link = bp_core_get_user_domain( $invited_user_id );
229
  $invites_link = trailingslashit( $invited_link . bp_get_groups_slug() . '/invites' );
230
 
224
  return false;
225
 
226
  $invited_ud = bp_core_get_core_userdata($invited_user_id);
227
+ $settings_slug = function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings';
228
+ $settings_link = bp_core_get_user_domain( $invited_user_id ) . $settings_slug . '/notifications/';
229
  $invited_link = bp_core_get_user_domain( $invited_user_id );
230
  $invites_link = trailingslashit( $invited_link . bp_get_groups_slug() . '/invites' );
231
 
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-06-18 21:36:20+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -71,8 +71,8 @@ msgstr ""
71
  #. translators: Personal activity RSS title - "[Site Name] | [Displayed User
72
  #. Name] | Activity"
73
 
74
- #: bp-activity/bp-activity-admin.php:34 bp-activity/bp-activity-admin.php:824
75
- #: bp-activity/bp-activity-admin.php:1134
76
  #: bp-activity/bp-activity-loader.php:118
77
  #: bp-activity/bp-activity-loader.php:241
78
  #: bp-activity/bp-activity-screens.php:278
@@ -187,31 +187,31 @@ msgstr ""
187
  msgid "In the <strong>In Response To</strong> column, if the activity was in reply to another activity, it shows that activity's author's picture and name, and a link to that activity on your live site. If there is a small bubble, the number in it shows how many other activities are related to this one; these are usually comments. Clicking the bubble will filter the activity screen to show only related activity items."
188
  msgstr ""
189
 
190
- #: bp-activity/bp-activity-admin.php:557
191
  msgid "Editing Activity (ID #%s)"
192
  msgstr ""
193
 
194
- #: bp-activity/bp-activity-admin.php:571
195
  msgid "Action"
196
  msgstr ""
197
 
198
- #: bp-activity/bp-activity-admin.php:578
199
  msgid "Content"
200
  msgstr ""
201
 
202
- #: bp-activity/bp-activity-admin.php:596
203
  msgid "No activity found with this ID. <a href=\"%s\">Go back and try again</a>."
204
  msgstr ""
205
 
206
- #: bp-activity/bp-activity-admin.php:618
207
  msgid "View Activity"
208
  msgstr ""
209
 
210
- #: bp-activity/bp-activity-admin.php:626
211
  msgid "Approved"
212
  msgstr ""
213
 
214
- #: bp-activity/bp-activity-admin.php:627 bp-activity/bp-activity-admin.php:1269
215
  #: bp-activity/bp-activity-akismet.php:178
216
  #: bp-activity/bp-activity-akismet.php:207
217
  msgid "Spam"
@@ -219,172 +219,172 @@ msgstr ""
219
 
220
  #. translators: Publish box date format, see http:php.net/date
221
 
222
- #: bp-activity/bp-activity-admin.php:633
223
  msgid "M j, Y @ G:i"
224
  msgstr ""
225
 
226
- #: bp-activity/bp-activity-admin.php:636
227
  msgid "Submitted on: <strong>%1$s</strong>"
228
  msgstr ""
229
 
230
- #: bp-activity/bp-activity-admin.php:636 bp-activity/bp-activity-admin.php:1262
231
  #: bp-forums/bp-forums-template.php:1266 bp-themes/bp-default/functions.php:507
232
- #: bp-xprofile/bp-xprofile-admin.php:452 bp-xprofile/bp-xprofile-loader.php:172
233
  #: bp-xprofile/bp-xprofile-loader.php:230
234
  msgid "Edit"
235
  msgstr ""
236
 
237
- #: bp-activity/bp-activity-admin.php:649 bp-core/admin/bp-core-update.php:135
238
  msgid "Update"
239
  msgstr ""
240
 
241
- #: bp-activity/bp-activity-admin.php:668
242
  msgid "Link"
243
  msgstr ""
244
 
245
- #: bp-activity/bp-activity-admin.php:670
246
  msgid "Activity generated by blog posts and comments, forum topics and replies, and some plugins, uses the link field for a permalink back to the content item."
247
  msgstr ""
248
 
249
- #: bp-activity/bp-activity-admin.php:684
250
  msgid "Author ID"
251
  msgstr ""
252
 
253
- #: bp-activity/bp-activity-admin.php:736
254
  msgid "Primary Item ID"
255
  msgstr ""
256
 
257
- #: bp-activity/bp-activity-admin.php:740
258
  msgid "Secondary Item ID"
259
  msgstr ""
260
 
261
- #: bp-activity/bp-activity-admin.php:743
262
  msgid "These identify the object that created this activity. For example, the fields could reference a pair of site and comment IDs."
263
  msgstr ""
264
 
265
- #: bp-activity/bp-activity-admin.php:780
266
  msgid "%s activity has been permanently deleted."
267
  msgid_plural "%s activity items have been permanently deleted."
268
  msgstr[0] ""
269
  msgstr[1] ""
270
 
271
- #: bp-activity/bp-activity-admin.php:784
272
  msgid "An error occurred when trying to update activity ID #%s."
273
  msgstr ""
274
 
275
- #: bp-activity/bp-activity-admin.php:787
276
  msgid "Errors occurred when trying to update these activity items:"
277
  msgstr ""
278
 
279
- #: bp-activity/bp-activity-admin.php:793
280
  msgid "#%s"
281
  msgstr ""
282
 
283
- #: bp-activity/bp-activity-admin.php:802
284
  msgid "%s activity has been successfully spammed."
285
  msgid_plural "%s activity items have been successfully spammed."
286
  msgstr[0] ""
287
  msgstr[1] ""
288
 
289
- #: bp-activity/bp-activity-admin.php:805
290
  msgid "%s activity has been successfully unspammed."
291
  msgid_plural "%s activity items have been successfully unspammed."
292
  msgstr[0] ""
293
  msgstr[1] ""
294
 
295
- #: bp-activity/bp-activity-admin.php:808
296
  msgid "The activity has been updated succesfully."
297
  msgstr ""
298
 
299
- #: bp-activity/bp-activity-admin.php:822
300
  msgid "Activity related to ID #%s"
301
  msgstr ""
302
 
303
- #: bp-activity/bp-activity-admin.php:828
304
  msgid "Search results for &#8220;%s&#8221;"
305
  msgstr ""
306
 
307
- #: bp-activity/bp-activity-admin.php:841
308
  msgid "Search all Activity"
309
  msgstr ""
310
 
311
- #: bp-activity/bp-activity-admin.php:852
312
  msgid "Reply to Activity"
313
  msgstr ""
314
 
315
- #: bp-activity/bp-activity-admin.php:856
316
  #: bp-themes/bp-default/forums/index.php:134
317
  #: bp-xprofile/bp-xprofile-classes.php:404
318
  #: bp-xprofile/bp-xprofile-classes.php:914
319
  msgid "Cancel"
320
  msgstr ""
321
 
322
- #: bp-activity/bp-activity-admin.php:857 bp-activity/bp-activity-admin.php:1259
323
  #: bp-themes/bp-default/activity/comment.php:37
324
  #: bp-themes/bp-default/groups/single/forum/edit.php:10
325
  msgid "Reply"
326
  msgstr ""
327
 
328
- #: bp-activity/bp-activity-admin.php:1040
329
  msgid "No activities found."
330
  msgstr ""
331
 
332
- #: bp-activity/bp-activity-admin.php:1100
333
  #: bp-messages/bp-messages-template.php:440
334
  msgid "All"
335
  msgstr ""
336
 
337
- #: bp-activity/bp-activity-admin.php:1101
338
  msgid "Spam <span class=\"count\">(%s)</span>"
339
  msgstr ""
340
 
341
- #: bp-activity/bp-activity-admin.php:1116
342
  msgid "Mark as Spam"
343
  msgstr ""
344
 
345
- #: bp-activity/bp-activity-admin.php:1117
346
- #: bp-activity/bp-activity-admin.php:1267
347
  msgid "Not Spam"
348
  msgstr ""
349
 
350
- #: bp-activity/bp-activity-admin.php:1118
351
- #: bp-activity/bp-activity-admin.php:1272
352
  msgid "Delete Permanently"
353
  msgstr ""
354
 
355
- #: bp-activity/bp-activity-admin.php:1133
356
  msgid "Author"
357
  msgstr ""
358
 
359
- #: bp-activity/bp-activity-admin.php:1135
360
  msgid "In Response To"
361
  msgstr ""
362
 
363
- #: bp-activity/bp-activity-admin.php:1187
364
  msgid "Show all activity types"
365
  msgstr ""
366
 
367
- #: bp-activity/bp-activity-admin.php:1194
368
  msgid "Filter"
369
  msgstr ""
370
 
371
- #: bp-activity/bp-activity-admin.php:1272 bp-core/bp-core-cssjs.php:17
372
  msgid "Are you sure?"
373
  msgstr ""
374
 
375
  #. translators: 2: activity admin ui date/time
376
 
377
- #: bp-activity/bp-activity-admin.php:1281
378
  msgid "Submitted on <a href=\"%1$s\">%2$s at %3$s</a>"
379
  msgstr ""
380
 
381
- #: bp-activity/bp-activity-admin.php:1310
382
  msgid "%s related activity"
383
  msgid_plural "%s related activities"
384
  msgstr[0] ""
385
  msgstr[1] ""
386
 
387
- #: bp-activity/bp-activity-admin.php:1321
388
  msgid "<a href=\"%1$s\">View Activity</a>"
389
  msgstr ""
390
 
@@ -437,7 +437,7 @@ msgctxt "x hours ago - akismet cleared this item"
437
  msgid "<span>%1$s</span> &mdash; %2$s"
438
  msgstr ""
439
 
440
- #: bp-activity/bp-activity-classes.php:115
441
  #: bp-activity/bp-activity-template.php:120
442
  msgid "Arguments passed to %1$s should be in an associative array. See the inline documentation at %2$s for more details."
443
  msgstr ""
@@ -536,9 +536,9 @@ msgid "My Activity"
536
  msgstr ""
537
 
538
  #: bp-activity/bp-activity-loader.php:314
539
- #: bp-activity/bp-activity-template.php:967
540
- #: bp-activity/bp-activity-template.php:1087
541
- #: bp-activity/bp-activity-template.php:1097 bp-blogs/bp-blogs-loader.php:200
542
  #: bp-forums/bp-forums-loader.php:238 bp-forums/bp-forums-template.php:487
543
  #: bp-forums/bp-forums-template.php:604 bp-forums/bp-forums-template.php:1196
544
  #: bp-friends/bp-friends-loader.php:203 bp-groups/bp-groups-loader.php:557
@@ -594,7 +594,7 @@ msgstr ""
594
  #: bp-groups/bp-groups-notifications.php:92
595
  #: bp-groups/bp-groups-notifications.php:148
596
  #: bp-groups/bp-groups-notifications.php:195
597
- #: bp-groups/bp-groups-notifications.php:248
598
  #: bp-messages/bp-messages-notifications.php:60
599
  msgid "To disable these notifications please log in and go to: %s"
600
  msgstr ""
@@ -657,51 +657,51 @@ msgstr ""
657
  msgid "A member replies to an update or comment you've posted"
658
  msgstr ""
659
 
660
- #: bp-activity/bp-activity-template.php:219
661
  msgctxt "Activity pagination previous text"
662
  msgid "&larr;"
663
  msgstr ""
664
 
665
- #: bp-activity/bp-activity-template.php:220
666
  msgctxt "Activity pagination next text"
667
  msgid "&rarr;"
668
  msgstr ""
669
 
670
- #: bp-activity/bp-activity-template.php:522
671
  msgid "Viewing item %1$s to %2$s (of %3$s items)"
672
  msgstr ""
673
 
674
- #: bp-activity/bp-activity-template.php:967
675
  msgid "Profile picture"
676
  msgstr ""
677
 
678
- #: bp-activity/bp-activity-template.php:1066
679
  #: bp-groups/bp-groups-template.php:391
680
  msgid "Group logo of %s"
681
  msgstr ""
682
 
683
- #: bp-activity/bp-activity-template.php:1068
684
  msgid "Group logo"
685
  msgstr ""
686
 
687
- #: bp-activity/bp-activity-template.php:1078
688
  msgid "Profile picture of the author of the site %s"
689
  msgstr ""
690
 
691
- #: bp-activity/bp-activity-template.php:1268
692
  msgid "View Discussion"
693
  msgstr ""
694
 
695
- #: bp-activity/bp-activity-template.php:2062
696
  #: bp-forums/bp-forums-template.php:1267 bp-groups/bp-groups-template.php:1294
697
  #: bp-themes/bp-default/activity/comment.php:43
698
  #: bp-themes/bp-default/members/single/messages/messages-loop.php:51
699
  #: bp-themes/bp-default/members/single/messages/single.php:24
700
- #: bp-xprofile/bp-xprofile-admin.php:456
701
  msgid "Delete"
702
  msgstr ""
703
 
704
- #: bp-activity/bp-activity-template.php:2109
705
  #: bp-core/admin/bp-core-slugs.php:112 bp-core/admin/bp-core-slugs.php:173
706
  #: bp-members/bp-members-template.php:582
707
  #: bp-themes/bp-default/activity/entry.php:37
@@ -710,23 +710,23 @@ msgstr ""
710
  msgid "View"
711
  msgstr ""
712
 
713
- #: bp-activity/bp-activity-template.php:2203
714
  msgid "Clear Filter"
715
  msgstr ""
716
 
717
- #: bp-activity/bp-activity-template.php:2386
718
  msgid "a user"
719
  msgstr ""
720
 
721
- #: bp-activity/bp-activity-template.php:2426
722
  msgid "Send a public message on your activity stream."
723
  msgstr ""
724
 
725
- #: bp-activity/bp-activity-template.php:2427
726
  msgid "Public Message"
727
  msgstr ""
728
 
729
- #: bp-activity/bp-activity-template.php:2734
730
  msgid "Site Wide Activity RSS Feed"
731
  msgstr ""
732
 
@@ -1024,7 +1024,7 @@ msgid "Max posts to show:"
1024
  msgstr ""
1025
 
1026
  #: bp-core/admin/bp-core-components.php:26
1027
- #: bp-core/admin/bp-core-functions.php:356 bp-core/admin/bp-core-update.php:57
1028
  #: bp-core/admin/bp-core-update.php:69 bp-core/admin/bp-core-update.php:201
1029
  msgid "Components"
1030
  msgstr ""
@@ -1193,36 +1193,35 @@ msgstr ""
1193
  msgid "Register"
1194
  msgstr ""
1195
 
1196
- #: bp-core/admin/bp-core-functions.php:295
1197
  msgid "The following active BuddyPress Components do not have associated WordPress Pages: %2$s. <a href=\"%1$s\" class=\"button-secondary\">Repair</a>"
1198
  msgstr ""
1199
 
1200
- #: bp-core/admin/bp-core-functions.php:320
1201
  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>"
1202
  msgstr ""
1203
 
1204
- #: bp-core/admin/bp-core-functions.php:333
1205
  msgid "IMPORTANT: <a href=\"http://codex.buddypress.org/buddypress-site-administration/upgrading-buddypress/\">Read this before attempting to update BuddyPress</a>"
1206
  msgstr ""
1207
 
1208
- #: bp-core/admin/bp-core-functions.php:360
1209
- #: bp-core/admin/bp-core-settings.php:341 bp-core/admin/bp-core-slugs.php:26
1210
  #: bp-core/admin/bp-core-update.php:58 bp-core/admin/bp-core-update.php:70
1211
  #: bp-core/admin/bp-core-update.php:205
1212
  msgid "Pages"
1213
  msgstr ""
1214
 
1215
- #: bp-core/admin/bp-core-functions.php:364
1216
- #: bp-core/admin/bp-core-settings.php:249 bp-core/bp-core-admin.php:368
1217
  #: bp-groups/bp-groups-loader.php:298 bp-groups/bp-groups-template.php:1276
1218
  #: bp-settings/bp-settings-loader.php:23 bp-settings/bp-settings-loader.php:78
1219
  #: bp-settings/bp-settings-loader.php:169
1220
  msgid "Settings"
1221
  msgstr ""
1222
 
1223
- #: bp-core/admin/bp-core-functions.php:372 bp-core/admin/bp-core-update.php:409
1224
  #: bp-core/bp-core-template.php:266 bp-forums/bp-forums-admin.php:14
1225
- #: bp-forums/bp-forums-admin.php:29 bp-forums/bp-forums-admin.php:276
1226
  #: bp-forums/bp-forums-loader.php:111 bp-forums/bp-forums-loader.php:190
1227
  #: bp-forums/bp-forums-loader.php:233 bp-forums/deprecated/1.6.php:24
1228
  msgid "Forums"
@@ -1239,54 +1238,58 @@ msgid "Name"
1239
  msgstr ""
1240
 
1241
  #: bp-core/admin/bp-core-settings.php:31
1242
- msgid "Show the admin bar for logged out users"
1243
  msgstr ""
1244
 
1245
  #: bp-core/admin/bp-core-settings.php:47
1246
  msgid "Allow registered members to delete their own accounts"
1247
  msgstr ""
1248
 
1249
- #: bp-core/admin/bp-core-settings.php:72
 
 
 
 
1250
  msgid "Allow Akismet to scan for activity stream spam"
1251
  msgstr ""
1252
 
1253
- #: bp-core/admin/bp-core-settings.php:86
1254
  msgid "Allow activity stream commenting on blog and forum posts"
1255
  msgstr ""
1256
 
1257
- #: bp-core/admin/bp-core-settings.php:111
1258
  msgid "Enable BuddyPress to WordPress profile syncing"
1259
  msgstr ""
1260
 
1261
- #: bp-core/admin/bp-core-settings.php:127
1262
  msgid "Allow registered members to upload avatars"
1263
  msgstr ""
1264
 
1265
- #: bp-core/admin/bp-core-settings.php:152
1266
  msgid "Enable group creation for all users"
1267
  msgstr ""
1268
 
1269
- #: bp-core/admin/bp-core-settings.php:153
1270
  msgid "Administrators can always create groups, regardless of this setting."
1271
  msgstr ""
1272
 
1273
- #: bp-core/admin/bp-core-settings.php:184
1274
  msgid "Attempt to save a new config file."
1275
  msgstr ""
1276
 
1277
- #: bp-core/admin/bp-core-settings.php:184
1278
  msgid "Repair"
1279
  msgstr ""
1280
 
1281
- #: bp-core/admin/bp-core-settings.php:185
1282
  msgid "File does not exist"
1283
  msgstr ""
1284
 
1285
- #: bp-core/admin/bp-core-settings.php:189
1286
  msgid "Absolute path to your bbPress configuration file."
1287
  msgstr ""
1288
 
1289
- #: bp-core/admin/bp-core-settings.php:258
1290
  #: bp-themes/bp-default/groups/single/admin.php:32
1291
  #: bp-themes/bp-default/groups/single/admin.php:117
1292
  #: bp-themes/bp-default/groups/single/forum/edit.php:58
@@ -1298,73 +1301,6 @@ msgstr ""
1298
  msgid "Save Changes"
1299
  msgstr ""
1300
 
1301
- #: bp-core/admin/bp-core-settings.php:340 bp-core/bp-core-template.php:268
1302
- #: bp-themes/bp-default/activity/index.php:99
1303
- #: bp-themes/bp-default/forums/forums-loop.php:40
1304
- #: bp-themes/bp-default/members/single/activity.php:27
1305
- msgid "Posts"
1306
- msgstr ""
1307
-
1308
- #: bp-core/admin/bp-core-settings.php:342
1309
- msgid "Revisions"
1310
- msgstr ""
1311
-
1312
- #: bp-core/admin/bp-core-settings.php:343
1313
- msgid "Attachments"
1314
- msgstr ""
1315
-
1316
- #: bp-core/admin/bp-core-settings.php:344
1317
- msgid "Menus"
1318
- msgstr ""
1319
-
1320
- #: bp-core/admin/bp-core-settings.php:347
1321
- msgid "Tag base"
1322
- msgstr ""
1323
-
1324
- #: bp-core/admin/bp-core-settings.php:350
1325
- msgid "Category base"
1326
- msgstr ""
1327
-
1328
- #: bp-core/admin/bp-core-settings.php:359
1329
- msgid "Forums base"
1330
- msgstr ""
1331
-
1332
- #: bp-core/admin/bp-core-settings.php:362
1333
- msgid "Topics base"
1334
- msgstr ""
1335
-
1336
- #: bp-core/admin/bp-core-settings.php:365
1337
- msgid "Forum slug"
1338
- msgstr ""
1339
-
1340
- #: bp-core/admin/bp-core-settings.php:368
1341
- msgid "Topic slug"
1342
- msgstr ""
1343
-
1344
- #: bp-core/admin/bp-core-settings.php:371
1345
- msgid "Reply slug"
1346
- msgstr ""
1347
-
1348
- #: bp-core/admin/bp-core-settings.php:374
1349
- msgid "User base"
1350
- msgstr ""
1351
-
1352
- #: bp-core/admin/bp-core-settings.php:377
1353
- msgid "View base"
1354
- msgstr ""
1355
-
1356
- #: bp-core/admin/bp-core-settings.php:380
1357
- msgid "Topic tag slug"
1358
- msgstr ""
1359
-
1360
- #: bp-core/admin/bp-core-settings.php:391
1361
- msgid "%s page"
1362
- msgstr ""
1363
-
1364
- #: bp-core/admin/bp-core-settings.php:409
1365
- msgid "Possible %1$s conflict: <strong>%2$s</strong>"
1366
- msgstr ""
1367
-
1368
  #: bp-core/admin/bp-core-slugs.php:32
1369
  msgid "Save All"
1370
  msgstr ""
@@ -1414,7 +1350,7 @@ msgid "Finish"
1414
  msgstr ""
1415
 
1416
  #: bp-core/admin/bp-core-update.php:75 bp-core/admin/bp-core-update.php:217
1417
- #: bp-core/bp-core-admin.php:286
1418
  msgid "Toolbar"
1419
  msgstr ""
1420
 
@@ -1723,55 +1659,55 @@ msgstr ""
1723
  msgid "Main Settings"
1724
  msgstr ""
1725
 
1726
- #: bp-core/bp-core-admin.php:290
1727
  msgid "Account Deletion"
1728
  msgstr ""
1729
 
1730
- #: bp-core/bp-core-admin.php:298
1731
  msgid "Profile Settings"
1732
  msgstr ""
1733
 
1734
- #: bp-core/bp-core-admin.php:301
1735
  msgid "Avatar Uploads"
1736
  msgstr ""
1737
 
1738
- #: bp-core/bp-core-admin.php:305
1739
  msgid "Profile Syncing"
1740
  msgstr ""
1741
 
1742
- #: bp-core/bp-core-admin.php:314
1743
  msgid "Groups Settings"
1744
  msgstr ""
1745
 
1746
- #: bp-core/bp-core-admin.php:317
1747
  msgid "Group Creation"
1748
  msgstr ""
1749
 
1750
- #: bp-core/bp-core-admin.php:326
1751
  msgid "Forums Settings"
1752
  msgstr ""
1753
 
1754
- #: bp-core/bp-core-admin.php:329
1755
  msgid "bbPress Configuration"
1756
  msgstr ""
1757
 
1758
- #: bp-core/bp-core-admin.php:338
1759
  msgid "Activity Settings"
1760
  msgstr ""
1761
 
1762
- #: bp-core/bp-core-admin.php:341
1763
  msgid "Blog &amp; Forum Comments"
1764
  msgstr ""
1765
 
1766
- #: bp-core/bp-core-admin.php:346
1767
  msgid "Akismet"
1768
  msgstr ""
1769
 
1770
- #: bp-core/bp-core-admin.php:476
1771
  msgid "BuddyPress has been updated! Please run the <a href=\"%s\">update wizard</a>."
1772
  msgstr ""
1773
 
1774
- #: bp-core/bp-core-admin.php:481
1775
  msgid "BuddyPress was successfully activated! Please run the <a href=\"%s\">installation wizard</a>."
1776
  msgstr ""
1777
 
@@ -2038,6 +1974,12 @@ msgstr ""
2038
  msgid "%1$s at %2$s"
2039
  msgstr ""
2040
 
 
 
 
 
 
 
2041
  #: bp-core/bp-core-template.php:271
2042
  msgid "Search these:"
2043
  msgstr ""
@@ -2183,146 +2125,154 @@ msgstr ""
2183
  msgid "Alphabetically"
2184
  msgstr ""
2185
 
2186
- #: bp-forums/bp-forums-admin.php:34 bp-forums/deprecated/1.6.php:29
 
 
 
 
 
 
 
 
 
2187
  msgid "Settings Saved."
2188
  msgstr ""
2189
 
2190
- #: bp-forums/bp-forums-admin.php:50
2191
  msgid "(Installed)"
2192
  msgstr ""
2193
 
2194
- #: bp-forums/bp-forums-admin.php:50 bp-forums/bp-forums-admin.php:167
2195
  #: bp-forums/deprecated/1.6.php:45 bp-forums/deprecated/1.6.php:162
2196
  msgid "Forums for Groups"
2197
  msgstr ""
2198
 
2199
- #: bp-forums/bp-forums-admin.php:52 bp-forums/bp-forums-admin.php:169
2200
  #: bp-forums/deprecated/1.6.php:47 bp-forums/deprecated/1.6.php:164
2201
  msgid "Give each individual group its own discussion forum. Choose this if you'd like to keep your members' conversations separated into distinct areas."
2202
  msgstr ""
2203
 
2204
- #: bp-forums/bp-forums-admin.php:53 bp-forums/bp-forums-admin.php:170
2205
  #: bp-forums/deprecated/1.6.php:48 bp-forums/deprecated/1.6.php:165
2206
  msgid "You may use an existing bbPress installation if you have one."
2207
  msgstr ""
2208
 
2209
- #: bp-forums/bp-forums-admin.php:55 bp-forums/bp-forums-admin.php:73
2210
- #: bp-forums/bp-forums-admin.php:172 bp-forums/bp-forums-admin.php:191
2211
  #: bp-forums/deprecated/1.6.php:50 bp-forums/deprecated/1.6.php:68
2212
  #: bp-forums/deprecated/1.6.php:167 bp-forums/deprecated/1.6.php:186
2213
  msgid "Features"
2214
  msgstr ""
2215
 
2216
- #: bp-forums/bp-forums-admin.php:57 bp-forums/bp-forums-admin.php:174
2217
  #: bp-forums/deprecated/1.6.php:52 bp-forums/deprecated/1.6.php:169
2218
  msgid "Group Integration"
2219
  msgstr ""
2220
 
2221
- #: bp-forums/bp-forums-admin.php:58 bp-forums/bp-forums-admin.php:175
2222
  #: bp-forums/deprecated/1.6.php:53 bp-forums/deprecated/1.6.php:170
2223
  msgid "Member Profile Integration"
2224
  msgstr ""
2225
 
2226
- #: bp-forums/bp-forums-admin.php:59 bp-forums/bp-forums-admin.php:77
2227
- #: bp-forums/bp-forums-admin.php:176 bp-forums/bp-forums-admin.php:195
2228
  #: bp-forums/deprecated/1.6.php:54 bp-forums/deprecated/1.6.php:72
2229
  #: bp-forums/deprecated/1.6.php:171 bp-forums/deprecated/1.6.php:190
2230
  msgid "Activity Stream Integration"
2231
  msgstr ""
2232
 
2233
- #: bp-forums/bp-forums-admin.php:60 bp-forums/bp-forums-admin.php:78
2234
- #: bp-forums/bp-forums-admin.php:177 bp-forums/bp-forums-admin.php:196
2235
  #: bp-forums/deprecated/1.6.php:55 bp-forums/deprecated/1.6.php:73
2236
  #: bp-forums/deprecated/1.6.php:172 bp-forums/deprecated/1.6.php:191
2237
  msgid "@ Mention Integration"
2238
  msgstr ""
2239
 
2240
- #: bp-forums/bp-forums-admin.php:64
2241
  msgid "Uninstall Group Forums"
2242
  msgstr ""
2243
 
2244
- #: bp-forums/bp-forums-admin.php:69 bp-forums/bp-forums-admin.php:187
2245
  #: bp-forums/deprecated/1.6.php:64 bp-forums/deprecated/1.6.php:182
2246
  msgid "New! Site Wide Forums"
2247
  msgstr ""
2248
 
2249
- #: bp-forums/bp-forums-admin.php:70 bp-forums/bp-forums-admin.php:188
2250
  #: bp-forums/deprecated/1.6.php:65 bp-forums/deprecated/1.6.php:183
2251
  msgid "Your site will have central forums that are not isolated to any specific group. Choose this if you'd like to have a central forum area for your members."
2252
  msgstr ""
2253
 
2254
- #: bp-forums/bp-forums-admin.php:71 bp-forums/bp-forums-admin.php:189
2255
  #: bp-forums/deprecated/1.6.php:66 bp-forums/deprecated/1.6.php:184
2256
  msgid "You may activate both Group and Site Wide forums, but this may create a poor experience for your members."
2257
  msgstr ""
2258
 
2259
- #: bp-forums/bp-forums-admin.php:75 bp-forums/bp-forums-admin.php:193
2260
  #: bp-forums/deprecated/1.6.php:70 bp-forums/deprecated/1.6.php:188
2261
  msgid "Central Discussion Area"
2262
  msgstr ""
2263
 
2264
- #: bp-forums/bp-forums-admin.php:76 bp-forums/bp-forums-admin.php:194
2265
  #: bp-forums/deprecated/1.6.php:71 bp-forums/deprecated/1.6.php:189
2266
  msgid "Forum Plugins Available"
2267
  msgstr ""
2268
 
2269
- #: bp-forums/bp-forums-admin.php:81 bp-forums/bp-forums-admin.php:199
2270
- #: bp-forums/deprecated/1.6.php:76 bp-forums/deprecated/1.6.php:194
2271
- msgid "Install Site Wide Forums"
2272
  msgstr ""
2273
 
2274
- #: bp-forums/bp-forums-admin.php:100 bp-forums/deprecated/1.6.php:95
2275
  msgid "The bb-config.php file was not found at that location, please try again."
2276
  msgstr ""
2277
 
2278
- #: bp-forums/bp-forums-admin.php:103 bp-forums/deprecated/1.6.php:98
2279
  msgid "Forums were set up correctly using your existing bbPress install!"
2280
  msgstr ""
2281
 
2282
- #: bp-forums/bp-forums-admin.php:104 bp-forums/deprecated/1.6.php:99
2283
  msgid "BuddyPress will now use its internal copy of bbPress to run the forums on your site. If you wish, you can remove your old bbPress installation files, as long as you keep the bb-config.php file in the same location."
2284
  msgstr ""
2285
 
2286
- #: bp-forums/bp-forums-admin.php:109 bp-forums/deprecated/1.6.php:104
2287
  msgid "Existing bbPress Installation"
2288
  msgstr ""
2289
 
2290
- #: bp-forums/bp-forums-admin.php:110 bp-forums/deprecated/1.6.php:105
2291
  msgid "BuddyPress can make use of your existing bbPress install. Just provide the location of your <code>bb-config.php</code> file, and BuddyPress will do the rest."
2292
  msgstr ""
2293
 
2294
- #: bp-forums/bp-forums-admin.php:112 bp-forums/bp-forums-admin.php:144
2295
  #: bp-forums/deprecated/1.6.php:107 bp-forums/deprecated/1.6.php:139
2296
  msgid "Complete Installation"
2297
  msgstr ""
2298
 
2299
- #: bp-forums/bp-forums-admin.php:128 bp-forums/deprecated/1.6.php:123
2300
  msgid "<p>All done! Configuration settings have been saved to the file <code>bb-config.php</code> in the root of your WordPress install.</p>"
2301
  msgstr ""
2302
 
2303
- #: bp-forums/bp-forums-admin.php:132 bp-forums/deprecated/1.6.php:127
2304
  msgid "<p>A configuration file could not be created. No problem, but you will need to save the text shown below into a file named <code>bb-config.php</code> in the root directory of your WordPress installation before you can start using the forum functionality.</p>"
2305
  msgstr ""
2306
 
2307
- #: bp-forums/bp-forums-admin.php:141 bp-forums/deprecated/1.6.php:136
2308
  msgid "New bbPress Installation"
2309
  msgstr ""
2310
 
2311
- #: bp-forums/bp-forums-admin.php:142 bp-forums/deprecated/1.6.php:137
2312
  msgid ""
2313
  "You've decided to set up a new installation of bbPress for forum management in BuddyPress. This is very simple and is usually just a one click\n"
2314
  "\t\t\t\tprocess. When you're ready, hit the link below."
2315
  msgstr ""
2316
 
2317
- #: bp-forums/bp-forums-admin.php:154 bp-forums/deprecated/1.6.php:149
2318
  msgid "bbPress files were not found. To install the forums component you must download a copy of bbPress and make sure it is in the folder: \"%s\""
2319
  msgstr ""
2320
 
2321
- #: bp-forums/bp-forums-admin.php:181 bp-forums/deprecated/1.6.php:176
2322
  msgid "Install Group Forums"
2323
  msgstr ""
2324
 
2325
- #: bp-forums/bp-forums-admin.php:182 bp-forums/deprecated/1.6.php:177
2326
  msgid "Use Existing Installation"
2327
  msgstr ""
2328
 
@@ -2826,11 +2776,11 @@ msgstr ""
2826
  msgid "Group Avatar"
2827
  msgstr ""
2828
 
2829
- #: bp-groups/bp-groups-classes.php:815
2830
  msgid "Group Mod"
2831
  msgstr ""
2832
 
2833
- #: bp-groups/bp-groups-classes.php:821 bp-groups/bp-groups-functions.php:121
2834
  msgid "Group Admin"
2835
  msgstr ""
2836
 
@@ -2846,7 +2796,7 @@ msgstr ""
2846
  msgid "As the only Admin, you cannot leave the group."
2847
  msgstr ""
2848
 
2849
- #: bp-groups/bp-groups-functions.php:357 bp-groups/bp-groups-functions.php:844
2850
  #: bp-groups/bp-groups-screens.php:61
2851
  msgid "%1$s joined the group %2$s"
2852
  msgstr ""
@@ -3009,11 +2959,11 @@ msgid ""
3009
  "---------------------\n"
3010
  msgstr ""
3011
 
3012
- #: bp-groups/bp-groups-notifications.php:234
3013
  msgid "You have an invitation to the group: \"%s\""
3014
  msgstr ""
3015
 
3016
- #: bp-groups/bp-groups-notifications.php:236
3017
  msgid ""
3018
  "One of your friends %1$s has invited you to the group: \"%2$s\".\n"
3019
  "\n"
@@ -5085,7 +5035,7 @@ msgstr ""
5085
  #: bp-themes/bp-default/members/single/profile/edit.php:58
5086
  #: bp-themes/bp-default/members/single/profile/edit.php:73
5087
  #: bp-themes/bp-default/registration/register.php:119
5088
- #: bp-xprofile/bp-xprofile-admin.php:411
5089
  msgid "Clear"
5090
  msgstr ""
5091
 
@@ -5328,7 +5278,7 @@ msgstr ""
5328
  msgid "Fields in the \"%s\" group will appear on the signup page."
5329
  msgstr ""
5330
 
5331
- #: bp-xprofile/bp-xprofile-admin.php:98 bp-xprofile/bp-xprofile-admin.php:378
5332
  msgid "(Primary)"
5333
  msgstr ""
5334
 
@@ -5364,31 +5314,31 @@ msgstr ""
5364
  msgid "The group was deleted successfully."
5365
  msgstr ""
5366
 
5367
- #: bp-xprofile/bp-xprofile-admin.php:261
5368
  msgid "There was an error saving the field. Please try again"
5369
  msgstr ""
5370
 
5371
- #: bp-xprofile/bp-xprofile-admin.php:268
5372
  msgid "The field was saved successfully."
5373
  msgstr ""
5374
 
5375
- #: bp-xprofile/bp-xprofile-admin.php:312
5376
  msgid "field"
5377
  msgstr ""
5378
 
5379
- #: bp-xprofile/bp-xprofile-admin.php:312
5380
  msgid "option"
5381
  msgstr ""
5382
 
5383
- #: bp-xprofile/bp-xprofile-admin.php:316
5384
  msgid "There was an error deleting the %s. Please try again"
5385
  msgstr ""
5386
 
5387
- #: bp-xprofile/bp-xprofile-admin.php:319
5388
  msgid "The %s was deleted successfully!"
5389
  msgstr ""
5390
 
5391
- #: bp-xprofile/bp-xprofile-admin.php:378
5392
  msgid "(Required)"
5393
  msgstr ""
5394
 
4
  msgstr ""
5
  "Project-Id-Version: BuddyPress \n"
6
  "Report-Msgid-Bugs-To: http://wppolyglots.wordpress.com\n"
7
+ "POT-Creation-Date: 2012-07-04 18:36:27+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
71
  #. translators: Personal activity RSS title - "[Site Name] | [Displayed User
72
  #. Name] | Activity"
73
 
74
+ #: bp-activity/bp-activity-admin.php:34 bp-activity/bp-activity-admin.php:835
75
+ #: bp-activity/bp-activity-admin.php:1145
76
  #: bp-activity/bp-activity-loader.php:118
77
  #: bp-activity/bp-activity-loader.php:241
78
  #: bp-activity/bp-activity-screens.php:278
187
  msgid "In the <strong>In Response To</strong> column, if the activity was in reply to another activity, it shows that activity's author's picture and name, and a link to that activity on your live site. If there is a small bubble, the number in it shows how many other activities are related to this one; these are usually comments. Clicking the bubble will filter the activity screen to show only related activity items."
188
  msgstr ""
189
 
190
+ #: bp-activity/bp-activity-admin.php:564
191
  msgid "Editing Activity (ID #%s)"
192
  msgstr ""
193
 
194
+ #: bp-activity/bp-activity-admin.php:575
195
  msgid "Action"
196
  msgstr ""
197
 
198
+ #: bp-activity/bp-activity-admin.php:582
199
  msgid "Content"
200
  msgstr ""
201
 
202
+ #: bp-activity/bp-activity-admin.php:607
203
  msgid "No activity found with this ID. <a href=\"%s\">Go back and try again</a>."
204
  msgstr ""
205
 
206
+ #: bp-activity/bp-activity-admin.php:629
207
  msgid "View Activity"
208
  msgstr ""
209
 
210
+ #: bp-activity/bp-activity-admin.php:637
211
  msgid "Approved"
212
  msgstr ""
213
 
214
+ #: bp-activity/bp-activity-admin.php:638 bp-activity/bp-activity-admin.php:1283
215
  #: bp-activity/bp-activity-akismet.php:178
216
  #: bp-activity/bp-activity-akismet.php:207
217
  msgid "Spam"
219
 
220
  #. translators: Publish box date format, see http:php.net/date
221
 
222
+ #: bp-activity/bp-activity-admin.php:644
223
  msgid "M j, Y @ G:i"
224
  msgstr ""
225
 
226
+ #: bp-activity/bp-activity-admin.php:647
227
  msgid "Submitted on: <strong>%1$s</strong>"
228
  msgstr ""
229
 
230
+ #: bp-activity/bp-activity-admin.php:647 bp-activity/bp-activity-admin.php:1276
231
  #: bp-forums/bp-forums-template.php:1266 bp-themes/bp-default/functions.php:507
232
+ #: bp-xprofile/bp-xprofile-admin.php:456 bp-xprofile/bp-xprofile-loader.php:172
233
  #: bp-xprofile/bp-xprofile-loader.php:230
234
  msgid "Edit"
235
  msgstr ""
236
 
237
+ #: bp-activity/bp-activity-admin.php:660 bp-core/admin/bp-core-update.php:135
238
  msgid "Update"
239
  msgstr ""
240
 
241
+ #: bp-activity/bp-activity-admin.php:679
242
  msgid "Link"
243
  msgstr ""
244
 
245
+ #: bp-activity/bp-activity-admin.php:681
246
  msgid "Activity generated by blog posts and comments, forum topics and replies, and some plugins, uses the link field for a permalink back to the content item."
247
  msgstr ""
248
 
249
+ #: bp-activity/bp-activity-admin.php:695
250
  msgid "Author ID"
251
  msgstr ""
252
 
253
+ #: bp-activity/bp-activity-admin.php:747
254
  msgid "Primary Item ID"
255
  msgstr ""
256
 
257
+ #: bp-activity/bp-activity-admin.php:751
258
  msgid "Secondary Item ID"
259
  msgstr ""
260
 
261
+ #: bp-activity/bp-activity-admin.php:754
262
  msgid "These identify the object that created this activity. For example, the fields could reference a pair of site and comment IDs."
263
  msgstr ""
264
 
265
+ #: bp-activity/bp-activity-admin.php:791
266
  msgid "%s activity has been permanently deleted."
267
  msgid_plural "%s activity items have been permanently deleted."
268
  msgstr[0] ""
269
  msgstr[1] ""
270
 
271
+ #: bp-activity/bp-activity-admin.php:795
272
  msgid "An error occurred when trying to update activity ID #%s."
273
  msgstr ""
274
 
275
+ #: bp-activity/bp-activity-admin.php:798
276
  msgid "Errors occurred when trying to update these activity items:"
277
  msgstr ""
278
 
279
+ #: bp-activity/bp-activity-admin.php:804
280
  msgid "#%s"
281
  msgstr ""
282
 
283
+ #: bp-activity/bp-activity-admin.php:813
284
  msgid "%s activity has been successfully spammed."
285
  msgid_plural "%s activity items have been successfully spammed."
286
  msgstr[0] ""
287
  msgstr[1] ""
288
 
289
+ #: bp-activity/bp-activity-admin.php:816
290
  msgid "%s activity has been successfully unspammed."
291
  msgid_plural "%s activity items have been successfully unspammed."
292
  msgstr[0] ""
293
  msgstr[1] ""
294
 
295
+ #: bp-activity/bp-activity-admin.php:819
296
  msgid "The activity has been updated succesfully."
297
  msgstr ""
298
 
299
+ #: bp-activity/bp-activity-admin.php:833
300
  msgid "Activity related to ID #%s"
301
  msgstr ""
302
 
303
+ #: bp-activity/bp-activity-admin.php:839
304
  msgid "Search results for &#8220;%s&#8221;"
305
  msgstr ""
306
 
307
+ #: bp-activity/bp-activity-admin.php:852
308
  msgid "Search all Activity"
309
  msgstr ""
310
 
311
+ #: bp-activity/bp-activity-admin.php:863
312
  msgid "Reply to Activity"
313
  msgstr ""
314
 
315
+ #: bp-activity/bp-activity-admin.php:867
316
  #: bp-themes/bp-default/forums/index.php:134
317
  #: bp-xprofile/bp-xprofile-classes.php:404
318
  #: bp-xprofile/bp-xprofile-classes.php:914
319
  msgid "Cancel"
320
  msgstr ""
321
 
322
+ #: bp-activity/bp-activity-admin.php:868 bp-activity/bp-activity-admin.php:1273
323
  #: bp-themes/bp-default/activity/comment.php:37
324
  #: bp-themes/bp-default/groups/single/forum/edit.php:10
325
  msgid "Reply"
326
  msgstr ""
327
 
328
+ #: bp-activity/bp-activity-admin.php:1051
329
  msgid "No activities found."
330
  msgstr ""
331
 
332
+ #: bp-activity/bp-activity-admin.php:1111
333
  #: bp-messages/bp-messages-template.php:440
334
  msgid "All"
335
  msgstr ""
336
 
337
+ #: bp-activity/bp-activity-admin.php:1112
338
  msgid "Spam <span class=\"count\">(%s)</span>"
339
  msgstr ""
340
 
341
+ #: bp-activity/bp-activity-admin.php:1127
342
  msgid "Mark as Spam"
343
  msgstr ""
344
 
345
+ #: bp-activity/bp-activity-admin.php:1128
346
+ #: bp-activity/bp-activity-admin.php:1281
347
  msgid "Not Spam"
348
  msgstr ""
349
 
350
+ #: bp-activity/bp-activity-admin.php:1129
351
+ #: bp-activity/bp-activity-admin.php:1286
352
  msgid "Delete Permanently"
353
  msgstr ""
354
 
355
+ #: bp-activity/bp-activity-admin.php:1144
356
  msgid "Author"
357
  msgstr ""
358
 
359
+ #: bp-activity/bp-activity-admin.php:1146
360
  msgid "In Response To"
361
  msgstr ""
362
 
363
+ #: bp-activity/bp-activity-admin.php:1201
364
  msgid "Show all activity types"
365
  msgstr ""
366
 
367
+ #: bp-activity/bp-activity-admin.php:1208
368
  msgid "Filter"
369
  msgstr ""
370
 
371
+ #: bp-activity/bp-activity-admin.php:1286 bp-core/bp-core-cssjs.php:17
372
  msgid "Are you sure?"
373
  msgstr ""
374
 
375
  #. translators: 2: activity admin ui date/time
376
 
377
+ #: bp-activity/bp-activity-admin.php:1295
378
  msgid "Submitted on <a href=\"%1$s\">%2$s at %3$s</a>"
379
  msgstr ""
380
 
381
+ #: bp-activity/bp-activity-admin.php:1324
382
  msgid "%s related activity"
383
  msgid_plural "%s related activities"
384
  msgstr[0] ""
385
  msgstr[1] ""
386
 
387
+ #: bp-activity/bp-activity-admin.php:1335
388
  msgid "<a href=\"%1$s\">View Activity</a>"
389
  msgstr ""
390
 
437
  msgid "<span>%1$s</span> &mdash; %2$s"
438
  msgstr ""
439
 
440
+ #: bp-activity/bp-activity-classes.php:120
441
  #: bp-activity/bp-activity-template.php:120
442
  msgid "Arguments passed to %1$s should be in an associative array. See the inline documentation at %2$s for more details."
443
  msgstr ""
536
  msgstr ""
537
 
538
  #: bp-activity/bp-activity-loader.php:314
539
+ #: bp-activity/bp-activity-template.php:968
540
+ #: bp-activity/bp-activity-template.php:1088
541
+ #: bp-activity/bp-activity-template.php:1098 bp-blogs/bp-blogs-loader.php:200
542
  #: bp-forums/bp-forums-loader.php:238 bp-forums/bp-forums-template.php:487
543
  #: bp-forums/bp-forums-template.php:604 bp-forums/bp-forums-template.php:1196
544
  #: bp-friends/bp-friends-loader.php:203 bp-groups/bp-groups-loader.php:557
594
  #: bp-groups/bp-groups-notifications.php:92
595
  #: bp-groups/bp-groups-notifications.php:148
596
  #: bp-groups/bp-groups-notifications.php:195
597
+ #: bp-groups/bp-groups-notifications.php:249
598
  #: bp-messages/bp-messages-notifications.php:60
599
  msgid "To disable these notifications please log in and go to: %s"
600
  msgstr ""
657
  msgid "A member replies to an update or comment you've posted"
658
  msgstr ""
659
 
660
+ #: bp-activity/bp-activity-template.php:220
661
  msgctxt "Activity pagination previous text"
662
  msgid "&larr;"
663
  msgstr ""
664
 
665
+ #: bp-activity/bp-activity-template.php:221
666
  msgctxt "Activity pagination next text"
667
  msgid "&rarr;"
668
  msgstr ""
669
 
670
+ #: bp-activity/bp-activity-template.php:523
671
  msgid "Viewing item %1$s to %2$s (of %3$s items)"
672
  msgstr ""
673
 
674
+ #: bp-activity/bp-activity-template.php:968
675
  msgid "Profile picture"
676
  msgstr ""
677
 
678
+ #: bp-activity/bp-activity-template.php:1067
679
  #: bp-groups/bp-groups-template.php:391
680
  msgid "Group logo of %s"
681
  msgstr ""
682
 
683
+ #: bp-activity/bp-activity-template.php:1069
684
  msgid "Group logo"
685
  msgstr ""
686
 
687
+ #: bp-activity/bp-activity-template.php:1079
688
  msgid "Profile picture of the author of the site %s"
689
  msgstr ""
690
 
691
+ #: bp-activity/bp-activity-template.php:1269
692
  msgid "View Discussion"
693
  msgstr ""
694
 
695
+ #: bp-activity/bp-activity-template.php:2063
696
  #: bp-forums/bp-forums-template.php:1267 bp-groups/bp-groups-template.php:1294
697
  #: bp-themes/bp-default/activity/comment.php:43
698
  #: bp-themes/bp-default/members/single/messages/messages-loop.php:51
699
  #: bp-themes/bp-default/members/single/messages/single.php:24
700
+ #: bp-xprofile/bp-xprofile-admin.php:460
701
  msgid "Delete"
702
  msgstr ""
703
 
704
+ #: bp-activity/bp-activity-template.php:2110
705
  #: bp-core/admin/bp-core-slugs.php:112 bp-core/admin/bp-core-slugs.php:173
706
  #: bp-members/bp-members-template.php:582
707
  #: bp-themes/bp-default/activity/entry.php:37
710
  msgid "View"
711
  msgstr ""
712
 
713
+ #: bp-activity/bp-activity-template.php:2204
714
  msgid "Clear Filter"
715
  msgstr ""
716
 
717
+ #: bp-activity/bp-activity-template.php:2387
718
  msgid "a user"
719
  msgstr ""
720
 
721
+ #: bp-activity/bp-activity-template.php:2427
722
  msgid "Send a public message on your activity stream."
723
  msgstr ""
724
 
725
+ #: bp-activity/bp-activity-template.php:2428
726
  msgid "Public Message"
727
  msgstr ""
728
 
729
+ #: bp-activity/bp-activity-template.php:2735
730
  msgid "Site Wide Activity RSS Feed"
731
  msgstr ""
732
 
1024
  msgstr ""
1025
 
1026
  #: bp-core/admin/bp-core-components.php:26
1027
+ #: bp-core/admin/bp-core-functions.php:365 bp-core/admin/bp-core-update.php:57
1028
  #: bp-core/admin/bp-core-update.php:69 bp-core/admin/bp-core-update.php:201
1029
  msgid "Components"
1030
  msgstr ""
1193
  msgid "Register"
1194
  msgstr ""
1195
 
1196
+ #: bp-core/admin/bp-core-functions.php:304
1197
  msgid "The following active BuddyPress Components do not have associated WordPress Pages: %2$s. <a href=\"%1$s\" class=\"button-secondary\">Repair</a>"
1198
  msgstr ""
1199
 
1200
+ #: bp-core/admin/bp-core-functions.php:329
1201
  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>"
1202
  msgstr ""
1203
 
1204
+ #: bp-core/admin/bp-core-functions.php:342
1205
  msgid "IMPORTANT: <a href=\"http://codex.buddypress.org/buddypress-site-administration/upgrading-buddypress/\">Read this before attempting to update BuddyPress</a>"
1206
  msgstr ""
1207
 
1208
+ #: bp-core/admin/bp-core-functions.php:369 bp-core/admin/bp-core-slugs.php:26
 
1209
  #: bp-core/admin/bp-core-update.php:58 bp-core/admin/bp-core-update.php:70
1210
  #: bp-core/admin/bp-core-update.php:205
1211
  msgid "Pages"
1212
  msgstr ""
1213
 
1214
+ #: bp-core/admin/bp-core-functions.php:373
1215
+ #: bp-core/admin/bp-core-settings.php:258 bp-core/bp-core-admin.php:374
1216
  #: bp-groups/bp-groups-loader.php:298 bp-groups/bp-groups-template.php:1276
1217
  #: bp-settings/bp-settings-loader.php:23 bp-settings/bp-settings-loader.php:78
1218
  #: bp-settings/bp-settings-loader.php:169
1219
  msgid "Settings"
1220
  msgstr ""
1221
 
1222
+ #: bp-core/admin/bp-core-functions.php:381 bp-core/admin/bp-core-update.php:409
1223
  #: bp-core/bp-core-template.php:266 bp-forums/bp-forums-admin.php:14
1224
+ #: bp-forums/bp-forums-admin.php:47 bp-forums/bp-forums-admin.php:311
1225
  #: bp-forums/bp-forums-loader.php:111 bp-forums/bp-forums-loader.php:190
1226
  #: bp-forums/bp-forums-loader.php:233 bp-forums/deprecated/1.6.php:24
1227
  msgid "Forums"
1238
  msgstr ""
1239
 
1240
  #: bp-core/admin/bp-core-settings.php:31
1241
+ msgid "Show the Toolbar for logged out users"
1242
  msgstr ""
1243
 
1244
  #: bp-core/admin/bp-core-settings.php:47
1245
  msgid "Allow registered members to delete their own accounts"
1246
  msgstr ""
1247
 
1248
+ #: bp-core/admin/bp-core-settings.php:62
1249
+ msgid "Switch to WordPress Toolbar"
1250
+ msgstr ""
1251
+
1252
+ #: bp-core/admin/bp-core-settings.php:87
1253
  msgid "Allow Akismet to scan for activity stream spam"
1254
  msgstr ""
1255
 
1256
+ #: bp-core/admin/bp-core-settings.php:101
1257
  msgid "Allow activity stream commenting on blog and forum posts"
1258
  msgstr ""
1259
 
1260
+ #: bp-core/admin/bp-core-settings.php:153
1261
  msgid "Enable BuddyPress to WordPress profile syncing"
1262
  msgstr ""
1263
 
1264
+ #: bp-core/admin/bp-core-settings.php:169
1265
  msgid "Allow registered members to upload avatars"
1266
  msgstr ""
1267
 
1268
+ #: bp-core/admin/bp-core-settings.php:194
1269
  msgid "Enable group creation for all users"
1270
  msgstr ""
1271
 
1272
+ #: bp-core/admin/bp-core-settings.php:195
1273
  msgid "Administrators can always create groups, regardless of this setting."
1274
  msgstr ""
1275
 
1276
+ #: bp-core/admin/bp-core-settings.php:226
1277
  msgid "Attempt to save a new config file."
1278
  msgstr ""
1279
 
1280
+ #: bp-core/admin/bp-core-settings.php:226
1281
  msgid "Repair"
1282
  msgstr ""
1283
 
1284
+ #: bp-core/admin/bp-core-settings.php:227
1285
  msgid "File does not exist"
1286
  msgstr ""
1287
 
1288
+ #: bp-core/admin/bp-core-settings.php:231
1289
  msgid "Absolute path to your bbPress configuration file."
1290
  msgstr ""
1291
 
1292
+ #: bp-core/admin/bp-core-settings.php:267
1293
  #: bp-themes/bp-default/groups/single/admin.php:32
1294
  #: bp-themes/bp-default/groups/single/admin.php:117
1295
  #: bp-themes/bp-default/groups/single/forum/edit.php:58
1301
  msgid "Save Changes"
1302
  msgstr ""
1303
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1304
  #: bp-core/admin/bp-core-slugs.php:32
1305
  msgid "Save All"
1306
  msgstr ""
1350
  msgstr ""
1351
 
1352
  #: bp-core/admin/bp-core-update.php:75 bp-core/admin/bp-core-update.php:217
1353
+ #: bp-core/bp-core-admin.php:286 bp-core/bp-core-admin.php:291
1354
  msgid "Toolbar"
1355
  msgstr ""
1356
 
1659
  msgid "Main Settings"
1660
  msgstr ""
1661
 
1662
+ #: bp-core/bp-core-admin.php:296
1663
  msgid "Account Deletion"
1664
  msgstr ""
1665
 
1666
+ #: bp-core/bp-core-admin.php:304
1667
  msgid "Profile Settings"
1668
  msgstr ""
1669
 
1670
+ #: bp-core/bp-core-admin.php:307
1671
  msgid "Avatar Uploads"
1672
  msgstr ""
1673
 
1674
+ #: bp-core/bp-core-admin.php:311
1675
  msgid "Profile Syncing"
1676
  msgstr ""
1677
 
1678
+ #: bp-core/bp-core-admin.php:320
1679
  msgid "Groups Settings"
1680
  msgstr ""
1681
 
1682
+ #: bp-core/bp-core-admin.php:323
1683
  msgid "Group Creation"
1684
  msgstr ""
1685
 
1686
+ #: bp-core/bp-core-admin.php:332
1687
  msgid "Forums Settings"
1688
  msgstr ""
1689
 
1690
+ #: bp-core/bp-core-admin.php:335
1691
  msgid "bbPress Configuration"
1692
  msgstr ""
1693
 
1694
+ #: bp-core/bp-core-admin.php:344
1695
  msgid "Activity Settings"
1696
  msgstr ""
1697
 
1698
+ #: bp-core/bp-core-admin.php:347
1699
  msgid "Blog &amp; Forum Comments"
1700
  msgstr ""
1701
 
1702
+ #: bp-core/bp-core-admin.php:352
1703
  msgid "Akismet"
1704
  msgstr ""
1705
 
1706
+ #: bp-core/bp-core-admin.php:482
1707
  msgid "BuddyPress has been updated! Please run the <a href=\"%s\">update wizard</a>."
1708
  msgstr ""
1709
 
1710
+ #: bp-core/bp-core-admin.php:487
1711
  msgid "BuddyPress was successfully activated! Please run the <a href=\"%s\">installation wizard</a>."
1712
  msgstr ""
1713
 
1974
  msgid "%1$s at %2$s"
1975
  msgstr ""
1976
 
1977
+ #: bp-core/bp-core-template.php:268 bp-themes/bp-default/activity/index.php:99
1978
+ #: bp-themes/bp-default/forums/forums-loop.php:40
1979
+ #: bp-themes/bp-default/members/single/activity.php:27
1980
+ msgid "Posts"
1981
+ msgstr ""
1982
+
1983
  #: bp-core/bp-core-template.php:271
1984
  msgid "Search these:"
1985
  msgstr ""
2125
  msgid "Alphabetically"
2126
  msgstr ""
2127
 
2128
+ #: bp-forums/bp-forums-admin.php:36 bp-forums/bp-forums-admin.php:125
2129
+ msgid "Configure Site Wide Forums"
2130
+ msgstr ""
2131
+
2132
+ #: bp-forums/bp-forums-admin.php:39 bp-forums/bp-forums-admin.php:128
2133
+ #: bp-forums/deprecated/1.6.php:76 bp-forums/deprecated/1.6.php:194
2134
+ msgid "Install Site Wide Forums"
2135
+ msgstr ""
2136
+
2137
+ #: bp-forums/bp-forums-admin.php:52 bp-forums/deprecated/1.6.php:29
2138
  msgid "Settings Saved."
2139
  msgstr ""
2140
 
2141
+ #: bp-forums/bp-forums-admin.php:68
2142
  msgid "(Installed)"
2143
  msgstr ""
2144
 
2145
+ #: bp-forums/bp-forums-admin.php:68 bp-forums/bp-forums-admin.php:202
2146
  #: bp-forums/deprecated/1.6.php:45 bp-forums/deprecated/1.6.php:162
2147
  msgid "Forums for Groups"
2148
  msgstr ""
2149
 
2150
+ #: bp-forums/bp-forums-admin.php:70 bp-forums/bp-forums-admin.php:204
2151
  #: bp-forums/deprecated/1.6.php:47 bp-forums/deprecated/1.6.php:164
2152
  msgid "Give each individual group its own discussion forum. Choose this if you'd like to keep your members' conversations separated into distinct areas."
2153
  msgstr ""
2154
 
2155
+ #: bp-forums/bp-forums-admin.php:71 bp-forums/bp-forums-admin.php:205
2156
  #: bp-forums/deprecated/1.6.php:48 bp-forums/deprecated/1.6.php:165
2157
  msgid "You may use an existing bbPress installation if you have one."
2158
  msgstr ""
2159
 
2160
+ #: bp-forums/bp-forums-admin.php:73 bp-forums/bp-forums-admin.php:91
2161
+ #: bp-forums/bp-forums-admin.php:207 bp-forums/bp-forums-admin.php:226
2162
  #: bp-forums/deprecated/1.6.php:50 bp-forums/deprecated/1.6.php:68
2163
  #: bp-forums/deprecated/1.6.php:167 bp-forums/deprecated/1.6.php:186
2164
  msgid "Features"
2165
  msgstr ""
2166
 
2167
+ #: bp-forums/bp-forums-admin.php:75 bp-forums/bp-forums-admin.php:209
2168
  #: bp-forums/deprecated/1.6.php:52 bp-forums/deprecated/1.6.php:169
2169
  msgid "Group Integration"
2170
  msgstr ""
2171
 
2172
+ #: bp-forums/bp-forums-admin.php:76 bp-forums/bp-forums-admin.php:210
2173
  #: bp-forums/deprecated/1.6.php:53 bp-forums/deprecated/1.6.php:170
2174
  msgid "Member Profile Integration"
2175
  msgstr ""
2176
 
2177
+ #: bp-forums/bp-forums-admin.php:77 bp-forums/bp-forums-admin.php:95
2178
+ #: bp-forums/bp-forums-admin.php:211 bp-forums/bp-forums-admin.php:230
2179
  #: bp-forums/deprecated/1.6.php:54 bp-forums/deprecated/1.6.php:72
2180
  #: bp-forums/deprecated/1.6.php:171 bp-forums/deprecated/1.6.php:190
2181
  msgid "Activity Stream Integration"
2182
  msgstr ""
2183
 
2184
+ #: bp-forums/bp-forums-admin.php:78 bp-forums/bp-forums-admin.php:96
2185
+ #: bp-forums/bp-forums-admin.php:212 bp-forums/bp-forums-admin.php:231
2186
  #: bp-forums/deprecated/1.6.php:55 bp-forums/deprecated/1.6.php:73
2187
  #: bp-forums/deprecated/1.6.php:172 bp-forums/deprecated/1.6.php:191
2188
  msgid "@ Mention Integration"
2189
  msgstr ""
2190
 
2191
+ #: bp-forums/bp-forums-admin.php:82
2192
  msgid "Uninstall Group Forums"
2193
  msgstr ""
2194
 
2195
+ #: bp-forums/bp-forums-admin.php:87 bp-forums/bp-forums-admin.php:222
2196
  #: bp-forums/deprecated/1.6.php:64 bp-forums/deprecated/1.6.php:182
2197
  msgid "New! Site Wide Forums"
2198
  msgstr ""
2199
 
2200
+ #: bp-forums/bp-forums-admin.php:88 bp-forums/bp-forums-admin.php:223
2201
  #: bp-forums/deprecated/1.6.php:65 bp-forums/deprecated/1.6.php:183
2202
  msgid "Your site will have central forums that are not isolated to any specific group. Choose this if you'd like to have a central forum area for your members."
2203
  msgstr ""
2204
 
2205
+ #: bp-forums/bp-forums-admin.php:89 bp-forums/bp-forums-admin.php:224
2206
  #: bp-forums/deprecated/1.6.php:66 bp-forums/deprecated/1.6.php:184
2207
  msgid "You may activate both Group and Site Wide forums, but this may create a poor experience for your members."
2208
  msgstr ""
2209
 
2210
+ #: bp-forums/bp-forums-admin.php:93 bp-forums/bp-forums-admin.php:228
2211
  #: bp-forums/deprecated/1.6.php:70 bp-forums/deprecated/1.6.php:188
2212
  msgid "Central Discussion Area"
2213
  msgstr ""
2214
 
2215
+ #: bp-forums/bp-forums-admin.php:94 bp-forums/bp-forums-admin.php:229
2216
  #: bp-forums/deprecated/1.6.php:71 bp-forums/deprecated/1.6.php:189
2217
  msgid "Forum Plugins Available"
2218
  msgstr ""
2219
 
2220
+ #: bp-forums/bp-forums-admin.php:106
2221
+ msgid "Need help deciding between Group Forums and Site Wide Forums? Visit <a href=\"%s\">the BuddyPress codex</a> for more information."
 
2222
  msgstr ""
2223
 
2224
+ #: bp-forums/bp-forums-admin.php:135 bp-forums/deprecated/1.6.php:95
2225
  msgid "The bb-config.php file was not found at that location, please try again."
2226
  msgstr ""
2227
 
2228
+ #: bp-forums/bp-forums-admin.php:138 bp-forums/deprecated/1.6.php:98
2229
  msgid "Forums were set up correctly using your existing bbPress install!"
2230
  msgstr ""
2231
 
2232
+ #: bp-forums/bp-forums-admin.php:139 bp-forums/deprecated/1.6.php:99
2233
  msgid "BuddyPress will now use its internal copy of bbPress to run the forums on your site. If you wish, you can remove your old bbPress installation files, as long as you keep the bb-config.php file in the same location."
2234
  msgstr ""
2235
 
2236
+ #: bp-forums/bp-forums-admin.php:144 bp-forums/deprecated/1.6.php:104
2237
  msgid "Existing bbPress Installation"
2238
  msgstr ""
2239
 
2240
+ #: bp-forums/bp-forums-admin.php:145 bp-forums/deprecated/1.6.php:105
2241
  msgid "BuddyPress can make use of your existing bbPress install. Just provide the location of your <code>bb-config.php</code> file, and BuddyPress will do the rest."
2242
  msgstr ""
2243
 
2244
+ #: bp-forums/bp-forums-admin.php:147 bp-forums/bp-forums-admin.php:179
2245
  #: bp-forums/deprecated/1.6.php:107 bp-forums/deprecated/1.6.php:139
2246
  msgid "Complete Installation"
2247
  msgstr ""
2248
 
2249
+ #: bp-forums/bp-forums-admin.php:163 bp-forums/deprecated/1.6.php:123
2250
  msgid "<p>All done! Configuration settings have been saved to the file <code>bb-config.php</code> in the root of your WordPress install.</p>"
2251
  msgstr ""
2252
 
2253
+ #: bp-forums/bp-forums-admin.php:167 bp-forums/deprecated/1.6.php:127
2254
  msgid "<p>A configuration file could not be created. No problem, but you will need to save the text shown below into a file named <code>bb-config.php</code> in the root directory of your WordPress installation before you can start using the forum functionality.</p>"
2255
  msgstr ""
2256
 
2257
+ #: bp-forums/bp-forums-admin.php:176 bp-forums/deprecated/1.6.php:136
2258
  msgid "New bbPress Installation"
2259
  msgstr ""
2260
 
2261
+ #: bp-forums/bp-forums-admin.php:177 bp-forums/deprecated/1.6.php:137
2262
  msgid ""
2263
  "You've decided to set up a new installation of bbPress for forum management in BuddyPress. This is very simple and is usually just a one click\n"
2264
  "\t\t\t\tprocess. When you're ready, hit the link below."
2265
  msgstr ""
2266
 
2267
+ #: bp-forums/bp-forums-admin.php:189 bp-forums/deprecated/1.6.php:149
2268
  msgid "bbPress files were not found. To install the forums component you must download a copy of bbPress and make sure it is in the folder: \"%s\""
2269
  msgstr ""
2270
 
2271
+ #: bp-forums/bp-forums-admin.php:216 bp-forums/deprecated/1.6.php:176
2272
  msgid "Install Group Forums"
2273
  msgstr ""
2274
 
2275
+ #: bp-forums/bp-forums-admin.php:217 bp-forums/deprecated/1.6.php:177
2276
  msgid "Use Existing Installation"
2277
  msgstr ""
2278
 
2776
  msgid "Group Avatar"
2777
  msgstr ""
2778
 
2779
+ #: bp-groups/bp-groups-classes.php:832
2780
  msgid "Group Mod"
2781
  msgstr ""
2782
 
2783
+ #: bp-groups/bp-groups-classes.php:838 bp-groups/bp-groups-functions.php:121
2784
  msgid "Group Admin"
2785
  msgstr ""
2786
 
2796
  msgid "As the only Admin, you cannot leave the group."
2797
  msgstr ""
2798
 
2799
+ #: bp-groups/bp-groups-functions.php:357 bp-groups/bp-groups-functions.php:848
2800
  #: bp-groups/bp-groups-screens.php:61
2801
  msgid "%1$s joined the group %2$s"
2802
  msgstr ""
2959
  "---------------------\n"
2960
  msgstr ""
2961
 
2962
+ #: bp-groups/bp-groups-notifications.php:235
2963
  msgid "You have an invitation to the group: \"%s\""
2964
  msgstr ""
2965
 
2966
+ #: bp-groups/bp-groups-notifications.php:237
2967
  msgid ""
2968
  "One of your friends %1$s has invited you to the group: \"%2$s\".\n"
2969
  "\n"
5035
  #: bp-themes/bp-default/members/single/profile/edit.php:58
5036
  #: bp-themes/bp-default/members/single/profile/edit.php:73
5037
  #: bp-themes/bp-default/registration/register.php:119
5038
+ #: bp-xprofile/bp-xprofile-admin.php:415
5039
  msgid "Clear"
5040
  msgstr ""
5041
 
5278
  msgid "Fields in the \"%s\" group will appear on the signup page."
5279
  msgstr ""
5280
 
5281
+ #: bp-xprofile/bp-xprofile-admin.php:98 bp-xprofile/bp-xprofile-admin.php:382
5282
  msgid "(Primary)"
5283
  msgstr ""
5284
 
5314
  msgid "The group was deleted successfully."
5315
  msgstr ""
5316
 
5317
+ #: bp-xprofile/bp-xprofile-admin.php:265
5318
  msgid "There was an error saving the field. Please try again"
5319
  msgstr ""
5320
 
5321
+ #: bp-xprofile/bp-xprofile-admin.php:272
5322
  msgid "The field was saved successfully."
5323
  msgstr ""
5324
 
5325
+ #: bp-xprofile/bp-xprofile-admin.php:316
5326
  msgid "field"
5327
  msgstr ""
5328
 
5329
+ #: bp-xprofile/bp-xprofile-admin.php:316
5330
  msgid "option"
5331
  msgstr ""
5332
 
5333
+ #: bp-xprofile/bp-xprofile-admin.php:320
5334
  msgid "There was an error deleting the %s. Please try again"
5335
  msgstr ""
5336
 
5337
+ #: bp-xprofile/bp-xprofile-admin.php:323
5338
  msgid "The %s was deleted successfully!"
5339
  msgstr ""
5340
 
5341
+ #: bp-xprofile/bp-xprofile-admin.php:382
5342
  msgid "(Required)"
5343
  msgstr ""
5344
 
bp-loader.php CHANGED
@@ -14,7 +14,7 @@
14
  * 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.
15
  * Author: The BuddyPress Community
16
  * Author URI: http://buddypress.org/community/members/
17
- * Version: 1.6-beta1
18
  * Text Domain: buddypress
19
  * Domain Path: /bp-languages/
20
  */
@@ -52,7 +52,7 @@ class BuddyPress {
52
  /**
53
  * @var string BuddyPress version
54
  */
55
- public $version = '1.6-alpha-6041';
56
 
57
  /**
58
  * @var int Database version of current BuddyPress files
14
  * 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.
15
  * Author: The BuddyPress Community
16
  * Author URI: http://buddypress.org/community/members/
17
+ * Version: 1.6-beta2
18
  * Text Domain: buddypress
19
  * Domain Path: /bp-languages/
20
  */
52
  /**
53
  * @var string BuddyPress version
54
  */
55
+ public $version = '1.6-beta2-6162';
56
 
57
  /**
58
  * @var int Database version of current BuddyPress files
bp-members/bp-members-template.php CHANGED
@@ -703,7 +703,7 @@ function bp_get_loggedin_user_nav() {
703
  $selected = '';
704
 
705
  // If the current component matches the nav item id, then add a highlight CSS class.
706
- if ( !bp_is_directory() && $bp->active_components[bp_current_component()] == $nav_item['css_id'] ) {
707
  $selected = ' class="current selected"';
708
  }
709
 
@@ -887,7 +887,7 @@ function bp_loggedin_user_id() {
887
  return apply_filters( 'bp_loggedin_user_id', $id );
888
  }
889
 
890
- function bp_current_user_id() { return bp_loggedin_user_id(); }
891
 
892
  function bp_displayed_user_domain() {
893
  global $bp;
703
  $selected = '';
704
 
705
  // If the current component matches the nav item id, then add a highlight CSS class.
706
+ if ( !bp_is_directory() && !empty( $bp->active_components[bp_current_component()] ) && $bp->active_components[bp_current_component()] == $nav_item['css_id'] ) {
707
  $selected = ' class="current selected"';
708
  }
709
 
887
  return apply_filters( 'bp_loggedin_user_id', $id );
888
  }
889
 
890
+ function bp_current_user_id() { return bp_displayed_user_id(); }
891
 
892
  function bp_displayed_user_domain() {
893
  global $bp;
bp-themes/bp-default/_inc/global.js CHANGED
@@ -112,7 +112,7 @@ jq(document).ready( function() {
112
 
113
  var u = '';
114
  if ( ltext != '' )
115
- u = '&quot;' + l + '&quot; ';
116
 
117
  u += '<a href="' + v + '" rel="nofollow">' + BP_DTheme.view + '</a>';
118
 
112
 
113
  var u = '';
114
  if ( ltext != '' )
115
+ u = l + ' ';
116
 
117
  u += '<a href="' + v + '" rel="nofollow">' + BP_DTheme.view + '</a>';
118
 
bp-themes/bp-default/_inc/images/rss.png CHANGED
File without changes
bp-themes/bp-default/members/single/member-header.php CHANGED
@@ -12,7 +12,7 @@
12
  <?php do_action( 'bp_before_member_header' ); ?>
13
 
14
  <div id="item-header-avatar">
15
- <a href="<?php bp_user_link(); ?>">
16
 
17
  <?php bp_displayed_user_avatar( 'type=full' ); ?>
18
 
12
  <?php do_action( 'bp_before_member_header' ); ?>
13
 
14
  <div id="item-header-avatar">
15
+ <a href="<?php bp_displayed_user_link(); ?>">
16
 
17
  <?php bp_displayed_user_avatar( 'type=full' ); ?>
18
 
bp-themes/bp-default/rtl.css CHANGED
@@ -2,7 +2,7 @@
2
  * Theme Name: BuddyPress Default
3
  * Theme URI: http://buddypress.org/extend/themes/
4
  * Description: Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
5
- * Version: 1.6-beta1
6
  * Author: the BuddyPress team
7
  * Author URI: http://buddypress.org
8
  * License: GNU General Public License
2
  * Theme Name: BuddyPress Default
3
  * Theme URI: http://buddypress.org/extend/themes/
4
  * Description: Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
5
+ * Version: 1.6-beta2
6
  * Author: the BuddyPress team
7
  * Author URI: http://buddypress.org
8
  * License: GNU General Public License
bp-themes/bp-default/searchform.php CHANGED
File without changes
bp-themes/bp-default/style.css CHANGED
@@ -2,7 +2,7 @@
2
  * Theme Name: BuddyPress Default
3
  * Theme URI: http://buddypress.org/extend/themes/
4
  * Description: Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
5
- * Version: 1.6-beta1
6
  * Author: the BuddyPress team
7
  * Author URI: http://buddypress.org
8
  * License: GNU General Public License
2
  * Theme Name: BuddyPress Default
3
  * Theme URI: http://buddypress.org/extend/themes/
4
  * Description: Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
5
+ * Version: 1.6-beta2
6
  * Author: the BuddyPress team
7
  * Author URI: http://buddypress.org
8
  * License: GNU General Public License
bp-xprofile/bp-xprofile-admin.php CHANGED
@@ -257,7 +257,11 @@ function xprofile_admin_manage_field( $group_id, $field_id = null ) {
257
  $field->field_order++;
258
  }
259
 
260
- if ( !$field->save() ) {
 
 
 
 
261
  $message = __( 'There was an error saving the field. Please try again', 'buddypress' );
262
  $type = 'error';
263
 
257
  $field->field_order++;
258
  }
259
 
260
+ // For new profile fields, set the $field_id. For existing profile fields,
261
+ // this will overwrite $field_id with the same value.
262
+ $field_id = $field->save();
263
+
264
+ if ( !$field_id ) {
265
  $message = __( 'There was an error saving the field. Please try again', 'buddypress' );
266
  $type = 'error';
267
 
bp-xprofile/bp-xprofile-classes.php CHANGED
@@ -303,7 +303,7 @@ class BP_XProfile_Group {
303
 
304
  foreach( (array)$fields as $key => $field ) {
305
  // Does the admin allow this field to be customized?
306
- $allow_custom = !empty( $admin_set_levels[$field->id]['allow_custom'] ) && 'disabled' != $admin_set_levels[$field->id]['allow_custom'];
307
 
308
  // Look to see if the user has set the visibility for this field
309
  if ( $allow_custom && isset( $visibility_levels[$field->id] ) ) {
303
 
304
  foreach( (array)$fields as $key => $field ) {
305
  // Does the admin allow this field to be customized?
306
+ $allow_custom = empty( $admin_set_levels[$field->id]['allow_custom'] ) || 'enabled' == $admin_set_levels[$field->id]['allow_custom'];
307
 
308
  // Look to see if the user has set the visibility for this field
309
  if ( $allow_custom && isset( $visibility_levels[$field->id] ) ) {
readme.txt CHANGED
@@ -1,7 +1,7 @@
1
  === Plugin Name ===
2
  Contributors: apeatling, johnjamesjacoby, MrMaz, DJPaul, boonebgorges
3
  Tags: buddypress, social networking, activity, profiles, messaging, friends, groups, forums, microblogging, twitter, facebook, social, community, networks, networking, cms
4
- Requires at least: 3.3
5
  Tested up to: 3.4
6
  Stable tag: 1.5.6
7
  License: GPLv2 or later
1
  === Plugin Name ===
2
  Contributors: apeatling, johnjamesjacoby, MrMaz, DJPaul, boonebgorges
3
  Tags: buddypress, social networking, activity, profiles, messaging, friends, groups, forums, microblogging, twitter, facebook, social, community, networks, networking, cms
4
+ Requires at least: 3.4
5
  Tested up to: 3.4
6
  Stable tag: 1.5.6
7
  License: GPLv2 or later