BuddyPress - Version 3.1.0

Version Description

See: https://codex.buddypress.org/releases/version-3-1-0/

=

Download this release

Release Info

Developer DJPaul
Plugin Icon 128x128 BuddyPress
Version 3.1.0
Comparing to
See all releases

Code changes from version 3.0.0 to 3.1.0

Files changed (98) hide show
  1. bp-activity/bp-activity-functions.php +24 -15
  2. bp-activity/classes/class-bp-activity-activity.php +16 -4
  3. bp-core/bp-core-functions.php +13 -4
  4. bp-core/classes/class-bp-admin.php +18 -0
  5. bp-core/classes/class-bp-core-login-widget.php +1 -1
  6. bp-groups/actions/create.php +6 -4
  7. bp-groups/bp-groups-activity.php +1 -26
  8. bp-groups/bp-groups-functions.php +32 -5
  9. bp-groups/screens/user/invites.php +6 -4
  10. bp-loader.php +1 -1
  11. bp-members/screens/register.php +6 -1
  12. bp-messages/bp-messages-functions.php +6 -0
  13. bp-templates/bp-legacy/buddypress-functions.php +2 -2
  14. bp-templates/bp-legacy/buddypress/groups/single/request-membership.php +15 -8
  15. bp-templates/bp-nouveau/buddypress-functions.php +1 -1
  16. bp-templates/bp-nouveau/buddypress/activity/activity-loop.php +2 -2
  17. bp-templates/bp-nouveau/buddypress/activity/comment-form.php +12 -5
  18. bp-templates/bp-nouveau/buddypress/activity/post-form.php +7 -9
  19. bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/camera.php +3 -3
  20. bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/crop.php +2 -2
  21. bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/index.php +2 -2
  22. bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php +13 -5
  23. bp-templates/bp-nouveau/buddypress/assets/_attachments/uploader.php +8 -3
  24. bp-templates/bp-nouveau/buddypress/assets/emails/single-bp-email.php +2 -2
  25. bp-templates/bp-nouveau/buddypress/common/js-templates/activity/form.php +2 -2
  26. bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php +16 -16
  27. bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php +55 -27
  28. bp-templates/bp-nouveau/buddypress/common/notices/template-notices.php +2 -2
  29. bp-templates/bp-nouveau/buddypress/common/search-and-filters-bar.php +2 -2
  30. bp-templates/bp-nouveau/buddypress/common/search/search-form.php +2 -2
  31. bp-templates/bp-nouveau/buddypress/groups/create.php +3 -2
  32. bp-templates/bp-nouveau/buddypress/groups/groups-loop.php +10 -2
  33. bp-templates/bp-nouveau/buddypress/groups/single/activity.php +2 -2
  34. bp-templates/bp-nouveau/buddypress/groups/single/admin/delete-group.php +3 -3
  35. bp-templates/bp-nouveau/buddypress/groups/single/admin/edit-details.php +6 -6
  36. bp-templates/bp-nouveau/buddypress/groups/single/admin/group-avatar.php +8 -8
  37. bp-templates/bp-nouveau/buddypress/groups/single/admin/group-cover-image.php +2 -2
  38. bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php +25 -23
  39. bp-templates/bp-nouveau/buddypress/groups/single/admin/manage-members.php +16 -9
  40. bp-templates/bp-nouveau/buddypress/groups/single/cover-image-header.php +16 -13
  41. bp-templates/bp-nouveau/buddypress/groups/single/group-header.php +12 -2
  42. bp-templates/bp-nouveau/buddypress/groups/single/parts/header-item-actions.php +4 -4
  43. bp-templates/bp-nouveau/buddypress/groups/single/request-membership.php +14 -4
  44. bp-templates/bp-nouveau/buddypress/members/activate.php +16 -6
  45. bp-templates/bp-nouveau/buddypress/members/register.php +5 -5
  46. bp-templates/bp-nouveau/buddypress/members/single/default-front.php +2 -2
  47. bp-templates/bp-nouveau/buddypress/members/single/groups/invites.php +15 -2
  48. bp-templates/bp-nouveau/buddypress/members/single/notifications/notifications-loop.php +6 -6
  49. bp-templates/bp-nouveau/buddypress/members/single/parts/item-nav.php +2 -2
  50. bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php +6 -5
  51. bp-templates/bp-nouveau/buddypress/members/single/profile/change-avatar.php +9 -9
  52. bp-templates/bp-nouveau/buddypress/members/single/profile/change-cover-image.php +3 -3
  53. bp-templates/bp-nouveau/buddypress/members/single/profile/edit.php +10 -2
  54. bp-templates/bp-nouveau/buddypress/members/single/profile/profile-loop.php +2 -2
  55. bp-templates/bp-nouveau/buddypress/members/single/profile/profile-wp.php +2 -2
  56. bp-templates/bp-nouveau/buddypress/members/single/settings/capabilities.php +3 -3
  57. bp-templates/bp-nouveau/buddypress/members/single/settings/delete-account.php +3 -3
  58. bp-templates/bp-nouveau/buddypress/members/single/settings/general.php +5 -5
  59. bp-templates/bp-nouveau/buddypress/members/single/settings/profile.php +4 -4
  60. bp-templates/bp-nouveau/includes/activity/ajax.php +4 -4
  61. bp-templates/bp-nouveau/includes/activity/functions.php +9 -3
  62. bp-templates/bp-nouveau/includes/activity/template-tags.php +14 -21
  63. bp-templates/bp-nouveau/includes/activity/widgets.php +3 -3
  64. bp-templates/bp-nouveau/includes/blogs/functions.php +2 -2
  65. bp-templates/bp-nouveau/includes/classes.php +2 -7
  66. bp-templates/bp-nouveau/includes/customizer-controls.php +4 -4
  67. bp-templates/bp-nouveau/includes/customizer.php +7 -7
  68. bp-templates/bp-nouveau/includes/functions.php +23 -13
  69. bp-templates/bp-nouveau/includes/groups/ajax.php +30 -20
  70. bp-templates/bp-nouveau/includes/groups/functions.php +22 -23
  71. bp-templates/bp-nouveau/includes/members/functions.php +2 -2
  72. bp-templates/bp-nouveau/includes/members/template-tags.php +3 -3
  73. bp-templates/bp-nouveau/includes/messages/ajax.php +95 -20
  74. bp-templates/bp-nouveau/includes/messages/functions.php +49 -23
  75. bp-templates/bp-nouveau/includes/notifications/functions.php +25 -10
  76. bp-templates/bp-nouveau/includes/notifications/template-tags.php +8 -9
  77. bp-templates/bp-nouveau/includes/template-tags.php +29 -16
  78. bp-templates/bp-nouveau/js/buddypress-activity-post-form.js +3 -3
  79. bp-templates/bp-nouveau/js/buddypress-activity-post-form.min.js +1 -1
  80. bp-templates/bp-nouveau/js/buddypress-activity.js +2 -2
  81. bp-templates/bp-nouveau/js/buddypress-activity.min.js +1 -1
  82. bp-templates/bp-nouveau/js/buddypress-messages.js +73 -28
  83. bp-templates/bp-nouveau/js/buddypress-messages.min.js +1 -1
  84. bp-themes/bp-default/registration/activate.php +2 -2
  85. buddypress.pot +652 -504
  86. class-buddypress.php +1 -1
  87. cli/.travis.yml +2 -3
  88. cli/components/activity.php +4 -2
  89. cli/components/buddypress.php +48 -0
  90. cli/components/component.php +99 -11
  91. cli/components/group-invite.php +3 -1
  92. cli/components/tool.php +12 -0
  93. cli/components/xprofile.php +48 -0
  94. cli/composer.lock +3279 -0
  95. cli/features/component.feature +3 -3
  96. cli/readme.md +8 -0
  97. cli/wp-cli-bp.php +22 -0
  98. readme.txt +5 -5
bp-activity/bp-activity-functions.php CHANGED
@@ -3107,33 +3107,42 @@ function bp_activity_get_permalink( $activity_id, $activity_obj = false ) {
3107
  * @return boolean True on success, false on failure.
3108
  */
3109
  function bp_activity_user_can_read( $activity, $user_id = 0 ) {
3110
- $retval = false;
3111
 
3112
  // Fallback.
3113
  if ( empty( $user_id ) ) {
3114
  $user_id = bp_loggedin_user_id();
3115
  }
3116
 
3117
- // Admins and moderators can see everything.
3118
- if ( bp_current_user_can( 'bp_moderate' ) ) {
3119
- $retval = true;
3120
- }
3121
-
3122
- // If activity author match user, allow access as well.
3123
- if ( $user_id === $activity->user_id ) {
3124
- $retval = true;
3125
- }
3126
-
3127
- // If activity is from a group, do an extra cap check.
3128
- if ( ! $retval && bp_is_active( 'groups' ) && $activity->component === buddypress()->groups->id ) {
3129
-
3130
  // Check to see if the user has access to the activity's parent group.
3131
  $group = groups_get_group( $activity->item_id );
3132
  if ( $group ) {
3133
- $retval = $group->user_has_access;
 
 
 
 
 
 
 
 
 
 
3134
  }
3135
  }
3136
 
 
 
 
 
 
 
 
 
 
 
3137
  /**
3138
  * Filters whether the current user has access to an activity item.
3139
  *
3107
  * @return boolean True on success, false on failure.
3108
  */
3109
  function bp_activity_user_can_read( $activity, $user_id = 0 ) {
3110
+ $retval = true;
3111
 
3112
  // Fallback.
3113
  if ( empty( $user_id ) ) {
3114
  $user_id = bp_loggedin_user_id();
3115
  }
3116
 
3117
+ // If activity is from a group, do extra cap checks.
3118
+ if ( bp_is_active( 'groups' ) && buddypress()->groups->id === $activity->component ) {
 
 
 
 
 
 
 
 
 
 
 
3119
  // Check to see if the user has access to the activity's parent group.
3120
  $group = groups_get_group( $activity->item_id );
3121
  if ( $group ) {
3122
+ // For logged-in user, we can check against the 'user_has_access' prop.
3123
+ if ( bp_loggedin_user_id() === $user_id ) {
3124
+ $retval = $group->user_has_access;
3125
+
3126
+ // Manually check status.
3127
+ } elseif ( 'private' === $group->status || 'hidden' === $group->status ) {
3128
+ // Only group members that are not banned can view.
3129
+ if ( ! groups_is_user_member( $user_id, $activity->item_id ) || groups_is_user_banned( $user_id, $activity->item_id ) ) {
3130
+ $retval = false;
3131
+ }
3132
+ }
3133
  }
3134
  }
3135
 
3136
+ // Spammed items are not visible to the public.
3137
+ if ( $activity->is_spam ) {
3138
+ $retval = false;
3139
+ }
3140
+
3141
+ // Site moderators can view anything.
3142
+ if ( bp_current_user_can( 'bp_moderate' ) ) {
3143
+ $retval = true;
3144
+ }
3145
+
3146
  /**
3147
  * Filters whether the current user has access to an activity item.
3148
  *
bp-activity/classes/class-bp-activity-activity.php CHANGED
@@ -613,12 +613,12 @@ class BP_Activity_Activity {
613
  $from_sql = " FROM {$bp->activity->table_name} a LEFT JOIN {$wpdb->users} u ON a.user_id = u.ID";
614
 
615
  if ( ! empty( $page ) && ! empty( $per_page ) ) {
616
- $pag_sql = $wpdb->prepare( "LIMIT %d, %d", absint( ( $page - 1 ) * $per_page ), $per_page );
617
 
618
  /** This filter is documented in bp-activity/bp-activity-classes.php */
619
- $activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY a.date_recorded {$sort}, a.id {$sort} {$pag_sql}", $select_sql, $from_sql, $where_sql, $sort, $pag_sql ) );
620
  } else {
621
- $pag_sql = '';
622
 
623
  /**
624
  * Filters the legacy MySQL query statement so plugins can alter before results are fetched.
@@ -631,9 +631,21 @@ class BP_Activity_Activity {
631
  * @param string $where_sql Final WHERE MySQL statement portion for legacy query.
632
  * @param string $sort Final sort direction for legacy query.
633
  */
634
- $activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY a.date_recorded {$sort}, a.id {$sort}", $select_sql, $from_sql, $where_sql, $sort, $pag_sql ) );
635
  }
636
 
 
 
 
 
 
 
 
 
 
 
 
 
637
  // Integer casting for legacy activity query.
638
  foreach ( (array) $activities as $i => $ac ) {
639
  $activities[ $i ]->id = (int) $ac->id;
613
  $from_sql = " FROM {$bp->activity->table_name} a LEFT JOIN {$wpdb->users} u ON a.user_id = u.ID";
614
 
615
  if ( ! empty( $page ) && ! empty( $per_page ) ) {
616
+ $pag_sql = $wpdb->prepare( "LIMIT %d, %d", absint( ( $page - 1 ) * $per_page ), $per_page );
617
 
618
  /** This filter is documented in bp-activity/bp-activity-classes.php */
619
+ $activity_sql = apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY a.date_recorded {$sort}, a.id {$sort} {$pag_sql}", $select_sql, $from_sql, $where_sql, $sort, $pag_sql );
620
  } else {
621
+ $pag_sql = '';
622
 
623
  /**
624
  * Filters the legacy MySQL query statement so plugins can alter before results are fetched.
631
  * @param string $where_sql Final WHERE MySQL statement portion for legacy query.
632
  * @param string $sort Final sort direction for legacy query.
633
  */
634
+ $activity_sql = apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY a.date_recorded {$sort}, a.id {$sort}", $select_sql, $from_sql, $where_sql, $sort, $pag_sql );
635
  }
636
 
637
+ /*
638
+ * Queries that include 'last_activity' are cached separately,
639
+ * since they are generally much less long-lived.
640
+ */
641
+ if ( preg_match( '/a\.type NOT IN \([^\)]*\'last_activity\'[^\)]*\)/', $activity_sql ) ) {
642
+ $cache_group = 'bp_activity';
643
+ } else {
644
+ $cache_group = 'bp_activity_with_last_activity';
645
+ }
646
+
647
+ $activities = $wpdb->get_results( $activity_sql );
648
+
649
  // Integer casting for legacy activity query.
650
  foreach ( (array) $activities as $i => $ac ) {
651
  $activities[ $i ]->id = (int) $ac->id;
bp-core/bp-core-functions.php CHANGED
@@ -3387,10 +3387,7 @@ function bp_email_get_schema() {
3387
  /* translators: do not remove {} brackets or translate its contents. */
3388
  'post_content' => __( "Thanks for registering!\n\nTo complete the activation of your account, go to the following link: <a href=\"{{{activate.url}}}\">{{{activate.url}}}</a>", 'buddypress' ),
3389
  /* translators: do not remove {} brackets or translate its contents. */
3390
- 'post_excerpt' => __( "Thanks for registering!\n\nTo complete the activation of your account, go to the following link: {{{activate.url}}}", 'buddypress' ),
3391
- 'args' => array(
3392
- 'multisite' => true,
3393
- ),
3394
  ),
3395
  'core-user-registration-with-blog' => array(
3396
  /* translators: do not remove {} brackets or translate its contents. */
@@ -3840,3 +3837,15 @@ function bp_get_allowedtags() {
3840
  'li' => array(),
3841
  ) );
3842
  }
 
 
 
 
 
 
 
 
 
 
 
 
3387
  /* translators: do not remove {} brackets or translate its contents. */
3388
  'post_content' => __( "Thanks for registering!\n\nTo complete the activation of your account, go to the following link: <a href=\"{{{activate.url}}}\">{{{activate.url}}}</a>", 'buddypress' ),
3389
  /* translators: do not remove {} brackets or translate its contents. */
3390
+ 'post_excerpt' => __( "Thanks for registering!\n\nTo complete the activation of your account, go to the following link: {{{activate.url}}}", 'buddypress' )
 
 
 
3391
  ),
3392
  'core-user-registration-with-blog' => array(
3393
  /* translators: do not remove {} brackets or translate its contents. */
3837
  'li' => array(),
3838
  ) );
3839
  }
3840
+
3841
+ /**
3842
+ * Remove script and style tags from a string.
3843
+ *
3844
+ * @since 3.0.1
3845
+ *
3846
+ * @param string $string The string to strip tags from.
3847
+ * @return string The stripped tags string.
3848
+ */
3849
+ function bp_strip_script_and_style_tags( $string ) {
3850
+ return preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $string );
3851
+ }
bp-core/classes/class-bp-admin.php CHANGED
@@ -571,6 +571,24 @@ class BP_Admin {
571
  </div>
572
 
573
  <div class="bp-hello-content">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
574
  <h2><?php esc_html_e( __( 'Say hello to &ldquo;Nouveau&rdquo;!', 'buddypress' ) ); ?></h2>
575
  <p>
576
  <?php
571
  </div>
572
 
573
  <div class="bp-hello-content">
574
+ <h2><?php echo esc_html( _n( 'Maintenance Release', 'Maintenance Releases', 1, 'buddypress' ) ); ?></h2>
575
+ <p>
576
+ <?php
577
+ printf(
578
+ /* translators: 1: BuddyPress version number, 2: plural number of bugs. */
579
+ _n(
580
+ '<strong>Version %1$s</strong> addressed %2$s bug.',
581
+ '<strong>Version %1$s</strong> addressed %2$s bugs.',
582
+ 23,
583
+ 'buddypress'
584
+ ),
585
+ self::display_version(),
586
+ number_format_i18n( 23 )
587
+ );
588
+ ?>
589
+ </p>
590
+
591
+ <hr>
592
  <h2><?php esc_html_e( __( 'Say hello to &ldquo;Nouveau&rdquo;!', 'buddypress' ) ); ?></h2>
593
  <p>
594
  <?php
bp-core/classes/class-bp-core-login-widget.php CHANGED
@@ -104,7 +104,7 @@ class BP_Core_Login_Widget extends WP_Widget {
104
  */
105
  do_action( 'bp_before_login_widget_loggedout' ); ?>
106
 
107
- <form name="bp-login-form" id="bp-login-widget-form" class="standard-form" action="<?php echo esc_url( wp_login_url() ); ?>" method="post">
108
  <label for="bp-login-widget-user-login"><?php _e( 'Username', 'buddypress' ); ?></label>
109
  <input type="text" name="log" id="bp-login-widget-user-login" class="input" value="" />
110
 
104
  */
105
  do_action( 'bp_before_login_widget_loggedout' ); ?>
106
 
107
+ <form name="bp-login-form" id="bp-login-widget-form" class="standard-form" action="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" method="post">
108
  <label for="bp-login-widget-user-login"><?php _e( 'Username', 'buddypress' ); ?></label>
109
  <input type="text" name="log" id="bp-login-widget-user-login" class="input" value="" />
110
 
bp-groups/actions/create.php CHANGED
@@ -182,10 +182,12 @@ function groups_action_create_group() {
182
  setcookie( 'bp_completed_create_steps', false, time() - 3600, COOKIEPATH, COOKIE_DOMAIN, is_ssl() );
183
 
184
  // Once we completed all steps, record the group creation in the activity stream.
185
- groups_record_activity( array(
186
- 'type' => 'created_group',
187
- 'item_id' => $bp->groups->new_group_id
188
- ) );
 
 
189
 
190
  /**
191
  * Fires after the group has been successfully created.
182
  setcookie( 'bp_completed_create_steps', false, time() - 3600, COOKIEPATH, COOKIE_DOMAIN, is_ssl() );
183
 
184
  // Once we completed all steps, record the group creation in the activity stream.
185
+ if ( bp_is_active( 'activity' ) ) {
186
+ groups_record_activity( array(
187
+ 'type' => 'created_group',
188
+ 'item_id' => $bp->groups->new_group_id
189
+ ) );
190
+ }
191
 
192
  /**
193
  * Fires after the group has been successfully created.
bp-groups/bp-groups-activity.php CHANGED
@@ -392,7 +392,7 @@ function bp_groups_filter_activity_can_comment( $retval, $activity = null ) {
392
 
393
  // If current user is not a group member or is banned, user cannot comment.
394
  if ( ! bp_current_user_can( 'bp_moderate' ) &&
395
- ( ! groups_is_user_member( bp_loggedin_user_id(), $group_id ) || ! groups_is_user_banned( bp_loggedin_user_id(), $group_id ) )
396
  ) {
397
  $retval = false;
398
  }
@@ -426,31 +426,6 @@ function bp_groups_filter_activity_can_comment_reply( $retval, $comment ) {
426
  }
427
  add_filter( 'bp_activity_can_comment_reply', 'bp_groups_filter_activity_can_comment_reply', 99, 2 );
428
 
429
- /**
430
- * Update the last_activity meta value for a given group.
431
- *
432
- * @since 1.0.0
433
- *
434
- * @param int $group_id Optional. The ID of the group whose last_activity is
435
- * being updated. Default: the current group's ID.
436
- * @return false|null False on failure.
437
- */
438
- function groups_update_last_activity( $group_id = 0 ) {
439
-
440
- if ( empty( $group_id ) ) {
441
- $group_id = buddypress()->groups->current_group->id;
442
- }
443
-
444
- if ( empty( $group_id ) ) {
445
- return false;
446
- }
447
-
448
- groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() );
449
- }
450
- add_action( 'groups_join_group', 'groups_update_last_activity' );
451
- add_action( 'groups_leave_group', 'groups_update_last_activity' );
452
- add_action( 'groups_created_group', 'groups_update_last_activity' );
453
-
454
  /**
455
  * Add an activity stream item when a member joins a group.
456
  *
392
 
393
  // If current user is not a group member or is banned, user cannot comment.
394
  if ( ! bp_current_user_can( 'bp_moderate' ) &&
395
+ ( ! groups_is_user_member( bp_loggedin_user_id(), $group_id ) || groups_is_user_banned( bp_loggedin_user_id(), $group_id ) )
396
  ) {
397
  $retval = false;
398
  }
426
  }
427
  add_filter( 'bp_activity_can_comment_reply', 'bp_groups_filter_activity_can_comment_reply', 99, 2 );
428
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  /**
430
  * Add an activity stream item when a member joins a group.
431
  *
bp-groups/bp-groups-functions.php CHANGED
@@ -585,11 +585,13 @@ function groups_join_group( $group_id, $user_id = 0 ) {
585
  $group = $bp->groups->current_group;
586
 
587
  // Record this in activity streams.
588
- groups_record_activity( array(
589
- 'type' => 'joined_group',
590
- 'item_id' => $group_id,
591
- 'user_id' => $user_id,
592
- ) );
 
 
593
 
594
  /**
595
  * Fires after a user joins a group.
@@ -604,6 +606,31 @@ function groups_join_group( $group_id, $user_id = 0 ) {
604
  return true;
605
  }
606
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
607
  /** General Group Functions ***************************************************/
608
 
609
  /**
585
  $group = $bp->groups->current_group;
586
 
587
  // Record this in activity streams.
588
+ if ( bp_is_active( 'activity' ) ) {
589
+ groups_record_activity( array(
590
+ 'type' => 'joined_group',
591
+ 'item_id' => $group_id,
592
+ 'user_id' => $user_id,
593
+ ) );
594
+ }
595
 
596
  /**
597
  * Fires after a user joins a group.
606
  return true;
607
  }
608
 
609
+ /**
610
+ * Update the last_activity meta value for a given group.
611
+ *
612
+ * @since 1.0.0
613
+ *
614
+ * @param int $group_id Optional. The ID of the group whose last_activity is
615
+ * being updated. Default: the current group's ID.
616
+ * @return false|null False on failure.
617
+ */
618
+ function groups_update_last_activity( $group_id = 0 ) {
619
+
620
+ if ( empty( $group_id ) ) {
621
+ $group_id = buddypress()->groups->current_group->id;
622
+ }
623
+
624
+ if ( empty( $group_id ) ) {
625
+ return false;
626
+ }
627
+
628
+ groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() );
629
+ }
630
+ add_action( 'groups_join_group', 'groups_update_last_activity' );
631
+ add_action( 'groups_leave_group', 'groups_update_last_activity' );
632
+ add_action( 'groups_created_group', 'groups_update_last_activity' );
633
+
634
  /** General Group Functions ***************************************************/
635
 
636
  /**
bp-groups/screens/user/invites.php CHANGED
@@ -28,10 +28,12 @@ function groups_screen_group_invites() {
28
 
29
  bp_core_add_message( sprintf( __( 'Group invite accepted. Visit %s.', 'buddypress' ), bp_get_group_link( $group ) ) );
30
 
31
- groups_record_activity( array(
32
- 'type' => 'joined_group',
33
- 'item_id' => $group->id
34
- ) );
 
 
35
  }
36
 
37
  if ( isset( $_GET['redirect_to'] ) ) {
28
 
29
  bp_core_add_message( sprintf( __( 'Group invite accepted. Visit %s.', 'buddypress' ), bp_get_group_link( $group ) ) );
30
 
31
+ if ( bp_is_active( 'activity' ) ) {
32
+ groups_record_activity( array(
33
+ 'type' => 'joined_group',
34
+ 'item_id' => $group->id
35
+ ) );
36
+ }
37
  }
38
 
39
  if ( isset( $_GET['redirect_to'] ) ) {
bp-loader.php CHANGED
@@ -15,7 +15,7 @@
15
  * Description: BuddyPress adds community features to WordPress. Member Profiles, Activity Streams, Direct Messaging, Notifications, and more!
16
  * Author: The BuddyPress Community
17
  * Author URI: https://buddypress.org/
18
- * Version: 3.0.0
19
  * Text Domain: buddypress
20
  * Domain Path: /bp-languages/
21
  * License: GPLv2 or later (license.txt)
15
  * Description: BuddyPress adds community features to WordPress. Member Profiles, Activity Streams, Direct Messaging, Notifications, and more!
16
  * Author: The BuddyPress Community
17
  * Author URI: https://buddypress.org/
18
+ * Version: 3.1.0
19
  * Text Domain: buddypress
20
  * Domain Path: /bp-languages/
21
  * License: GPLv2 or later (license.txt)
bp-members/screens/register.php CHANGED
@@ -89,8 +89,13 @@ function bp_core_screen_signup() {
89
  foreach ( (array) $profile_field_ids as $field_id ) {
90
  bp_xprofile_maybe_format_datebox_post_data( $field_id );
91
 
 
92
  if ( isset( $_POST[ 'field_' . $field_id ] ) ) {
93
- $_POST[ 'field_' . $field_id ] = trim( $_POST[ 'field_' . $field_id ] );
 
 
 
 
94
  }
95
 
96
  // Create errors for required fields without values.
89
  foreach ( (array) $profile_field_ids as $field_id ) {
90
  bp_xprofile_maybe_format_datebox_post_data( $field_id );
91
 
92
+ // Trim post fields.
93
  if ( isset( $_POST[ 'field_' . $field_id ] ) ) {
94
+ if ( is_array( $_POST[ 'field_' . $field_id ] ) ) {
95
+ $_POST[ 'field_' . $field_id ] = array_map( 'trim', $_POST[ 'field_' . $field_id ] );
96
+ } else {
97
+ $_POST[ 'field_' . $field_id ] = trim( $_POST[ 'field_' . $field_id ] );
98
+ }
99
  }
100
 
101
  // Create errors for required fields without values.
bp-messages/bp-messages-functions.php CHANGED
@@ -581,6 +581,12 @@ function messages_notification_new_message( $raw_args = array() ) {
581
 
582
  $sender_name = bp_core_get_user_displayname( $sender_id );
583
 
 
 
 
 
 
 
584
  // Send an email to each recipient.
585
  foreach ( $recipients as $recipient ) {
586
  if ( $sender_id == $recipient->user_id || 'no' == bp_get_user_meta( $recipient->user_id, 'notification_messages_new_message', true ) ) {
581
 
582
  $sender_name = bp_core_get_user_displayname( $sender_id );
583
 
584
+ if ( isset( $message ) ) {
585
+ $message = wpautop( $message );
586
+ } else {
587
+ $message = '';
588
+ }
589
+
590
  // Send an email to each recipient.
591
  foreach ( $recipients as $recipient ) {
592
  if ( $sender_id == $recipient->user_id || 'no' == bp_get_user_meta( $recipient->user_id, 'notification_messages_new_message', true ) ) {
bp-templates/bp-legacy/buddypress-functions.php CHANGED
@@ -6,7 +6,7 @@
6
  *
7
  * @package BuddyPress
8
  * @subpackage BP_Theme_Compat
9
- * @version 3.0.0
10
  */
11
 
12
  // Exit if accessed directly.
@@ -740,7 +740,7 @@ function bp_legacy_theme_ajax_querystring( $query_string, $object ) {
740
  }
741
 
742
  $object_search_text = bp_get_search_default_text( $object );
743
- if ( ! empty( $_POST['search_terms'] ) && $object_search_text != $_POST['search_terms'] && 'false' != $_POST['search_terms'] && 'undefined' != $_POST['search_terms'] )
744
  $qs[] = 'search_terms=' . urlencode( $_POST['search_terms'] );
745
 
746
  // Now pass the querystring to override default values.
6
  *
7
  * @package BuddyPress
8
  * @subpackage BP_Theme_Compat
9
+ * @version 3.1.0
10
  */
11
 
12
  // Exit if accessed directly.
740
  }
741
 
742
  $object_search_text = bp_get_search_default_text( $object );
743
+ if ( ! empty( $_POST['search_terms'] ) && is_string( $_POST['search_terms'] ) && $object_search_text != $_POST['search_terms'] && 'false' != $_POST['search_terms'] && 'undefined' != $_POST['search_terms'] )
744
  $qs[] = 'search_terms=' . urlencode( $_POST['search_terms'] );
745
 
746
  // Now pass the querystring to override default values.
bp-templates/bp-legacy/buddypress/groups/single/request-membership.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @package BuddyPress
6
  * @subpackage bp-legacy
7
- * @version 3.0.0
8
  */
9
 
10
  /**
@@ -15,15 +15,22 @@
15
  do_action( 'bp_before_group_request_membership_content' ); ?>
16
 
17
  <?php if ( !bp_group_has_requested_membership() ) : ?>
18
- <h2 class="bp-screen-reader-text"><?php
19
- /* translators: accessibility text */
20
- _e( 'Request form', 'buddypress' );
21
- ?></h2>
22
 
23
- <p><?php printf( __( "You are requesting to become a member of the group '%s'.", 'buddypress' ), bp_get_group_name( false ) ); ?></p>
 
 
 
 
 
 
 
 
 
 
24
 
25
  <form action="<?php bp_group_form_action('request-membership' ); ?>" method="post" name="request-membership-form" id="request-membership-form" class="standard-form">
26
- <label for="group-request-membership-comments"><?php _e( 'Comments (optional)', 'buddypress' ); ?></label>
27
  <textarea name="group-request-membership-comments" id="group-request-membership-comments"></textarea>
28
 
29
  <?php
@@ -35,7 +42,7 @@ do_action( 'bp_before_group_request_membership_content' ); ?>
35
  */
36
  do_action( 'bp_group_request_membership_content' ); ?>
37
 
38
- <p><input type="submit" name="group-request-send" id="group-request-send" value="<?php esc_attr_e( 'Send Request', 'buddypress' ); ?>" />
39
 
40
  <?php wp_nonce_field( 'groups_request_membership' ); ?>
41
  </form><!-- #request-membership-form -->
4
  *
5
  * @package BuddyPress
6
  * @subpackage bp-legacy
7
+ * @version 3.1.0
8
  */
9
 
10
  /**
15
  do_action( 'bp_before_group_request_membership_content' ); ?>
16
 
17
  <?php if ( !bp_group_has_requested_membership() ) : ?>
18
+ <h2 class="bp-screen-reader-text"><?php esc_html_e( 'Group membership request form', 'buddypress' ); ?></h2>
 
 
 
19
 
20
+ <p>
21
+ <?php
22
+ echo esc_html(
23
+ sprintf(
24
+ /* translators: %s =group name */
25
+ __( 'You are requesting to become a member of the group "%s".', 'buddypress' ),
26
+ bp_get_group_name()
27
+ )
28
+ );
29
+ ?>
30
+ </p>
31
 
32
  <form action="<?php bp_group_form_action('request-membership' ); ?>" method="post" name="request-membership-form" id="request-membership-form" class="standard-form">
33
+ <label for="group-request-membership-comments"><?php esc_html_e( 'Comments (optional)', 'buddypress' ); ?></label>
34
  <textarea name="group-request-membership-comments" id="group-request-membership-comments"></textarea>
35
 
36
  <?php
42
  */
43
  do_action( 'bp_group_request_membership_content' ); ?>
44
 
45
+ <p><input type="submit" name="group-request-send" id="group-request-send" value="<?php echo esc_attr_x( 'Send Request', 'button', 'buddypress' ); ?>" />
46
 
47
  <?php wp_nonce_field( 'groups_request_membership' ); ?>
48
  </form><!-- #request-membership-form -->
bp-templates/bp-nouveau/buddypress-functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Functions of BuddyPress's "Nouveau" template pack.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  *
8
  * @buddypress-template-pack {
9
  * Template Pack ID: nouveau
3
  * Functions of BuddyPress's "Nouveau" template pack.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  *
8
  * @buddypress-template-pack {
9
  * Template Pack ID: nouveau
bp-templates/bp-nouveau/buddypress/activity/activity-loop.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * BuddyPress - Activity Loop
4
  *
5
- * @version 3.0.0
6
  */
7
 
8
  bp_nouveau_before_loop(); ?>
@@ -25,7 +25,7 @@ bp_nouveau_before_loop(); ?>
25
  <?php if ( bp_activity_has_more_items() ) : ?>
26
 
27
  <li class="load-more">
28
- <a href="<?php bp_activity_load_more_link(); ?>"><?php _e( 'Load More', 'buddypress' ); ?></a>
29
  </li>
30
 
31
  <?php endif; ?>
2
  /**
3
  * BuddyPress - Activity Loop
4
  *
5
+ * @version 3.1.0
6
  */
7
 
8
  bp_nouveau_before_loop(); ?>
25
  <?php if ( bp_activity_has_more_items() ) : ?>
26
 
27
  <li class="load-more">
28
+ <a href="<?php bp_activity_load_more_link(); ?>"><?php echo esc_html_x( 'Load More', 'button', 'buddypress' ); ?></a>
29
  </li>
30
 
31
  <?php endif; ?>
bp-templates/bp-nouveau/buddypress/activity/comment-form.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Nouveau Activity Comment form template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  if ( ! bp_nouveau_current_user_can( 'comment_activity' ) || ! bp_activity_can_comment() ) {
@@ -15,13 +15,20 @@ if ( ! bp_nouveau_current_user_can( 'comment_activity' ) || ! bp_activity_can_co
15
  <div class="ac-reply-avatar"><?php bp_loggedin_user_avatar( array( 'type' => 'thumb' ) ); ?></div>
16
  <div class="ac-reply-content">
17
  <div class="ac-textarea">
18
- <label for="ac-input-<?php bp_activity_id(); ?>" class="bp-screen-reader-text"><?php _e( 'Comment', 'buddypress' ); ?></label>
 
 
19
  <textarea id="ac-input-<?php bp_activity_id(); ?>" class="ac-input bp-suggestions" name="ac_input_<?php bp_activity_id(); ?>"></textarea>
20
  </div>
21
- <input type="submit" name="ac_form_submit" value="<?php esc_attr_e( 'Post', 'buddypress' ); ?>" /> &nbsp; <button type="button" class="ac-reply-cancel"><?php _e( 'Cancel', 'buddypress' ); ?></button>
22
  <input type="hidden" name="comment_form_id" value="<?php bp_activity_id(); ?>" />
23
- </div>
24
 
25
- <?php wp_nonce_field( 'new_activity_comment', '_wpnonce_new_activity_comment' ); ?>
 
 
 
 
 
 
 
26
 
27
  </form>
3
  * BP Nouveau Activity Comment form template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  if ( ! bp_nouveau_current_user_can( 'comment_activity' ) || ! bp_activity_can_comment() ) {
15
  <div class="ac-reply-avatar"><?php bp_loggedin_user_avatar( array( 'type' => 'thumb' ) ); ?></div>
16
  <div class="ac-reply-content">
17
  <div class="ac-textarea">
18
+ <label for="ac-input-<?php bp_activity_id(); ?>" class="bp-screen-reader-text">
19
+ <?php echo esc_html( _x( 'Comment', 'heading', 'buddypress' ) ); ?>
20
+ </label>
21
  <textarea id="ac-input-<?php bp_activity_id(); ?>" class="ac-input bp-suggestions" name="ac_input_<?php bp_activity_id(); ?>"></textarea>
22
  </div>
 
23
  <input type="hidden" name="comment_form_id" value="<?php bp_activity_id(); ?>" />
 
24
 
25
+ <?php
26
+ bp_nouveau_submit_button( 'activity-new-comment' );
27
+ printf(
28
+ '&nbsp; <button type="button" class="ac-reply-cancel">%s</button>',
29
+ esc_html( _x( 'Cancel', 'button', 'buddypress' ) )
30
+ );
31
+ ?>
32
+ </div>
33
 
34
  </form>
bp-templates/bp-nouveau/buddypress/activity/post-form.php CHANGED
@@ -2,26 +2,24 @@
2
  /**
3
  * BuddyPress - Activity Post Form
4
  *
5
- * @version 3.0.0
6
  */
7
 
8
  ?>
9
 
10
  <?php
11
- /**
12
- * Template tag to prepare the activity post form
13
- * checks capability and enqueue needed scripts.
14
  */
15
  bp_nouveau_before_activity_post_form();
16
  ?>
17
 
18
- <h2 class="bp-screen-reader-text"><?php _e( 'Post Update', 'buddypress' ); ?></h2>
19
 
20
  <div id="bp-nouveau-activity-form" class="activity-update-form"></div>
21
 
22
  <?php
23
- /**
24
- * Template tag to load the Javascript
25
- * templates of the Post form UI
26
  */
27
- bp_nouveau_after_activity_post_form(); ?>
2
  /**
3
  * BuddyPress - Activity Post Form
4
  *
5
+ * @version 3.1.0
6
  */
7
 
8
  ?>
9
 
10
  <?php
11
+ /*
12
+ * Template tag to prepare the activity post form checks capability and enqueue needed scripts.
 
13
  */
14
  bp_nouveau_before_activity_post_form();
15
  ?>
16
 
17
+ <h2 class="bp-screen-reader-text"><?php echo esc_html_x( 'Post Update', 'heading', 'buddypress' ); ?></h2>
18
 
19
  <div id="bp-nouveau-activity-form" class="activity-update-form"></div>
20
 
21
  <?php
22
+ /*
23
+ * Template tag to load the Javascript templates of the Post form UI.
 
24
  */
25
+ bp_nouveau_after_activity_post_form();
bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/camera.php CHANGED
@@ -5,7 +5,7 @@
5
  * This template is used to create the camera Backbone views.
6
  *
7
  * @since 2.3.0
8
- * @version 3.0.0
9
  */
10
 
11
  ?>
@@ -19,8 +19,8 @@
19
  <div class="avatar-crop-management">
20
  <div id="avatar-crop-pane" class="avatar" style="width:{{data.w}}px; height:{{data.h}}px"></div>
21
  <div id="avatar-crop-actions">
22
- <button type="button" class="button avatar-webcam-capture"><?php esc_html_e( 'Capture', 'buddypress' ); ?></button>
23
- <button type="button" class="button avatar-webcam-save"><?php esc_html_e( 'Save', 'buddypress' ); ?></button>
24
  </div>
25
  </div>
26
  <# } #>
5
  * This template is used to create the camera Backbone views.
6
  *
7
  * @since 2.3.0
8
+ * @version 3.1.0
9
  */
10
 
11
  ?>
19
  <div class="avatar-crop-management">
20
  <div id="avatar-crop-pane" class="avatar" style="width:{{data.w}}px; height:{{data.h}}px"></div>
21
  <div id="avatar-crop-actions">
22
+ <button type="button" class="button avatar-webcam-capture"><?php echo esc_html_x( 'Capture', 'button', 'buddypress' ); ?></button>
23
+ <button type="button" class="button avatar-webcam-save"><?php echo esc_html_x( 'Save', 'button', 'buddypress' ); ?></button>
24
  </div>
25
  </div>
26
  <# } #>
bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/crop.php CHANGED
@@ -5,7 +5,7 @@
5
  * This template is used to create the crop Backbone views.
6
  *
7
  * @since 2.3.0
8
- * @version 3.0.0
9
  */
10
 
11
  ?>
@@ -18,7 +18,7 @@
18
  <img src="{{data.url}}" id="avatar-crop-preview"/>
19
  </div>
20
  <div id="avatar-crop-actions">
21
- <button type="button" class="button avatar-crop-submit"><?php esc_html_e( 'Crop Image', 'buddypress' ); ?></button>
22
  </div>
23
  </div>
24
  </script>
5
  * This template is used to create the crop Backbone views.
6
  *
7
  * @since 2.3.0
8
+ * @version 3.1.0
9
  */
10
 
11
  ?>
18
  <img src="{{data.url}}" id="avatar-crop-preview"/>
19
  </div>
20
  <div id="avatar-crop-actions">
21
+ <button type="button" class="button avatar-crop-submit"><?php echo esc_html_x( 'Crop Image', 'button', 'buddypress' ); ?></button>
22
  </div>
23
  </div>
24
  </script>
bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/index.php CHANGED
@@ -8,7 +8,7 @@
8
  * It's also used to create the common Backbone views.
9
  *
10
  * @since 2.3.0
11
- * @version 3.0.0
12
  */
13
 
14
  /**
@@ -32,7 +32,7 @@ do_action( 'bp_attachments_avatar_check_template' );
32
 
33
  <script id="tmpl-bp-avatar-delete" type="text/html">
34
  <# if ( 'user' === data.object ) { #>
35
- <p><?php _e( "If you'd like to delete your current profile photo but not upload a new one, please use the delete profile photo button.", 'buddypress' ); ?></p>
36
  <button type="button" class="button edit" id="bp-delete-avatar"><?php esc_html_e( 'Delete My Profile Photo', 'buddypress' ); ?></button>
37
  <# } else if ( 'group' === data.object ) { #>
38
  <?php bp_nouveau_user_feedback( 'group-avatar-delete-info' ); ?>
8
  * It's also used to create the common Backbone views.
9
  *
10
  * @since 2.3.0
11
+ * @version 3.1.0
12
  */
13
 
14
  /**
32
 
33
  <script id="tmpl-bp-avatar-delete" type="text/html">
34
  <# if ( 'user' === data.object ) { #>
35
+ <p><?php esc_html_e( "If you'd like to delete your current profile photo, use the delete profile photo button.", 'buddypress' ); ?></p>
36
  <button type="button" class="button edit" id="bp-delete-avatar"><?php esc_html_e( 'Delete My Profile Photo', 'buddypress' ); ?></button>
37
  <# } else if ( 'group' === data.object ) { #>
38
  <?php bp_nouveau_user_feedback( 'group-avatar-delete-info' ); ?>
bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php CHANGED
@@ -8,7 +8,7 @@
8
  * It's also used to create the common Backbone views.
9
  *
10
  * @since 2.4.0
11
- * @version 3.0.0
12
  */
13
 
14
  ?>
@@ -21,11 +21,19 @@
21
 
22
  <script id="tmpl-bp-cover-image-delete" type="text/html">
23
  <# if ( 'user' === data.object ) { #>
24
- <p><?php _e( "If you'd like to delete your current cover image but not upload a new one, please use the delete Cover Image button.", 'buddypress' ); ?></p>
25
- <button type="button" class="button edit" id="bp-delete-cover-image"><?php esc_html_e( 'Delete My Cover Image', 'buddypress' ); ?></button>
 
 
 
 
26
  <# } else if ( 'group' === data.object ) { #>
27
- <p><?php _e( "If you'd like to remove the existing group cover image but not upload a new one, please use the delete group cover image button.", 'buddypress' ); ?></p>
28
- <button type="button" class="button edit" id="bp-delete-cover-image"><?php esc_html_e( 'Delete Group Cover Image', 'buddypress' ); ?></button>
 
 
 
 
29
  <# } else { #>
30
  <?php
31
  /**
8
  * It's also used to create the common Backbone views.
9
  *
10
  * @since 2.4.0
11
+ * @version 3.1.0
12
  */
13
 
14
  ?>
21
 
22
  <script id="tmpl-bp-cover-image-delete" type="text/html">
23
  <# if ( 'user' === data.object ) { #>
24
+ <p><?php esc_html_e( "If you'd like to delete your current cover image, use the delete Cover Image button.", 'buddypress' ); ?></p>
25
+ <button type="button" class="button edit" id="bp-delete-cover-image">
26
+ <?php
27
+ echo esc_html_x( 'Delete My Cover Image', 'button', 'buddypress' );
28
+ ?>
29
+ </button>
30
  <# } else if ( 'group' === data.object ) { #>
31
+ <p><?php esc_html_e( "If you'd like to remove the existing group cover image but not upload a new one, please use the delete group cover image button.", 'buddypress' ); ?></p>
32
+ <button type="button" class="button edit" id="bp-delete-cover-image">
33
+ <?php
34
+ echo esc_html_x( 'Delete Group Cover Image', 'button', 'buddypress' );
35
+ ?>
36
+ </button>
37
  <# } else { #>
38
  <?php
39
  /**
bp-templates/bp-nouveau/buddypress/assets/_attachments/uploader.php CHANGED
@@ -5,7 +5,7 @@
5
  * This template is used to create the BuddyPress Uploader Backbone views.
6
  *
7
  * @since 2.3.0
8
- * @version 3.0.0
9
  */
10
 
11
  ?>
@@ -19,8 +19,13 @@
19
  <div id="{{data.drop_element}}">
20
  <div class="drag-drop-inside">
21
  <p class="drag-drop-info"><?php esc_html_e( 'Drop your file here', 'buddypress' ); ?></p>
22
- <p><?php _ex( 'or', 'Uploader: Drop your file here - or - Select your File', 'buddypress' ); ?></p>
23
- <p class="drag-drop-buttons"><label for="{{data.browse_button}}" class="<?php echo is_admin() ? 'screen-reader-text' : 'bp-screen-reader-text'; ?>"><?php esc_html_e( 'Select your File', 'buddypress' ); ?></label><input id="{{data.browse_button}}" type="button" value="<?php esc_attr_e( 'Select your File', 'buddypress' ); ?>" class="button" /></p>
 
 
 
 
 
24
  </div>
25
  </div>
26
  </div>
5
  * This template is used to create the BuddyPress Uploader Backbone views.
6
  *
7
  * @since 2.3.0
8
+ * @version 3.1.0
9
  */
10
 
11
  ?>
19
  <div id="{{data.drop_element}}">
20
  <div class="drag-drop-inside">
21
  <p class="drag-drop-info"><?php esc_html_e( 'Drop your file here', 'buddypress' ); ?></p>
22
+
23
+ <p class="drag-drop-buttons">
24
+ <label for="{{data.browse_button}}" class="<?php echo is_admin() ? 'screen-reader-text' : 'bp-screen-reader-text'; ?>">
25
+ <?php esc_html_e( 'Select your file', 'buddypress' ); ?>
26
+ </label>
27
+ <input id="{{data.browse_button}}" type="button" value="<?php echo esc_attr_x( 'Select your file', 'button', 'buddypress' ); ?>" class="button" />
28
+ </p>
29
  </div>
30
  </div>
31
  </div>
bp-templates/bp-nouveau/buddypress/assets/emails/single-bp-email.php CHANGED
@@ -7,7 +7,7 @@
7
  * 1.35 = default body_text_size multipler. Gives default heading of 20px.
8
  *
9
  * @since 2.5.0
10
- * @version 3.0.0
11
  *
12
  * @package BuddyPress
13
  * @subpackage Core
@@ -217,7 +217,7 @@ $settings = bp_email_get_appearance_settings();
217
 
218
  <span class="footer_text"><?php echo nl2br( stripslashes( $settings['footer_text'] ) ); ?></span>
219
  <br><br>
220
- <a href="{{{unsubscribe}}}" style="text-decoration: underline;"><?php _ex( 'unsubscribe', 'email', 'buddypress' ); ?></a>
221
 
222
  <?php
223
  /**
7
  * 1.35 = default body_text_size multipler. Gives default heading of 20px.
8
  *
9
  * @since 2.5.0
10
+ * @version 3.1.0
11
  *
12
  * @package BuddyPress
13
  * @subpackage Core
217
 
218
  <span class="footer_text"><?php echo nl2br( stripslashes( $settings['footer_text'] ) ); ?></span>
219
  <br><br>
220
+ <a href="{{{unsubscribe}}}" style="text-decoration: underline;"><?php echo esc_html_x( 'unsubscribe', 'email', 'buddypress' ); ?></a>
221
 
222
  <?php
223
  /**
bp-templates/bp-nouveau/buddypress/common/js-templates/activity/form.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Activity Post form JS Templates
4
  *
5
- * @version 3.0.0
6
  */
7
  ?>
8
 
@@ -39,7 +39,7 @@
39
 
40
  <# if ( data.selected ) { #>
41
  <button type="button" class="bp-remove-item dashicons dashicons-no" data-item_id="{{data.id}}">
42
- <span class="bp-screen-reader-text"><?php esc_html_e( 'Remove item', 'buddypress' ); ?></span>
43
  </button>
44
  <# } #>
45
  </script>
2
  /**
3
  * Activity Post form JS Templates
4
  *
5
+ * @version 3.1.0
6
  */
7
  ?>
8
 
39
 
40
  <# if ( data.selected ) { #>
41
  <button type="button" class="bp-remove-item dashicons dashicons-no" data-item_id="{{data.id}}">
42
+ <span class="bp-screen-reader-text"><?php echo esc_html_x( 'Remove item', 'button', 'buddypress' ); ?></span>
43
  </button>
44
  <# } #>
45
  </script>
bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php CHANGED
@@ -6,7 +6,7 @@
6
  * dealing with invites.
7
  *
8
  * @since 3.0.0
9
- * @version 3.0.0
10
  */
11
  ?>
12
 
@@ -83,22 +83,22 @@
83
 
84
  <div class="action">
85
  <# if ( undefined === data.is_sent || ( false === data.is_sent && true === data.can_edit ) ) { #>
86
- <button type="button" class="button invite-button group-add-remove-invite-button bp-tooltip bp-icons<# if ( data.selected ) { #> selected<# } #>" data-bp-tooltip="<# if ( data.selected ) { #><?php esc_attr_e( 'Disinvite', 'buddypress' ); ?><# } else { #><?php esc_attr_e( 'Invite', 'buddypress' ); ?><# } #>">
87
  <span class="icons" aria-hidden="true"></span>
88
  <span class="bp-screen-reader-text">
89
  <# if ( data.selected ) { #>
90
- <?php esc_html_e( 'Disinvite', 'buddypress' ); ?>
91
  <# } else { #>
92
- <?php esc_html_e( 'Invite', 'buddypress' ); ?>
93
  <# } #>
94
  </span>
95
  </button>
96
  <# } #>
97
 
98
  <# if ( undefined !== data.can_edit && true === data.can_edit ) { #>
99
- <button type="button" class="button invite-button group-remove-invite-button bp-tooltip bp-icons" data-bp-tooltip="<?php esc_attr_e( 'Disinvite', 'buddypress' ); ?>">
100
  <span class=" icons" aria-hidden="true"></span>
101
- <span class="bp-screen-reader-text"><?php esc_html_e( 'Disinvite', 'buddypress' ); ?></span>
102
  </button>
103
  <# } #>
104
  </div>
@@ -113,12 +113,12 @@
113
 
114
  <script type="text/html" id="tmpl-bp-invites-form">
115
 
116
- <label for="send-invites-control"><?php esc_attr_e( 'Optional: add a message to your invite.', 'buddypress' ); ?></label>
117
  <textarea id="send-invites-control" class="bp-faux-placeholder-label"></textarea>
118
 
119
  <div class="action">
120
- <button type="button" id="bp-invites-reset" class="button bp-secondary-action"><?php _ex( 'Cancel', 'Cancel invitation', 'buddypress' ); ?></button>
121
- <button type="button" id="bp-invites-send" class="button bp-primary-action"><?php _ex( 'Send', 'Send invitation', 'buddypress' ); ?></button>
122
  </div>
123
  </script>
124
 
@@ -126,12 +126,12 @@
126
  <div class="group-invites-search subnav-search clearfix" role="search" >
127
  <div class="bp-search">
128
  <form action="" method="get" id="group_invites_search_form" class="bp-invites-search-form" data-bp-search="{{data.scope}}">
129
- <label for="group_invites_search" class="bp-screen-reader-text"><?php bp_nouveau_search_default_text( 'Search Members', false ); ?></label>
130
- <input type="search" id="group_invites_search" placeholder="<?php esc_attr_e( 'Search', 'buddypress' ); ?>"/>
131
 
132
  <button type="submit" id="group_invites_search_submit" class="nouveau-search-submit">
133
  <span class="dashicons dashicons-search" aria-hidden="true"></span>
134
- <span id="button-text" class="bp-screen-reader-text"><?php esc_html_e( 'Search', 'buddypress' ); ?></span>
135
  </button>
136
  </form>
137
  </div>
@@ -140,15 +140,15 @@
140
 
141
  <script type="text/html" id="tmpl-bp-invites-paginate">
142
  <# if ( 1 !== data.page ) { #>
143
- <a href="#previous-page" id="bp-invites-prev-page" class="button invite-button bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Previous page', 'buddypress' ); ?>">
144
  <span class="dashicons dashicons-arrow-left" aria-hidden="true"></span>
145
- <span class="bp-screen-reader-text"><?php esc_html_e( 'Previous page', 'buddypress' ); ?></span>
146
  </a>
147
  <# } #>
148
 
149
  <# if ( data.total_page !== data.page ) { #>
150
- <a href="#next-page" id="bp-invites-next-page" class="button invite-button bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Next page', 'buddypress' ); ?>">
151
- <span class="bp-screen-reader-text"><?php esc_html_e( 'Next page', 'buddypress' ); ?></span>
152
  <span class="dashicons dashicons-arrow-right" aria-hidden="true"></span>
153
  </button>
154
  <# } #>
6
  * dealing with invites.
7
  *
8
  * @since 3.0.0
9
+ * @version 3.1.0
10
  */
11
  ?>
12
 
83
 
84
  <div class="action">
85
  <# if ( undefined === data.is_sent || ( false === data.is_sent && true === data.can_edit ) ) { #>
86
+ <button type="button" class="button invite-button group-add-remove-invite-button bp-tooltip bp-icons<# if ( data.selected ) { #> selected<# } #>" data-bp-tooltip="<# if ( data.selected ) { #><?php esc_attr_e( 'Cancel invitation', 'buddypress' ); ?><# } else { #><?php echo esc_attr_x( 'Invite', 'button', 'buddypress' ); ?><# } #>">
87
  <span class="icons" aria-hidden="true"></span>
88
  <span class="bp-screen-reader-text">
89
  <# if ( data.selected ) { #>
90
+ <?php echo esc_html_x( 'Cancel invitation', 'button', 'buddypress' ); ?>
91
  <# } else { #>
92
+ <?php echo esc_html_x( 'Invite', 'button', 'buddypress' ); ?>
93
  <# } #>
94
  </span>
95
  </button>
96
  <# } #>
97
 
98
  <# if ( undefined !== data.can_edit && true === data.can_edit ) { #>
99
+ <button type="button" class="button invite-button group-remove-invite-button bp-tooltip bp-icons" data-bp-tooltip="<?php echo esc_attr_x( 'Cancel invitation', 'button', 'buddypress' ); ?>">
100
  <span class=" icons" aria-hidden="true"></span>
101
+ <span class="bp-screen-reader-text"><?php echo esc_attr_x( 'Cancel invitation', 'button', 'buddypress' ); ?></span>
102
  </button>
103
  <# } #>
104
  </div>
113
 
114
  <script type="text/html" id="tmpl-bp-invites-form">
115
 
116
+ <label for="send-invites-control"><?php esc_html_e( 'Optional: add a message to your invite.', 'buddypress' ); ?></label>
117
  <textarea id="send-invites-control" class="bp-faux-placeholder-label"></textarea>
118
 
119
  <div class="action">
120
+ <button type="button" id="bp-invites-reset" class="button bp-secondary-action"><?php echo esc_html_x( 'Cancel', 'button', 'buddypress' ); ?></button>
121
+ <button type="button" id="bp-invites-send" class="button bp-primary-action"><?php echo esc_html_x( 'Send', 'button', 'buddypress' ); ?></button>
122
  </div>
123
  </script>
124
 
126
  <div class="group-invites-search subnav-search clearfix" role="search" >
127
  <div class="bp-search">
128
  <form action="" method="get" id="group_invites_search_form" class="bp-invites-search-form" data-bp-search="{{data.scope}}">
129
+ <label for="group_invites_search" class="bp-screen-reader-text"><?php bp_nouveau_search_default_text( _x( 'Search Members', 'heading', 'buddypress' ), false ); ?></label>
130
+ <input type="search" id="group_invites_search" placeholder="<?php echo esc_attr_x( 'Search', 'search placeholder text', 'buddypress' ); ?>"/>
131
 
132
  <button type="submit" id="group_invites_search_submit" class="nouveau-search-submit">
133
  <span class="dashicons dashicons-search" aria-hidden="true"></span>
134
+ <span id="button-text" class="bp-screen-reader-text"><?php echo esc_html_x( 'Search', 'button', 'buddypress' ); ?></span>
135
  </button>
136
  </form>
137
  </div>
140
 
141
  <script type="text/html" id="tmpl-bp-invites-paginate">
142
  <# if ( 1 !== data.page ) { #>
143
+ <a href="#previous-page" id="bp-invites-prev-page" class="button invite-button bp-tooltip" data-bp-tooltip="<?php echo esc_attr_x( 'Previous page', 'link', 'buddypress' ); ?>">
144
  <span class="dashicons dashicons-arrow-left" aria-hidden="true"></span>
145
+ <span class="bp-screen-reader-text"><?php echo esc_html_x( 'Previous page', 'link', 'buddypress' ); ?></span>
146
  </a>
147
  <# } #>
148
 
149
  <# if ( data.total_page !== data.page ) { #>
150
+ <a href="#next-page" id="bp-invites-next-page" class="button invite-button bp-tooltip" data-bp-tooltip="<?php echo esc_attr_x( 'Next page', 'link', 'buddypress' ); ?>">
151
+ <span class="bp-screen-reader-text"><?php echo esc_html_x( 'Next page', 'link', 'buddypress' ); ?></span>
152
  <span class="dashicons dashicons-arrow-right" aria-hidden="true"></span>
153
  </button>
154
  <# } #>
bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php CHANGED
@@ -6,7 +6,7 @@
6
  * dealing with user's private messages.
7
  *
8
  * @since 3.0.0
9
- * @version 3.0.0
10
  */
11
  ?>
12
  <div class="subnav-filters filters user-subnav bp-messages-filters" id="subsubnav"></div>
@@ -21,6 +21,15 @@
21
  </div>
22
  </script>
23
 
 
 
 
 
 
 
 
 
 
24
  <script type="text/html" id="tmpl-bp-messages-form">
25
  <?php bp_nouveau_messages_hook( 'before', 'compose_content' ); ?>
26
 
@@ -35,8 +44,8 @@
35
  <?php bp_nouveau_messages_hook( 'after', 'compose_content' ); ?>
36
 
37
  <div class="submit">
38
- <input type="button" id="bp-messages-send" class="button bp-primary-action" value="<?php esc_attr_e( 'Send', 'buddypress' ); ?>"/>
39
- <input type="button" id="bp-messages-reset" class="text-button small bp-secondary-action" value="<?php esc_attr_e( 'Reset', 'buddypress' ); ?>"/>
40
  </div>
41
  </script>
42
 
@@ -59,6 +68,7 @@
59
  'textarea_rows' => 5,
60
  )
61
  );
 
62
  // Remove the temporary filter on editor buttons
63
  remove_filter( 'mce_buttons', 'bp_nouveau_messages_mce_buttons', 10, 1 );
64
  ?>
@@ -68,14 +78,14 @@
68
  <# if ( 1 !== data.page ) { #>
69
  <button id="bp-messages-prev-page"class="button messages-button">
70
  <span class="dashicons dashicons-arrow-left"></span>
71
- <span class="bp-screen-reader-text"><?php esc_html_e( 'Prev', 'buddypress' ); ?></span>
72
  </button>
73
  <# } #>
74
 
75
  <# if ( data.total_page !== data.page ) { #>
76
  <button id="bp-messages-next-page"class="button messages-button">
77
  <span class="dashicons dashicons-arrow-right"></span>
78
- <span class="bp-screen-reader-text"><?php esc_html_e( 'Next', 'buddypress' ); ?></span>
79
  </button>
80
  <# } #>
81
  </script>
@@ -87,10 +97,10 @@
87
  <label for="user_messages_search" class="bp-screen-reader-text">
88
  <?php _e( 'Search Messages', 'buddypress' ); ?>
89
  </label>
90
- <input type="search" id="user_messages_search" placeholder="<?php esc_attr_e( 'Search', 'buddypress' ); ?>"/>
91
  <button type="submit" id="user_messages_search_submit">
92
  <span class="dashicons dashicons-search" aria-hidden="true"></span>
93
- <span class="bp-screen-reader-text"><?php esc_html_e( 'Search', 'buddypress' ); ?></span>
94
  </button>
95
  </form>
96
  </div>
@@ -113,9 +123,9 @@
113
  </select>
114
  <span class="select-arrow" aria-hidden="true"></span>
115
  </div>
116
- <button class="messages-button bulk-apply bp-tooltip" type="submit" data-bp-tooltip="<?php echo esc_attr( 'Apply', 'buddypress' ); ?>">
117
  <span class="dashicons dashicons-yes" aria-hidden="true"></span>
118
- <span class="bp-screen-reader-text"><?php esc_html_e( 'Apply', 'buddypress' ); ?></span>
119
  </button>
120
  </div>
121
  </script>
@@ -153,7 +163,7 @@
153
  <div class="thread-content" data-thread-id="{{data.id}}">
154
  <div class="thread-subject">
155
  <span class="thread-count">({{data.count}})</span>
156
- <a class="subject" href="#view/{{data.id}}">{{data.subject}}</a>
157
  </div>
158
  <p class="excerpt">{{data.excerpt}}</p>
159
  </div>
@@ -165,7 +175,7 @@
165
  <script type="text/html" id="tmpl-bp-messages-preview">
166
  <# if ( undefined !== data.content ) { #>
167
 
168
- <h2 class="message-title preview-thread-title"><?php esc_html_e( 'Active conversation:', 'buddypress' ); ?><span class="messages-title"> <# print( data.subject ); #></span></h2>
169
  <div class="preview-content">
170
  <header class="preview-pane-header">
171
 
@@ -202,21 +212,35 @@
202
 
203
  <# } #>
204
 
205
- <a href="#view/{{data.id}}" class="message-action-view bp-tooltip bp-icons" data-bp-tooltip="<?php esc_attr_e( 'View full conversation and reply.', 'buddypress' ); ?>">
206
  <span class="bp-screen-reader-text"><?php esc_html_e( 'View full conversation and reply.', 'buddypress' ); ?></span>
207
  </a>
 
 
 
 
 
 
208
  </div>
209
  </header>
210
 
211
  <div class='preview-message'>
212
- <# print( data.content ) #>
213
  </div>
 
 
 
 
 
 
 
 
214
  </div>
215
  <# } #>
216
  </script>
217
 
218
  <script type="text/html" id="tmpl-bp-messages-single-header">
219
- <h2 id="message-subject" class="message-title single-thread-title"><# print( data.subject ); #></h2>
220
  <header class="single-message-thread-header">
221
  <# if ( undefined !== data.recipients ) { #>
222
  <dl class="thread-participants">
@@ -232,19 +256,18 @@
232
  <# } #>
233
 
234
  <div class="actions">
235
-
236
  <button type="button" class="message-action-delete bp-tooltip bp-icons" data-bp-action="delete" data-bp-tooltip="<?php esc_attr_e( 'Delete conversation.', 'buddypress' ); ?>">
237
  <span class="bp-screen-reader-text"><?php esc_html_e( 'Delete conversation.', 'buddypress' ); ?></span>
238
  </button>
239
-
240
- <?php bp_nouveau_messages_hook( 'after', 'thread_header_actions' ); ?>
241
  </div>
242
  </header>
243
  </script>
244
 
245
  <script type="text/html" id="tmpl-bp-messages-single-list">
246
  <div class="message-metadata">
247
- <?php bp_nouveau_messages_hook( 'before', 'meta' ); ?>
 
 
248
 
249
  <a href="{{data.sender_link}}" class="user-link">
250
  <img class="avatar" src="{{data.sender_avatar}}" alt="" />
@@ -267,15 +290,20 @@
267
  <# } #>
268
  </div>
269
 
270
- <?php bp_nouveau_messages_hook( 'after', 'meta' ); ?>
271
-
 
272
  </div>
273
 
274
- <?php bp_nouveau_messages_hook( 'before', 'content' ); ?>
 
 
275
 
276
- <div class="message-content"><# print( data.content ) #></div>
277
 
278
- <?php bp_nouveau_messages_hook( 'after', 'content' ); ?>
 
 
279
 
280
  </script>
281
 
@@ -296,15 +324,15 @@
296
  <div class="message-box">
297
  <div class="message-metadata">
298
 
299
- <?php bp_nouveau_messages_hook( 'before', 'meta' ); ?>
300
 
301
  <div class="avatar-box">
302
  <?php bp_loggedin_user_avatar( 'type=thumb&height=30&width=30' ); ?>
303
 
304
- <strong><?php _e( 'Send a Reply', 'buddypress' ); ?></strong>
305
  </div>
306
 
307
- <?php bp_nouveau_messages_hook( 'after', 'meta' ); ?>
308
 
309
  </div><!-- .message-metadata -->
310
 
@@ -318,7 +346,7 @@
318
  <?php bp_nouveau_messages_hook( 'after', 'reply_box' ); ?>
319
 
320
  <div class="submit">
321
- <input type="submit" name="send" value="<?php esc_attr_e( 'Send Reply', 'buddypress' ); ?>" id="send_reply_button"/>
322
  </div>
323
 
324
  </div><!-- .message-content -->
6
  * dealing with user's private messages.
7
  *
8
  * @since 3.0.0
9
+ * @version 3.1.0
10
  */
11
  ?>
12
  <div class="subnav-filters filters user-subnav bp-messages-filters" id="subsubnav"></div>
21
  </div>
22
  </script>
23
 
24
+ <?php
25
+ /**
26
+ * This view is used to inject hooks buffer
27
+ */
28
+ ?>
29
+ <script type="text/html" id="tmpl-bp-messages-hook">
30
+ {{{data.extraContent}}}
31
+ </script>
32
+
33
  <script type="text/html" id="tmpl-bp-messages-form">
34
  <?php bp_nouveau_messages_hook( 'before', 'compose_content' ); ?>
35
 
44
  <?php bp_nouveau_messages_hook( 'after', 'compose_content' ); ?>
45
 
46
  <div class="submit">
47
+ <input type="button" id="bp-messages-send" class="button bp-primary-action" value="<?php echo esc_attr_x( 'Send', 'button', 'buddypress' ); ?>"/>
48
+ <input type="button" id="bp-messages-reset" class="text-button small bp-secondary-action" value="<?php echo esc_attr_x( 'Reset', 'form reset button', 'buddypress' ); ?>"/>
49
  </div>
50
  </script>
51
 
68
  'textarea_rows' => 5,
69
  )
70
  );
71
+
72
  // Remove the temporary filter on editor buttons
73
  remove_filter( 'mce_buttons', 'bp_nouveau_messages_mce_buttons', 10, 1 );
74
  ?>
78
  <# if ( 1 !== data.page ) { #>
79
  <button id="bp-messages-prev-page"class="button messages-button">
80
  <span class="dashicons dashicons-arrow-left"></span>
81
+ <span class="bp-screen-reader-text"><?php echo esc_html_x( 'Previous page', 'link', 'buddypress' ); ?></span>
82
  </button>
83
  <# } #>
84
 
85
  <# if ( data.total_page !== data.page ) { #>
86
  <button id="bp-messages-next-page"class="button messages-button">
87
  <span class="dashicons dashicons-arrow-right"></span>
88
+ <span class="bp-screen-reader-text"><?php echo esc_html_x( 'Next page', 'link', 'buddypress' ); ?></span>
89
  </button>
90
  <# } #>
91
  </script>
97
  <label for="user_messages_search" class="bp-screen-reader-text">
98
  <?php _e( 'Search Messages', 'buddypress' ); ?>
99
  </label>
100
+ <input type="search" id="user_messages_search" placeholder="<?php echo esc_attr_x( 'Search', 'search placeholder text', 'buddypress' ); ?>"/>
101
  <button type="submit" id="user_messages_search_submit">
102
  <span class="dashicons dashicons-search" aria-hidden="true"></span>
103
+ <span class="bp-screen-reader-text"><?php echo esc_html_x( 'Search', 'button', 'buddypress' ); ?></span>
104
  </button>
105
  </form>
106
  </div>
123
  </select>
124
  <span class="select-arrow" aria-hidden="true"></span>
125
  </div>
126
+ <button class="messages-button bulk-apply bp-tooltip" type="submit" data-bp-tooltip="<?php echo esc_attr_x( 'Apply', 'button', 'buddypress' ); ?>">
127
  <span class="dashicons dashicons-yes" aria-hidden="true"></span>
128
+ <span class="bp-screen-reader-text"><?php echo esc_html_x( 'Apply', 'button', 'buddypress' ); ?></span>
129
  </button>
130
  </div>
131
  </script>
163
  <div class="thread-content" data-thread-id="{{data.id}}">
164
  <div class="thread-subject">
165
  <span class="thread-count">({{data.count}})</span>
166
+ <a class="subject" href="../view/{{data.id}}/">{{data.subject}}</a>
167
  </div>
168
  <p class="excerpt">{{data.excerpt}}</p>
169
  </div>
175
  <script type="text/html" id="tmpl-bp-messages-preview">
176
  <# if ( undefined !== data.content ) { #>
177
 
178
+ <h2 class="message-title preview-thread-title"><?php esc_html_e( 'Active conversation:', 'buddypress' ); ?><span class="messages-title">{{{data.subject}}}</span></h2>
179
  <div class="preview-content">
180
  <header class="preview-pane-header">
181
 
212
 
213
  <# } #>
214
 
215
+ <a href="../view/{{data.id}}/" class="message-action-view bp-tooltip bp-icons" data-bp-action="view" data-bp-tooltip="<?php esc_attr_e( 'View full conversation and reply.', 'buddypress' ); ?>">
216
  <span class="bp-screen-reader-text"><?php esc_html_e( 'View full conversation and reply.', 'buddypress' ); ?></span>
217
  </a>
218
+
219
+ <# if ( data.threadOptions ) { #>
220
+ <span class="bp-messages-hook thread-options">
221
+ {{{data.threadOptions}}}
222
+ </span>
223
+ <# } #>
224
  </div>
225
  </header>
226
 
227
  <div class='preview-message'>
228
+ {{{data.content}}}
229
  </div>
230
+
231
+ <# if ( data.inboxListItem ) { #>
232
+ <table class="bp-messages-hook inbox-list-item">
233
+ <tbody>
234
+ <tr>{{{data.inboxListItem}}}</tr>
235
+ </tbody>
236
+ </table>
237
+ <# } #>
238
  </div>
239
  <# } #>
240
  </script>
241
 
242
  <script type="text/html" id="tmpl-bp-messages-single-header">
243
+ <h2 id="message-subject" class="message-title single-thread-title">{{{data.subject}}}</h2>
244
  <header class="single-message-thread-header">
245
  <# if ( undefined !== data.recipients ) { #>
246
  <dl class="thread-participants">
256
  <# } #>
257
 
258
  <div class="actions">
 
259
  <button type="button" class="message-action-delete bp-tooltip bp-icons" data-bp-action="delete" data-bp-tooltip="<?php esc_attr_e( 'Delete conversation.', 'buddypress' ); ?>">
260
  <span class="bp-screen-reader-text"><?php esc_html_e( 'Delete conversation.', 'buddypress' ); ?></span>
261
  </button>
 
 
262
  </div>
263
  </header>
264
  </script>
265
 
266
  <script type="text/html" id="tmpl-bp-messages-single-list">
267
  <div class="message-metadata">
268
+ <# if ( data.beforeMeta ) { #>
269
+ <div class="bp-messages-hook before-message-meta">{{{data.beforeMeta}}}</div>
270
+ <# } #>
271
 
272
  <a href="{{data.sender_link}}" class="user-link">
273
  <img class="avatar" src="{{data.sender_avatar}}" alt="" />
290
  <# } #>
291
  </div>
292
 
293
+ <# if ( data.afterMeta ) { #>
294
+ <div class="bp-messages-hook after-message-meta">{{{data.afterMeta}}}</div>
295
+ <# } #>
296
  </div>
297
 
298
+ <# if ( data.beforeContent ) { #>
299
+ <div class="bp-messages-hook before-message-content">{{{data.beforeContent}}}</div>
300
+ <# } #>
301
 
302
+ <div class="message-content">{{{data.content}}}</div>
303
 
304
+ <# if ( data.afterContent ) { #>
305
+ <div class="bp-messages-hook after-message-content">{{{data.afterContent}}}</div>
306
+ <# } #>
307
 
308
  </script>
309
 
324
  <div class="message-box">
325
  <div class="message-metadata">
326
 
327
+ <?php bp_nouveau_messages_hook( 'before', 'reply_meta' ); ?>
328
 
329
  <div class="avatar-box">
330
  <?php bp_loggedin_user_avatar( 'type=thumb&height=30&width=30' ); ?>
331
 
332
+ <strong><?php esc_html_e( 'Send a Reply', 'buddypress' ); ?></strong>
333
  </div>
334
 
335
+ <?php bp_nouveau_messages_hook( 'after', 'reply_meta' ); ?>
336
 
337
  </div><!-- .message-metadata -->
338
 
346
  <?php bp_nouveau_messages_hook( 'after', 'reply_box' ); ?>
347
 
348
  <div class="submit">
349
+ <input type="submit" name="send" value="<?php echo esc_attr_x( 'Send Reply', 'button', 'buddypress' ); ?>" id="send_reply_button"/>
350
  </div>
351
 
352
  </div><!-- .message-content -->
bp-templates/bp-nouveau/buddypress/common/notices/template-notices.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Nouveau template notices template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
  <aside class="<?php bp_nouveau_template_message_classes(); ?>">
@@ -12,7 +12,7 @@
12
 
13
  <?php if ( bp_nouveau_has_dismiss_button() ) : ?>
14
 
15
- <button type="button" class="bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Close', 'buddypress' ); ?>" aria-label="<?php esc_attr_e( 'Close this notice', 'buddypress' ); ?>" data-bp-close="<?php bp_nouveau_dismiss_button_type(); ?>"><span class="dashicons dashicons-dismiss" aria-hidden="true"></span></button>
16
 
17
  <?php endif; ?>
18
  </aside>
3
  * BP Nouveau template notices template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
  <aside class="<?php bp_nouveau_template_message_classes(); ?>">
12
 
13
  <?php if ( bp_nouveau_has_dismiss_button() ) : ?>
14
 
15
+ <button type="button" class="bp-tooltip" data-bp-tooltip="<?php echo esc_attr_x( 'Close', 'button', 'buddypress' ); ?>" aria-label="<?php esc_attr_e( 'Close this notice', 'buddypress' ); ?>" data-bp-close="<?php bp_nouveau_dismiss_button_type(); ?>"><span class="dashicons dashicons-dismiss" aria-hidden="true"></span></button>
16
 
17
  <?php endif; ?>
18
  </aside>
bp-templates/bp-nouveau/buddypress/common/search-and-filters-bar.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Nouveau Search & filters bar
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
  <div class="subnav-filters filters no-ajax" id="subnav-filters">
@@ -12,7 +12,7 @@
12
  <div class="subnav-search clearfix">
13
 
14
  <?php if ( 'activity' === bp_current_component() ) : ?>
15
- <div class="feed"><a href="<?php bp_sitewide_activity_feed_link(); ?>" class="bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'RSS Feed', 'buddypress' ); ?>"><span class="bp-screen-reader-text"><?php _e( 'RSS', 'buddypress' ); ?></span></a></div>
16
  <?php endif; ?>
17
 
18
  <?php bp_nouveau_search_form(); ?>
3
  * BP Nouveau Search & filters bar
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
  <div class="subnav-filters filters no-ajax" id="subnav-filters">
12
  <div class="subnav-search clearfix">
13
 
14
  <?php if ( 'activity' === bp_current_component() ) : ?>
15
+ <div class="feed"><a href="<?php bp_sitewide_activity_feed_link(); ?>" class="bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'RSS Feed', 'buddypress' ); ?>"><span class="bp-screen-reader-text"><?php esc_html_e( 'RSS', 'buddypress' ); ?></span></a></div>
16
  <?php endif; ?>
17
 
18
  <?php bp_nouveau_search_form(); ?>
bp-templates/bp-nouveau/buddypress/common/search/search-form.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Object search form
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
@@ -16,7 +16,7 @@
16
 
17
  <button type="submit" id="<?php bp_nouveau_search_selector_id( 'search-submit' ); ?>" class="nouveau-search-submit" name="<?php bp_nouveau_search_selector_name( 'search_submit' ); ?>">
18
  <span class="dashicons dashicons-search" aria-hidden="true"></span>
19
- <span id="button-text" class="bp-screen-reader-text"><?php _e( 'Search', 'buddypress' ); ?></span>
20
  </button>
21
 
22
  </form>
3
  * BP Object search form
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
16
 
17
  <button type="submit" id="<?php bp_nouveau_search_selector_id( 'search-submit' ); ?>" class="nouveau-search-submit" name="<?php bp_nouveau_search_selector_name( 'search_submit' ); ?>">
18
  <span class="dashicons dashicons-search" aria-hidden="true"></span>
19
+ <span id="button-text" class="bp-screen-reader-text"><?php echo esc_html_x( 'Search', 'button', 'buddypress' ); ?></span>
20
  </button>
21
 
22
  </form>
bp-templates/bp-nouveau/buddypress/groups/create.php CHANGED
@@ -2,12 +2,13 @@
2
  /**
3
  * BuddyPress - Groups Create
4
  *
5
- * @version 3.0.0
 
6
  */
7
 
8
  bp_nouveau_groups_create_hook( 'before', 'page' ); ?>
9
 
10
- <h2 class="bp-subhead"><?php _e( 'Create A New Group', 'buddypress' ); ?></h2>
11
 
12
  <?php bp_nouveau_groups_create_hook( 'before', 'content_template' ); ?>
13
 
2
  /**
3
  * BuddyPress - Groups Create
4
  *
5
+ * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_groups_create_hook( 'before', 'page' ); ?>
10
 
11
+ <h2 class="bp-subhead"><?php esc_html_e( 'Create A New Group', 'buddypress' ); ?></h2>
12
 
13
  <?php bp_nouveau_groups_create_hook( 'before', 'content_template' ); ?>
14
 
bp-templates/bp-nouveau/buddypress/groups/groups-loop.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Groups Loop
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  bp_nouveau_before_loop(); ?>
@@ -44,7 +44,15 @@ bp_nouveau_before_loop(); ?>
44
 
45
  <?php endif; ?>
46
 
47
- <p class="last-activity item-meta"><?php printf( __( 'active %s', 'buddypress' ), bp_get_group_last_active() ); ?></p>
 
 
 
 
 
 
 
 
48
 
49
  </div>
50
 
3
  * BuddyPress - Groups Loop
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_before_loop(); ?>
44
 
45
  <?php endif; ?>
46
 
47
+ <p class="last-activity item-meta">
48
+ <?php
49
+ printf(
50
+ /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
51
+ __( 'active %s', 'buddypress' ),
52
+ bp_get_group_last_active()
53
+ );
54
+ ?>
55
+ </p>
56
 
57
  </div>
58
 
bp-templates/bp-nouveau/buddypress/groups/single/activity.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Groups Activity
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  ?>
@@ -18,7 +18,7 @@
18
 
19
  <ul>
20
 
21
- <li class="feed"><a href="<?php bp_group_activity_feed_link(); ?>" class="bp-tooltip no-ajax" data-bp-tooltip="<?php esc_attr_e( 'RSS Feed', 'buddypress' ); ?>"><span class="bp-screen-reader-text"><?php _e( 'RSS', 'buddypress' ); ?></span></a></li>
22
 
23
  <li class="group-act-search"><?php bp_nouveau_search_form(); ?></li>
24
 
3
  * BuddyPress - Groups Activity
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  ?>
18
 
19
  <ul>
20
 
21
+ <li class="feed"><a href="<?php bp_group_activity_feed_link(); ?>" class="bp-tooltip no-ajax" data-bp-tooltip="<?php esc_attr_e( 'RSS Feed', 'buddypress' ); ?>"><span class="bp-screen-reader-text"><?php esc_html_e( 'RSS', 'buddypress' ); ?></span></a></li>
22
 
23
  <li class="group-act-search"><?php bp_nouveau_search_form(); ?></li>
24
 
bp-templates/bp-nouveau/buddypress/groups/single/admin/delete-group.php CHANGED
@@ -3,17 +3,17 @@
3
  * BP Nouveau Group's delete group template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
10
  <h2 class="bp-screen-title warn">
11
- <?php _e( 'Delete this group', 'buddypress' ); ?>
12
  </h2>
13
 
14
  <?php bp_nouveau_user_feedback( 'group-delete-warning' ); ?>
15
 
16
  <label for="delete-group-understand" class="bp-label-text warn">
17
  <input type="checkbox" name="delete-group-understand" id="delete-group-understand" value="1" onclick="if(this.checked) { document.getElementById( 'delete-group-button' ).disabled = ''; } else { document.getElementById( 'delete-group-button' ).disabled = 'disabled'; }" />
18
- <?php _e( 'I understand the consequences of deleting this group.', 'buddypress' ); ?>
19
  </label>
3
  * BP Nouveau Group's delete group template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
10
  <h2 class="bp-screen-title warn">
11
+ <?php esc_html_e( 'Delete this group', 'buddypress' ); ?>
12
  </h2>
13
 
14
  <?php bp_nouveau_user_feedback( 'group-delete-warning' ); ?>
15
 
16
  <label for="delete-group-understand" class="bp-label-text warn">
17
  <input type="checkbox" name="delete-group-understand" id="delete-group-understand" value="1" onclick="if(this.checked) { document.getElementById( 'delete-group-button' ).disabled = ''; } else { document.getElementById( 'delete-group-button' ).disabled = 'disabled'; }" />
18
+ <?php esc_html_e( 'I understand the consequences of deleting this group.', 'buddypress' ); ?>
19
  </label>
bp-templates/bp-nouveau/buddypress/groups/single/admin/edit-details.php CHANGED
@@ -3,34 +3,34 @@
3
  * BP Nouveau Group's edit details template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
10
  <?php if ( bp_is_group_create() ) : ?>
11
 
12
  <h3 class="bp-screen-title creation-step-name">
13
- <?php _e( 'Enter Group Name &amp; Description', 'buddypress' ); ?>
14
  </h3>
15
 
16
  <?php else : ?>
17
 
18
  <h2 class="bp-screen-title">
19
- <?php _e( 'Edit Group Name &amp; Description', 'buddypress' ); ?>
20
  </h2>
21
 
22
  <?php endif; ?>
23
 
24
- <label for="group-name"><?php _e( 'Group Name (required)', 'buddypress' ); ?></label>
25
  <input type="text" name="group-name" id="group-name" value="<?php bp_is_group_create() ? bp_new_group_name() : bp_group_name(); ?>" aria-required="true" />
26
 
27
- <label for="group-desc"><?php _e( 'Group Description (required)', 'buddypress' ); ?></label>
28
  <textarea name="group-desc" id="group-desc" aria-required="true"><?php bp_is_group_create() ? bp_new_group_description() : bp_group_description_editable(); ?></textarea>
29
 
30
  <?php if ( ! bp_is_group_create() ) : ?>
31
  <p class="bp-controls-wrap">
32
  <label for="group-notify-members" class="bp-label-text">
33
- <input type="checkbox" name="group-notify-members" id="group-notify-members" value="1" /> <?php _e( 'Notify group members of these changes via email', 'buddypress' ); ?>
34
  </label>
35
  </p>
36
  <?php endif; ?>
3
  * BP Nouveau Group's edit details template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
10
  <?php if ( bp_is_group_create() ) : ?>
11
 
12
  <h3 class="bp-screen-title creation-step-name">
13
+ <?php esc_html_e( 'Enter Group Name &amp; Description', 'buddypress' ); ?>
14
  </h3>
15
 
16
  <?php else : ?>
17
 
18
  <h2 class="bp-screen-title">
19
+ <?php esc_html_e( 'Edit Group Name &amp; Description', 'buddypress' ); ?>
20
  </h2>
21
 
22
  <?php endif; ?>
23
 
24
+ <label for="group-name"><?php esc_html_e( 'Group Name (required)', 'buddypress' ); ?></label>
25
  <input type="text" name="group-name" id="group-name" value="<?php bp_is_group_create() ? bp_new_group_name() : bp_group_name(); ?>" aria-required="true" />
26
 
27
+ <label for="group-desc"><?php esc_html_e( 'Group Description (required)', 'buddypress' ); ?></label>
28
  <textarea name="group-desc" id="group-desc" aria-required="true"><?php bp_is_group_create() ? bp_new_group_description() : bp_group_description_editable(); ?></textarea>
29
 
30
  <?php if ( ! bp_is_group_create() ) : ?>
31
  <p class="bp-controls-wrap">
32
  <label for="group-notify-members" class="bp-label-text">
33
+ <input type="checkbox" name="group-notify-members" id="group-notify-members" value="1" /> <?php esc_html_e( 'Notify group members of these changes via email', 'buddypress' ); ?>
34
  </label>
35
  </p>
36
  <?php endif; ?>
bp-templates/bp-nouveau/buddypress/groups/single/admin/group-avatar.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Nouveau Group's avatar template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
@@ -23,9 +23,9 @@
23
 
24
  <?php if ( ! bp_is_group_create() ) : ?>
25
  <?php if ( ! bp_get_group_has_avatar() ) : ?>
26
- <p class="bp-help-text"><?php _e( 'Add an image to use as a profile photo for this group. The image will be shown on the main group page, and in search results.', 'buddypress' ); ?></p>
27
  <?php else : ?>
28
- <p class="bp-help-text"><?php _e( 'Edit or update your avatar image for this group.', 'buddypress' ); ?></p>
29
  <?php endif; ?>
30
  <?php endif; ?>
31
 
@@ -43,22 +43,22 @@
43
  <div class="main-column">
44
  <?php endif; ?>
45
 
46
- <p class="bp-help-text"><?php _e( 'Upload an image to use as a profile photo for this group. The image will be shown on the main group page, and in search results.', 'buddypress' ); ?></p>
47
 
48
  <p>
49
- <label for="file" class="bp-screen-reader-text"><?php _e( 'Select an image', 'buddypress' ); ?></label>
50
  <input type="file" name="file" id="file" />
51
  <input type="submit" name="upload" id="upload" value="<?php esc_attr_e( 'Upload Image', 'buddypress' ); ?>" />
52
  <input type="hidden" name="action" id="action" value="bp_avatar_upload" />
53
  </p>
54
 
55
  <?php if ( bp_is_group_create() ) : ?>
56
- <p class="bp-help-text"><?php _e( 'To skip the group profile photo upload process, hit the "Next Step" button.', 'buddypress' ); ?></p>
57
  </div><!-- .main-column -->
58
 
59
  <?php elseif ( bp_get_group_has_avatar() ) : ?>
60
 
61
- <p><?php _e( "If you'd like to remove the existing group profile photo but not upload a new one, please use the delete group profile photo button.", 'buddypress' ); ?></p>
62
 
63
  <?php
64
  bp_button(
@@ -95,7 +95,7 @@ endif;
95
  if ( 'crop-image' === bp_get_avatar_admin_step() ) :
96
  ?>
97
 
98
- <h2><?php _e( 'Crop Group Profile Photo', 'buddypress' ); ?></h2>
99
 
100
  <img src="<?php bp_avatar_to_crop(); ?>" id="avatar-to-crop" class="avatar" alt="<?php esc_attr_e( 'Profile photo to crop', 'buddypress' ); ?>" />
101
 
3
  * BP Nouveau Group's avatar template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
23
 
24
  <?php if ( ! bp_is_group_create() ) : ?>
25
  <?php if ( ! bp_get_group_has_avatar() ) : ?>
26
+ <p class="bp-help-text"><?php esc_html_e( 'Add an image to use as a profile photo for this group. The image will be shown on the main group page, and in search results.', 'buddypress' ); ?></p>
27
  <?php else : ?>
28
+ <p class="bp-help-text"><?php esc_html_e( 'Edit or update your avatar image for this group.', 'buddypress' ); ?></p>
29
  <?php endif; ?>
30
  <?php endif; ?>
31
 
43
  <div class="main-column">
44
  <?php endif; ?>
45
 
46
+ <p class="bp-help-text"><?php esc_html_e( 'Upload an image to use as a profile photo for this group. The image will be shown on the main group page, and in search results.', 'buddypress' ); ?></p>
47
 
48
  <p>
49
+ <label for="file" class="bp-screen-reader-text"><?php esc_html_e( 'Select an image', 'buddypress' ); ?></label>
50
  <input type="file" name="file" id="file" />
51
  <input type="submit" name="upload" id="upload" value="<?php esc_attr_e( 'Upload Image', 'buddypress' ); ?>" />
52
  <input type="hidden" name="action" id="action" value="bp_avatar_upload" />
53
  </p>
54
 
55
  <?php if ( bp_is_group_create() ) : ?>
56
+ <p class="bp-help-text"><?php esc_html_e( 'To skip the group profile photo upload process, hit the "Next Step" button.', 'buddypress' ); ?></p>
57
  </div><!-- .main-column -->
58
 
59
  <?php elseif ( bp_get_group_has_avatar() ) : ?>
60
 
61
+ <p><?php esc_html_e( "If you'd like to remove the existing group profile photo but not upload a new one, please use the delete group profile photo button.", 'buddypress' ); ?></p>
62
 
63
  <?php
64
  bp_button(
95
  if ( 'crop-image' === bp_get_avatar_admin_step() ) :
96
  ?>
97
 
98
+ <h2><?php esc_html_e( 'Crop Group Profile Photo', 'buddypress' ); ?></h2>
99
 
100
  <img src="<?php bp_avatar_to_crop(); ?>" id="avatar-to-crop" class="avatar" alt="<?php esc_attr_e( 'Profile photo to crop', 'buddypress' ); ?>" />
101
 
bp-templates/bp-nouveau/buddypress/groups/single/admin/group-cover-image.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Nouveau Group's cover image template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
@@ -23,7 +23,7 @@
23
 
24
  <?php endif; ?>
25
 
26
- <p><?php _e( 'The Cover Image will be used to customize the header of your group.', 'buddypress' ); ?></p>
27
 
28
  <?php
29
  bp_attachments_get_template_part( 'cover-images/index' );
3
  * BP Nouveau Group's cover image template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
23
 
24
  <?php endif; ?>
25
 
26
+ <p><?php esc_html_e( 'The Cover Image will be used to customize the header of your group.', 'buddypress' ); ?></p>
27
 
28
  <?php
29
  bp_attachments_get_template_part( 'cover-images/index' );
bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Nouveau Group's edit settings template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
@@ -24,47 +24,49 @@
24
  <div class="group-settings-selections">
25
 
26
  <fieldset class="radio group-status-type">
27
- <legend><?php _e( 'Privacy Options', 'buddypress' ); ?></legend>
28
 
29
  <label for="group-status-public">
30
- <input type="radio" name="group-status" id="group-status-public" value="public"<?php if ( 'public' === bp_get_new_group_status() || ! bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> aria-describedby="public-group-description" /> <?php _e( 'This is a public group', 'buddypress' ); ?>
31
  </label>
32
 
33
  <ul id="public-group-description">
34
- <li><?php _e( 'Any site member can join this group.', 'buddypress' ); ?></li>
35
- <li><?php _e( 'This group will be listed in the groups directory and in search results.', 'buddypress' ); ?></li>
36
- <li><?php _e( 'Group content and activity will be visible to any site member.', 'buddypress' ); ?></li>
37
  </ul>
38
 
39
  <label for="group-status-private">
40
- <input type="radio" name="group-status" id="group-status-private" value="private"<?php if ( 'private' === bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> aria-describedby="private-group-description" /> <?php _e( 'This is a private group', 'buddypress' ); ?>
41
  </label>
42
 
43
  <ul id="private-group-description">
44
- <li><?php _e( 'Only users who request membership and are accepted can join the group.', 'buddypress' ); ?></li>
45
- <li><?php _e( 'This group will be listed in the groups directory and in search results.', 'buddypress' ); ?></li>
46
- <li><?php _e( 'Group content and activity will only be visible to members of the group.', 'buddypress' ); ?></li>
47
  </ul>
48
 
49
  <label for="group-status-hidden">
50
- <input type="radio" name="group-status" id="group-status-hidden" value="hidden"<?php if ( 'hidden' === bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> aria-describedby="hidden-group-description" /> <?php _e( 'This is a hidden group', 'buddypress' ); ?>
51
  </label>
52
 
53
  <ul id="hidden-group-description">
54
- <li><?php _e( 'Only users who are invited can join the group.', 'buddypress' ); ?></li>
55
- <li><?php _e( 'This group will not be listed in the groups directory or search results.', 'buddypress' ); ?></li>
56
- <li><?php _e( 'Group content and activity will only be visible to members of the group.', 'buddypress' ); ?></li>
57
  </ul>
58
 
59
  </fieldset>
60
 
61
- <?php // Group type selection ?>
62
- <?php if ( $group_types = bp_groups_get_group_types( array( 'show_in_create_screen' => true ), 'objects' ) ) : ?>
 
 
63
 
64
  <fieldset class="group-create-types">
65
- <legend><?php _e( 'Group Types', 'buddypress' ); ?></legend>
66
 
67
- <p tabindex="0"><?php _e( 'Select the types this group should be a part of.', 'buddypress' ); ?></p>
68
 
69
  <?php foreach ( $group_types as $type ) : ?>
70
  <div class="checkbox">
@@ -85,23 +87,23 @@
85
  <?php endif; ?>
86
 
87
  <fieldset class="radio group-invitations">
88
- <legend><?php _e( 'Group Invitations', 'buddypress' ); ?></legend>
89
 
90
- <p tabindex="0"><?php _e( 'Which members of this group are allowed to invite others?', 'buddypress' ); ?></p>
91
 
92
  <label for="group-invite-status-members">
93
  <input type="radio" name="group-invite-status" id="group-invite-status-members" value="members"<?php bp_group_show_invite_status_setting( 'members' ); ?> />
94
- <?php _e( 'All group members', 'buddypress' ); ?>
95
  </label>
96
 
97
  <label for="group-invite-status-mods">
98
  <input type="radio" name="group-invite-status" id="group-invite-status-mods" value="mods"<?php bp_group_show_invite_status_setting( 'mods' ); ?> />
99
- <?php _e( 'Group admins and mods only', 'buddypress' ); ?>
100
  </label>
101
 
102
  <label for="group-invite-status-admins">
103
  <input type="radio" name="group-invite-status" id="group-invite-status-admins" value="admins"<?php bp_group_show_invite_status_setting( 'admins' ); ?> />
104
- <?php _e( 'Group admins only', 'buddypress' ); ?>
105
  </label>
106
 
107
  </fieldset>
3
  * BP Nouveau Group's edit settings template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
24
  <div class="group-settings-selections">
25
 
26
  <fieldset class="radio group-status-type">
27
+ <legend><?php esc_html_e( 'Privacy Options', 'buddypress' ); ?></legend>
28
 
29
  <label for="group-status-public">
30
+ <input type="radio" name="group-status" id="group-status-public" value="public"<?php if ( 'public' === bp_get_new_group_status() || ! bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> aria-describedby="public-group-description" /> <?php esc_html_e( 'This is a public group', 'buddypress' ); ?>
31
  </label>
32
 
33
  <ul id="public-group-description">
34
+ <li><?php esc_html_e( 'Any site member can join this group.', 'buddypress' ); ?></li>
35
+ <li><?php esc_html_e( 'This group will be listed in the groups directory and in search results.', 'buddypress' ); ?></li>
36
+ <li><?php esc_html_e( 'Group content and activity will be visible to any site member.', 'buddypress' ); ?></li>
37
  </ul>
38
 
39
  <label for="group-status-private">
40
+ <input type="radio" name="group-status" id="group-status-private" value="private"<?php if ( 'private' === bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> aria-describedby="private-group-description" /> <?php esc_html_e( 'This is a private group', 'buddypress' ); ?>
41
  </label>
42
 
43
  <ul id="private-group-description">
44
+ <li><?php esc_html_e( 'Only people who request membership and are accepted can join the group.', 'buddypress' ); ?></li>
45
+ <li><?php esc_html_e( 'This group will be listed in the groups directory and in search results.', 'buddypress' ); ?></li>
46
+ <li><?php esc_html_e( 'Group content and activity will only be visible to members of the group.', 'buddypress' ); ?></li>
47
  </ul>
48
 
49
  <label for="group-status-hidden">
50
+ <input type="radio" name="group-status" id="group-status-hidden" value="hidden"<?php if ( 'hidden' === bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> aria-describedby="hidden-group-description" /> <?php esc_html_e( 'This is a hidden group', 'buddypress' ); ?>
51
  </label>
52
 
53
  <ul id="hidden-group-description">
54
+ <li><?php esc_html_e( 'Only people who are invited can join the group.', 'buddypress' ); ?></li>
55
+ <li><?php esc_html_e( 'This group will not be listed in the groups directory or search results.', 'buddypress' ); ?></li>
56
+ <li><?php esc_html_e( 'Group content and activity will only be visible to members of the group.', 'buddypress' ); ?></li>
57
  </ul>
58
 
59
  </fieldset>
60
 
61
+ <?php
62
+ // Group type selection
63
+ $group_types = bp_groups_get_group_types( array( 'show_in_create_screen' => true ), 'objects' );
64
+ if ( $group_types ) : ?>
65
 
66
  <fieldset class="group-create-types">
67
+ <legend><?php esc_html_e( 'Group Types', 'buddypress' ); ?></legend>
68
 
69
+ <p tabindex="0"><?php esc_html_e( 'Select the types this group should be a part of.', 'buddypress' ); ?></p>
70
 
71
  <?php foreach ( $group_types as $type ) : ?>
72
  <div class="checkbox">
87
  <?php endif; ?>
88
 
89
  <fieldset class="radio group-invitations">
90
+ <legend><?php esc_html_e( 'Group Invitations', 'buddypress' ); ?></legend>
91
 
92
+ <p tabindex="0"><?php esc_html_e( 'Which members of this group are allowed to invite others?', 'buddypress' ); ?></p>
93
 
94
  <label for="group-invite-status-members">
95
  <input type="radio" name="group-invite-status" id="group-invite-status-members" value="members"<?php bp_group_show_invite_status_setting( 'members' ); ?> />
96
+ <?php esc_html_e( 'All group members', 'buddypress' ); ?>
97
  </label>
98
 
99
  <label for="group-invite-status-mods">
100
  <input type="radio" name="group-invite-status" id="group-invite-status-mods" value="mods"<?php bp_group_show_invite_status_setting( 'mods' ); ?> />
101
+ <?php esc_html_e( 'Group admins and mods only', 'buddypress' ); ?>
102
  </label>
103
 
104
  <label for="group-invite-status-admins">
105
  <input type="radio" name="group-invite-status" id="group-invite-status-admins" value="admins"<?php bp_group_show_invite_status_setting( 'admins' ); ?> />
106
+ <?php esc_html_e( 'Group admins only', 'buddypress' ); ?>
107
  </label>
108
 
109
  </fieldset>
bp-templates/bp-nouveau/buddypress/groups/single/admin/manage-members.php CHANGED
@@ -3,19 +3,19 @@
3
  * BP Nouveau Group's manage members template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
10
  <h2 class="bp-screen-title <?php if ( bp_is_group_create() ) { echo esc_attr( 'creation-step-name' ); } ?>">
11
- <?php _e( 'Manage Group Members', 'buddypress' ); ?>
12
  </h2>
13
 
14
- <p class="bp-help-text"><?php _e( 'Manage your group members; promote to moderators, admins or demote or ban.', 'buddypress' ); ?></p>
15
 
16
  <dl class="groups-manage-members-list">
17
 
18
- <dt class="admin-section section-title"><?php _e( 'Administrators', 'buddypress' ); ?></dt>
19
 
20
  <?php if ( bp_has_members( '&include=' . bp_group_admin_ids() ) ) : ?>
21
  <dd class="admin-listing">
@@ -32,7 +32,7 @@
32
  <?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
33
 
34
  <p class="action text-links-list">
35
- <a class="button confirm admin-demote-to-member" href="<?php bp_group_member_demote_link( bp_get_member_user_id() ); ?>"><?php _e( 'Demote to Member', 'buddypress' ); ?></a>
36
  </p>
37
 
38
  <?php endif; ?>
@@ -46,7 +46,7 @@
46
 
47
  <?php if ( bp_group_has_moderators() ) : ?>
48
 
49
- <dt class="moderator-section section-title"><?php _e( 'Moderators', 'buddypress' ); ?></dt>
50
 
51
  <dd class="moderator-listing">
52
  <?php if ( bp_has_members( '&include=' . bp_group_mod_ids() ) ) : ?>
@@ -61,8 +61,8 @@
61
  </p>
62
 
63
  <div class="members-manage-buttons action text-links-list">
64
- <a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => bp_get_member_user_id() ) ); ?>" class="button confirm mod-promote-to-admin"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
65
- <a class="button confirm mod-demote-to-member" href="<?php bp_group_member_demote_link( bp_get_member_user_id() ); ?>"><?php _e( 'Demote to Member', 'buddypress' ); ?></a>
66
  </div>
67
 
68
  </li>
@@ -95,7 +95,14 @@
95
 
96
  <p class="list-title member-name">
97
  <?php bp_group_member_link(); ?>
98
- <span class="banned warn"><?php if ( bp_get_group_member_is_banned() ) _e( '(banned)', 'buddypress' ); ?></span>
 
 
 
 
 
 
 
99
  </p>
100
 
101
  <?php bp_nouveau_groups_manage_members_buttons( array( 'container' => 'div', 'container_classes' => array( 'members-manage-buttons', 'text-links-list' ), 'parent_element' => ' ' ) ) ; ?>
3
  * BP Nouveau Group's manage members template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
10
  <h2 class="bp-screen-title <?php if ( bp_is_group_create() ) { echo esc_attr( 'creation-step-name' ); } ?>">
11
+ <?php esc_html_e( 'Manage Group Members', 'buddypress' ); ?>
12
  </h2>
13
 
14
+ <p class="bp-help-text"><?php esc_html_e( 'Manage your group members; promote to moderators, admins or demote or ban.', 'buddypress' ); ?></p>
15
 
16
  <dl class="groups-manage-members-list">
17
 
18
+ <dt class="admin-section section-title"><?php esc_html_e( 'Administrators', 'buddypress' ); ?></dt>
19
 
20
  <?php if ( bp_has_members( '&include=' . bp_group_admin_ids() ) ) : ?>
21
  <dd class="admin-listing">
32
  <?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
33
 
34
  <p class="action text-links-list">
35
+ <a class="button confirm admin-demote-to-member" href="<?php bp_group_member_demote_link( bp_get_member_user_id() ); ?>"><?php esc_html_e( 'Demote to Member', 'buddypress' ); ?></a>
36
  </p>
37
 
38
  <?php endif; ?>
46
 
47
  <?php if ( bp_group_has_moderators() ) : ?>
48
 
49
+ <dt class="moderator-section section-title"><?php esc_html_e( 'Moderators', 'buddypress' ); ?></dt>
50
 
51
  <dd class="moderator-listing">
52
  <?php if ( bp_has_members( '&include=' . bp_group_mod_ids() ) ) : ?>
61
  </p>
62
 
63
  <div class="members-manage-buttons action text-links-list">
64
+ <a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => bp_get_member_user_id() ) ); ?>" class="button confirm mod-promote-to-admin"><?php esc_html_e( 'Promote to Admin', 'buddypress' ); ?></a>
65
+ <a class="button confirm mod-demote-to-member" href="<?php bp_group_member_demote_link( bp_get_member_user_id() ); ?>"><?php esc_html_e( 'Demote to Member', 'buddypress' ); ?></a>
66
  </div>
67
 
68
  </li>
95
 
96
  <p class="list-title member-name">
97
  <?php bp_group_member_link(); ?>
98
+ <span class="banned warn">
99
+ <?php if ( bp_get_group_member_is_banned() ) : ?>
100
+ <?php
101
+ /* translators: indicates a user is banned from a group, e.g. "Mike (banned)". */
102
+ esc_html_e( '(banned)', 'buddypress' );
103
+ ?>
104
+ <?php endif; ?>
105
+ </span>
106
  </p>
107
 
108
  <?php bp_nouveau_groups_manage_members_buttons( array( 'container' => 'div', 'container_classes' => array( 'members-manage-buttons', 'text-links-list' ), 'parent_element' => ' ' ) ) ; ?>
bp-templates/bp-nouveau/buddypress/groups/single/cover-image-header.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Groups Cover Image Header.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
@@ -24,12 +24,15 @@
24
  <?php if ( ! bp_nouveau_groups_front_page_description() ) : ?>
25
  <div id="item-header-content">
26
 
27
-
28
-
29
  <p class="highlight group-status"><strong><?php echo esc_html( bp_nouveau_group_meta()->status ); ?></strong></p>
30
- <p class="activity" data-livestamp="<?php bp_core_iso8601_date( bp_get_group_last_active( 0, array( 'relative' => false ) ) ); ?>"><?php printf( __( 'active %s', 'buddypress' ), bp_get_group_last_active() ); ?></p>
31
- <?php echo bp_nouveau_group_meta()->group_type_list; ?>
 
 
 
 
32
 
 
33
  <?php bp_nouveau_group_hook( 'before', 'header_meta' ); ?>
34
 
35
  <?php if ( bp_nouveau_group_has_meta_extra() ) : ?>
@@ -52,12 +55,12 @@
52
 
53
  </div><!-- #cover-image-container -->
54
 
55
- <?php if ( ! bp_nouveau_groups_front_page_description() ) : ?>
56
- <?php if ( bp_nouveau_group_meta()->description ) { ?>
57
- <div class="desc-wrap">
58
- <div class="group-description">
59
- <?php echo bp_nouveau_group_meta()->description; ?>
60
- </div><!-- //.group_description -->
61
- </div>
62
- <?php } ?>
63
  <?php endif; ?>
3
  * BuddyPress - Groups Cover Image Header.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
24
  <?php if ( ! bp_nouveau_groups_front_page_description() ) : ?>
25
  <div id="item-header-content">
26
 
 
 
27
  <p class="highlight group-status"><strong><?php echo esc_html( bp_nouveau_group_meta()->status ); ?></strong></p>
28
+ <p class="activity" data-livestamp="<?php bp_core_iso8601_date( bp_get_group_last_active( 0, array( 'relative' => false ) ) ); ?>">
29
+ <?php
30
+ /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
31
+ printf( __( 'active %s', 'buddypress' ), bp_get_group_last_active() );
32
+ ?>
33
+ </p>
34
 
35
+ <?php echo bp_nouveau_group_meta()->group_type_list; ?>
36
  <?php bp_nouveau_group_hook( 'before', 'header_meta' ); ?>
37
 
38
  <?php if ( bp_nouveau_group_has_meta_extra() ) : ?>
55
 
56
  </div><!-- #cover-image-container -->
57
 
58
+ <?php if ( ! bp_nouveau_groups_front_page_description() ) : ?>
59
+ <?php if ( ! empty( bp_nouveau_group_meta()->description ) ) : ?>
60
+ <div class="desc-wrap">
61
+ <div class="group-description">
62
+ <?php echo esc_html( bp_nouveau_group_meta()->description ); ?>
63
+ </div><!-- //.group_description -->
64
+ </div>
65
+ <?php endif; ?>
66
  <?php endif; ?>
bp-templates/bp-nouveau/buddypress/groups/single/group-header.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Groups Header
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
@@ -23,7 +23,17 @@
23
 
24
  <p class="highlight group-status"><strong><?php echo esc_html( bp_nouveau_group_meta()->status ); ?></strong></p>
25
 
26
- <p class="activity" data-livestamp="<?php bp_core_iso8601_date( bp_get_group_last_active( 0, array( 'relative' => false ) ) ); ?>"><?php printf( __( 'active %s', 'buddypress' ), bp_get_group_last_active() ); ?></p>
 
 
 
 
 
 
 
 
 
 
27
 
28
  <?php bp_nouveau_group_hook( 'before', 'header_meta' ); ?>
29
 
3
  * BuddyPress - Groups Header
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
23
 
24
  <p class="highlight group-status"><strong><?php echo esc_html( bp_nouveau_group_meta()->status ); ?></strong></p>
25
 
26
+ <p class="activity" data-livestamp="<?php bp_core_iso8601_date( bp_get_group_last_active( 0, array( 'relative' => false ) ) ); ?>">
27
+ <?php
28
+ echo esc_html(
29
+ sprintf(
30
+ /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
31
+ __( 'active %s', 'buddypress' ),
32
+ bp_get_group_last_active()
33
+ )
34
+ );
35
+ ?>
36
+ </p>
37
 
38
  <?php bp_nouveau_group_hook( 'before', 'header_meta' ); ?>
39
 
bp-templates/bp-nouveau/buddypress/groups/single/parts/header-item-actions.php CHANGED
@@ -3,17 +3,17 @@
3
  * BuddyPress - Groups Header item-actions.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
  <div id="item-actions" class="group-item-actions">
10
 
11
  <?php if ( bp_current_user_can( 'groups_access_group' ) ) : ?>
12
 
13
- <h2 class="bp-screen-reader-text"><?php esc_html_e( 'Leadership', 'buddypress' ); ?></h2>
14
 
15
  <dl class="moderators-lists">
16
- <dt class="moderators-title"><?php _e( 'Group Admins', 'buddypress' ); ?></dt>
17
  <dd class="user-list admins"><?php bp_group_list_admins(); ?>
18
  <?php bp_nouveau_group_hook( 'after', 'menu_admins' ); ?>
19
  </dd>
@@ -25,7 +25,7 @@
25
  ?>
26
 
27
  <dl class="moderators-lists">
28
- <dt class="moderators-title"><?php _e( 'Group Mods', 'buddypress' ); ?></dt>
29
  <dd class="user-list moderators">
30
  <?php
31
  bp_group_list_mods();
3
  * BuddyPress - Groups Header item-actions.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
  <div id="item-actions" class="group-item-actions">
10
 
11
  <?php if ( bp_current_user_can( 'groups_access_group' ) ) : ?>
12
 
13
+ <h2 class="bp-screen-reader-text"><?php esc_html_e( 'Group Leadership', 'buddypress' ); ?></h2>
14
 
15
  <dl class="moderators-lists">
16
+ <dt class="moderators-title"><?php esc_html_e( 'Group Administrators', 'buddypress' ); ?></dt>
17
  <dd class="user-list admins"><?php bp_group_list_admins(); ?>
18
  <?php bp_nouveau_group_hook( 'after', 'menu_admins' ); ?>
19
  </dd>
25
  ?>
26
 
27
  <dl class="moderators-lists">
28
+ <dt class="moderators-title"><?php esc_html_e( 'Group Mods', 'buddypress' ); ?></dt>
29
  <dd class="user-list moderators">
30
  <?php
31
  bp_group_list_mods();
bp-templates/bp-nouveau/buddypress/groups/single/request-membership.php CHANGED
@@ -3,21 +3,31 @@
3
  * BuddyPress - Groups Request Membership
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  bp_nouveau_group_hook( 'before', 'request_membership_content' ); ?>
10
 
11
  <?php if ( ! bp_group_has_requested_membership() ) : ?>
12
- <p><?php printf( __( 'You are requesting to become a member of the group \'%s\'.', 'buddypress' ), bp_get_group_name( false ) ); ?></p>
 
 
 
 
 
 
 
 
 
 
13
 
14
  <form action="<?php bp_group_form_action( 'request-membership' ); ?>" method="post" name="request-membership-form" id="request-membership-form" class="standard-form">
15
- <label for="group-request-membership-comments"><?php _e( 'Comments (optional)', 'buddypress' ); ?></label>
16
  <textarea name="group-request-membership-comments" id="group-request-membership-comments"></textarea>
17
 
18
  <?php bp_nouveau_group_hook( '', 'request_membership_content' ); ?>
19
 
20
- <p><input type="submit" name="group-request-send" id="group-request-send" value="<?php esc_attr_e( 'Send Request', 'buddypress' ); ?>" />
21
 
22
  <?php wp_nonce_field( 'groups_request_membership' ); ?>
23
  </form><!-- #request-membership-form -->
3
  * BuddyPress - Groups Request Membership
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_group_hook( 'before', 'request_membership_content' ); ?>
10
 
11
  <?php if ( ! bp_group_has_requested_membership() ) : ?>
12
+ <p>
13
+ <?php
14
+ echo esc_html(
15
+ sprintf(
16
+ /* translators: %s = group name */
17
+ __( 'You are requesting to become a member of the group "%s".', 'buddypress' ),
18
+ bp_get_group_name()
19
+ )
20
+ );
21
+ ?>
22
+ </p>
23
 
24
  <form action="<?php bp_group_form_action( 'request-membership' ); ?>" method="post" name="request-membership-form" id="request-membership-form" class="standard-form">
25
+ <label for="group-request-membership-comments"><?php esc_html( 'Comments (optional)', 'buddypress' ); ?></label>
26
  <textarea name="group-request-membership-comments" id="group-request-membership-comments"></textarea>
27
 
28
  <?php bp_nouveau_group_hook( '', 'request_membership_content' ); ?>
29
 
30
+ <p><input type="submit" name="group-request-send" id="group-request-send" value="<?php echo esc_attr_x( 'Send Request', 'button', 'buddypress' ); ?>" />
31
 
32
  <?php wp_nonce_field( 'groups_request_membership' ); ?>
33
  </form><!-- #request-membership-form -->
bp-templates/bp-nouveau/buddypress/members/activate.php CHANGED
@@ -2,7 +2,8 @@
2
  /**
3
  * BuddyPress - Members Activate
4
  *
5
- * @version 3.0.0
 
6
  */
7
  ?>
8
 
@@ -17,22 +18,31 @@
17
  <?php if ( bp_account_was_activated() ) : ?>
18
 
19
  <?php if ( isset( $_GET['e'] ) ) : ?>
20
- <p><?php _e( 'Your account was activated successfully! Your account details have been sent to you in a separate email.', 'buddypress' ); ?></p>
21
  <?php else : ?>
22
- <p><?php printf( __( 'Your account was activated successfully! You can now <a href="%s">log in</a> with the username and password you provided when you signed up.', 'buddypress' ), wp_login_url( bp_get_root_domain() ) ); ?></p>
 
 
 
 
 
 
 
 
 
23
  <?php endif; ?>
24
 
25
  <?php else : ?>
26
 
27
- <p><?php _e( 'Please provide a valid activation key.', 'buddypress' ); ?></p>
28
 
29
  <form action="" method="post" class="standard-form" id="activation-form">
30
 
31
- <label for="key"><?php _e( 'Activation Key:', 'buddypress' ); ?></label>
32
  <input type="text" name="key" id="key" value="<?php echo esc_attr( bp_get_current_activation_key() ); ?>" />
33
 
34
  <p class="submit">
35
- <input type="submit" name="submit" value="<?php esc_attr_e( 'Activate', 'buddypress' ); ?>" />
36
  </p>
37
 
38
  </form>
2
  /**
3
  * BuddyPress - Members Activate
4
  *
5
+ * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
18
  <?php if ( bp_account_was_activated() ) : ?>
19
 
20
  <?php if ( isset( $_GET['e'] ) ) : ?>
21
+ <p><?php esc_html_e( 'Your account was activated successfully! Your account details have been sent to you in a separate email.', 'buddypress' ); ?></p>
22
  <?php else : ?>
23
+ <p>
24
+ <?php
25
+ echo esc_html(
26
+ sprintf(
27
+ __( 'Your account was activated successfully! You can now <a href="%s">log in</a> with the username and password you provided when you signed up.', 'buddypress' ),
28
+ wp_login_url( bp_get_root_domain() )
29
+ )
30
+ );
31
+ ?>
32
+ </p>
33
  <?php endif; ?>
34
 
35
  <?php else : ?>
36
 
37
+ <p><?php esc_html_e( 'Please provide a valid activation key.', 'buddypress' ); ?></p>
38
 
39
  <form action="" method="post" class="standard-form" id="activation-form">
40
 
41
+ <label for="key"><?php esc_html_e( 'Activation Key:', 'buddypress' ); ?></label>
42
  <input type="text" name="key" id="key" value="<?php echo esc_attr( bp_get_current_activation_key() ); ?>" />
43
 
44
  <p class="submit">
45
+ <input type="submit" name="submit" value="<?php echo esc_attr_x( 'Activate', 'button', 'buddypress' ); ?>" />
46
  </p>
47
 
48
  </form>
bp-templates/bp-nouveau/buddypress/members/register.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Members/Blogs Registration forms
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  ?>
@@ -28,7 +28,7 @@
28
 
29
  <?php /***** Basic Account Details ******/ ?>
30
 
31
- <h2 class="bp-heading"><?php _e( 'Account Details', 'buddypress' ); ?></h2>
32
 
33
  <?php bp_nouveau_signup_form(); ?>
34
 
@@ -44,7 +44,7 @@
44
 
45
  <div class="register-section extended-profile" id="profile-details-section">
46
 
47
- <h2 class="bp-heading"><?php _e( 'Profile Details', 'buddypress' ); ?></h2>
48
 
49
  <?php /* Use the profile field loop to render input fields for the 'base' profile field group */ ?>
50
  <?php while ( bp_profile_groups() ) : bp_the_profile_group(); ?>
@@ -86,9 +86,9 @@
86
 
87
  <div class="register-section blog-details" id="blog-details-section">
88
 
89
- <h2><?php _e( 'Blog Details', 'buddypress' ); ?></h2>
90
 
91
- <p><label for="signup_with_blog"><input type="checkbox" name="signup_with_blog" id="signup_with_blog" value="1" <?php checked( (int) bp_get_signup_with_blog_value(), 1 ); ?>/> <?php _e( "Yes, I'd like to create a new site", 'buddypress' ); ?></label></p>
92
 
93
  <div id="blog-details"<?php if ( (int) bp_get_signup_with_blog_value() ) : ?>class="show"<?php endif; ?>>
94
 
3
  * BuddyPress - Members/Blogs Registration forms
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  ?>
28
 
29
  <?php /***** Basic Account Details ******/ ?>
30
 
31
+ <h2 class="bp-heading"><?php esc_html_e( 'Account Details', 'buddypress' ); ?></h2>
32
 
33
  <?php bp_nouveau_signup_form(); ?>
34
 
44
 
45
  <div class="register-section extended-profile" id="profile-details-section">
46
 
47
+ <h2 class="bp-heading"><?php esc_html_e( 'Profile Details', 'buddypress' ); ?></h2>
48
 
49
  <?php /* Use the profile field loop to render input fields for the 'base' profile field group */ ?>
50
  <?php while ( bp_profile_groups() ) : bp_the_profile_group(); ?>
86
 
87
  <div class="register-section blog-details" id="blog-details-section">
88
 
89
+ <h2><?php esc_html_e( 'Site Details', 'buddypress' ); ?></h2>
90
 
91
+ <p><label for="signup_with_blog"><input type="checkbox" name="signup_with_blog" id="signup_with_blog" value="1" <?php checked( (int) bp_get_signup_with_blog_value(), 1 ); ?>/> <?php esc_html_e( "Yes, i'd like to create a new site", 'buddypress' ); ?></label></p>
92
 
93
  <div id="blog-details"<?php if ( (int) bp_get_signup_with_blog_value() ) : ?>class="show"<?php endif; ?>>
94
 
bp-templates/bp-nouveau/buddypress/members/single/default-front.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Nouveau Default user's front template.
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
@@ -13,7 +13,7 @@
13
 
14
  <div class="bp-feedback custom-homepage-info info">
15
  <strong><?php esc_html_e( 'Manage the members default front page', 'buddypress' ); ?></strong>
16
- <button type="button" class="bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Close', 'buddypress' ); ?>" aria-label="<?php esc_attr_e( 'Close this notice', 'buddypress' ); ?>" data-bp-close="remove"><span class="dashicons dashicons-dismiss" aria-hidden="true"></span></button><br/>
17
  <?php
18
  printf(
19
  esc_html__( 'You can set the preferences of the %1$s or add %2$s to it.', 'buddypress' ),
3
  * BP Nouveau Default user's front template.
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
13
 
14
  <div class="bp-feedback custom-homepage-info info">
15
  <strong><?php esc_html_e( 'Manage the members default front page', 'buddypress' ); ?></strong>
16
+ <button type="button" class="bp-tooltip" data-bp-tooltip="<?php echo esc_attr_x( 'Close', 'button', 'buddypress' ); ?>" aria-label="<?php esc_attr_e( 'Close this notice', 'buddypress' ); ?>" data-bp-close="remove"><span class="dashicons dashicons-dismiss" aria-hidden="true"></span></button><br/>
17
  <?php
18
  printf(
19
  esc_html__( 'You can set the preferences of the %1$s or add %2$s to it.', 'buddypress' ),
bp-templates/bp-nouveau/buddypress/members/single/groups/invites.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Members Single Group Invites
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
@@ -33,7 +33,20 @@
33
  <div class="item">
34
  <h2 class="list-title groups-title"><?php bp_group_link(); ?></h2>
35
  <p class="meta group-details">
36
- <span class="small"> - <?php printf( _nx( '%d member', '%d members', bp_get_group_total_members( false ), 'Group member count', 'buddypress' ), bp_get_group_total_members( false ) ); ?></span>
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  </p>
38
 
39
  <p class="desc">
3
  * BuddyPress - Members Single Group Invites
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
33
  <div class="item">
34
  <h2 class="list-title groups-title"><?php bp_group_link(); ?></h2>
35
  <p class="meta group-details">
36
+ <span class="small">
37
+ <?php
38
+ printf(
39
+ /* translators: %s = number of members */
40
+ _n(
41
+ '%s member',
42
+ '%s members',
43
+ bp_get_group_total_members( false ),
44
+ 'buddypress'
45
+ ),
46
+ number_format_i18n( bp_get_group_total_members( false ) )
47
+ );
48
+ ?>
49
+ </span>
50
  </p>
51
 
52
  <p class="desc">
bp-templates/bp-nouveau/buddypress/members/single/notifications/notifications-loop.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Members Notifications Loop
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  if ( bp_has_notifications( bp_ajax_querystring( 'notifications' ) ) ) :
@@ -15,13 +15,13 @@ if ( bp_has_notifications( bp_ajax_querystring( 'notifications' ) ) ) :
15
  <thead>
16
  <tr>
17
  <th class="icon"></th>
18
- <th class="bulk-select-all"><input id="select-all-notifications" type="checkbox"><label class="bp-screen-reader-text" for="select-all-notifications"><?php _e( 'Select all', 'buddypress' ); ?></label></th>
19
- <th class="title"><?php _e( 'Notification', 'buddypress' ); ?></th>
20
  <th class="date">
21
- <?php _e( 'Date Received', 'buddypress' ); ?>
22
  <?php bp_nouveau_notifications_sort_order_links(); ?>
23
  </th>
24
- <th class="actions"><?php _e( 'Actions', 'buddypress' ); ?></th>
25
  </tr>
26
  </thead>
27
 
@@ -34,7 +34,7 @@ if ( bp_has_notifications( bp_ajax_querystring( 'notifications' ) ) ) :
34
 
35
  <tr>
36
  <td></td>
37
- <td class="bulk-select-check"><label for="<?php bp_the_notification_id(); ?>"><input id="<?php bp_the_notification_id(); ?>" type="checkbox" name="notifications[]" value="<?php bp_the_notification_id(); ?>" class="notification-check"><span class="bp-screen-reader-text"><?php _e( 'Select this notification', 'buddypress' ); ?></span></label></td>
38
  <td class="notification-description"><?php bp_the_notification_description(); ?></td>
39
  <td class="notification-since"><?php bp_the_notification_time_since(); ?></td>
40
  <td class="notification-actions"><?php bp_the_notification_action_links(); ?></td>
3
  * BuddyPress - Members Notifications Loop
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  if ( bp_has_notifications( bp_ajax_querystring( 'notifications' ) ) ) :
15
  <thead>
16
  <tr>
17
  <th class="icon"></th>
18
+ <th class="bulk-select-all"><input id="select-all-notifications" type="checkbox"><label class="bp-screen-reader-text" for="select-all-notifications"><?php esc_html_e( 'Select all', 'buddypress' ); ?></label></th>
19
+ <th class="title"><?php esc_html_e( 'Notification', 'buddypress' ); ?></th>
20
  <th class="date">
21
+ <?php esc_html_e( 'Date Received', 'buddypress' ); ?>
22
  <?php bp_nouveau_notifications_sort_order_links(); ?>
23
  </th>
24
+ <th class="actions"><?php esc_html_e( 'Actions', 'buddypress' ); ?></th>
25
  </tr>
26
  </thead>
27
 
34
 
35
  <tr>
36
  <td></td>
37
+ <td class="bulk-select-check"><label for="<?php bp_the_notification_id(); ?>"><input id="<?php bp_the_notification_id(); ?>" type="checkbox" name="notifications[]" value="<?php bp_the_notification_id(); ?>" class="notification-check"><span class="bp-screen-reader-text"><?php esc_html_e( 'Select this notification', 'buddypress' ); ?></span></label></td>
38
  <td class="notification-description"><?php bp_the_notification_description(); ?></td>
39
  <td class="notification-since"><?php bp_the_notification_time_since(); ?></td>
40
  <td class="notification-actions"><?php bp_the_notification_action_links(); ?></td>
bp-templates/bp-nouveau/buddypress/members/single/parts/item-nav.php CHANGED
@@ -3,11 +3,11 @@
3
  * BuddyPress Single Members item Navigation
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
10
- <nav class="<?php bp_nouveau_single_item_nav_classes(); ?>" id="object-nav" role="navigation" aria-label="<?php esc_attr_e( 'User menu', 'buddypress' ); ?>">
11
 
12
  <?php if ( bp_nouveau_has_nav( array( 'type' => 'primary' ) ) ) : ?>
13
 
3
  * BuddyPress Single Members item Navigation
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
10
+ <nav class="<?php bp_nouveau_single_item_nav_classes(); ?>" id="object-nav" role="navigation" aria-label="<?php esc_attr_e( 'Member menu', 'buddypress' ); ?>">
11
 
12
  <?php if ( bp_nouveau_has_nav( array( 'type' => 'primary' ) ) ) : ?>
13
 
bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Members Single Profile Edit Field visibility
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  if ( empty( $GLOBALS['profile_template'] ) ) {
@@ -17,22 +17,23 @@ if ( empty( $GLOBALS['profile_template'] ) ) {
17
 
18
  <?php
19
  printf(
 
20
  __( 'This field may be seen by: %s', 'buddypress' ),
21
  '<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'
22
  );
23
  ?>
24
- <button class="visibility-toggle-link text-button" type="button"><?php _e( 'Change', 'buddypress' ); ?></button>
25
 
26
  </p>
27
 
28
  <div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id(); ?>">
29
  <fieldset>
30
- <legend><?php _e( 'Who is allowed to see this field?', 'buddypress' ); ?></legend>
31
 
32
  <?php bp_profile_visibility_radio_buttons(); ?>
33
 
34
  </fieldset>
35
- <button class="field-visibility-settings-close button" type="button"><?php _e( 'Close', 'buddypress' ); ?></button>
36
  </div>
37
 
38
  <?php else : ?>
@@ -40,7 +41,7 @@ if ( empty( $GLOBALS['profile_template'] ) ) {
40
  <p class="field-visibility-settings-notoggle field-visibility-settings-header" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id(); ?>">
41
  <?php
42
  printf(
43
- __( 'This field may be seen by: %s', 'buddypress' ),
44
  '<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'
45
  );
46
  ?>
3
  * BuddyPress - Members Single Profile Edit Field visibility
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  if ( empty( $GLOBALS['profile_template'] ) ) {
17
 
18
  <?php
19
  printf(
20
+ /* translators: field visibility level, e.g. "...seen by: everyone". */
21
  __( 'This field may be seen by: %s', 'buddypress' ),
22
  '<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'
23
  );
24
  ?>
25
+ <button class="visibility-toggle-link text-button" type="button"><?php echo esc_html_x( 'Change', 'button', 'buddypress' ); ?></button>
26
 
27
  </p>
28
 
29
  <div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id(); ?>">
30
  <fieldset>
31
+ <legend><?php esc_html_e( 'Who is allowed to see this field?', 'buddypress' ); ?></legend>
32
 
33
  <?php bp_profile_visibility_radio_buttons(); ?>
34
 
35
  </fieldset>
36
+ <button class="field-visibility-settings-close button" type="button"><?php echo esc_html_x( 'Close', 'button', 'buddypress' ); ?></button>
37
  </div>
38
 
39
  <?php else : ?>
41
  <p class="field-visibility-settings-notoggle field-visibility-settings-header" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id(); ?>">
42
  <?php
43
  printf(
44
+ esc_html__( 'This field may be seen by: %s', 'buddypress' ),
45
  '<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'
46
  );
47
  ?>
bp-templates/bp-nouveau/buddypress/members/single/profile/change-avatar.php CHANGED
@@ -3,11 +3,11 @@
3
  * BuddyPress - Members Profile Change Avatar
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
  ?>
9
 
10
- <h2 class="screen-heading change-avatar-screen"><?php _e( 'Change Profile Photo', 'buddypress' ); ?></h2>
11
 
12
  <?php bp_nouveau_member_hook( 'before', 'avatar_upload_content' ); ?>
13
 
@@ -15,7 +15,7 @@
15
 
16
  <p class="bp-feedback info">
17
  <span class="bp-icon" aria-hidden="true"></span>
18
- <span class="bp-help-text"><?php _e( 'Your profile photo will be used on your profile and throughout the site. If there is a <a href="https://gravatar.com">Gravatar</a> associated with your account email we will use that, or you can upload an image from your computer.', 'buddypress' ); ?></span>
19
  </p>
20
 
21
  <form action="" method="post" id="avatar-upload-form" class="standard-form" enctype="multipart/form-data">
@@ -23,25 +23,25 @@
23
  <?php if ( 'upload-image' === bp_get_avatar_admin_step() ) : ?>
24
 
25
  <?php wp_nonce_field( 'bp_avatar_upload' ); ?>
26
- <p class="bp-help-text"><?php _e( "Click below to select a JPG, GIF or PNG format photo from your computer and then click 'Upload Image' to proceed.", 'buddypress' ); ?></p>
27
 
28
  <p id="avatar-upload">
29
- <label for="file" class="bp-screen-reader-text"><?php _e( 'Select an image', 'buddypress' ); ?></label>
30
  <input type="file" name="file" id="file" />
31
  <input type="submit" name="upload" id="upload" value="<?php esc_attr_e( 'Upload Image', 'buddypress' ); ?>" />
32
  <input type="hidden" name="action" id="action" value="bp_avatar_upload" />
33
  </p>
34
 
35
  <?php if ( bp_get_user_has_avatar() ) : ?>
36
- <p class="bp-help-text"><?php _e( "If you'd like to delete your current profile photo but not upload a new one, please use the delete profile photo button.", 'buddypress' ); ?></p>
37
- <p><a class="button edit" href="<?php bp_avatar_delete_link(); ?>"><?php _e( 'Delete My Profile Photo', 'buddypress' ); ?></a></p>
38
  <?php endif; ?>
39
 
40
  <?php endif; ?>
41
 
42
  <?php if ( 'crop-image' === bp_get_avatar_admin_step() ) : ?>
43
 
44
- <p class="bp-help-text screen-header"><?php _e( 'Crop Your New Profile Photo', 'buddypress' ); ?></p>
45
 
46
  <img src="<?php bp_avatar_to_crop(); ?>" id="avatar-to-crop" class="avatar" alt="<?php esc_attr_e( 'Profile photo to crop', 'buddypress' ); ?>" />
47
 
@@ -74,7 +74,7 @@
74
 
75
  <?php else : ?>
76
 
77
- <p class="bp-help-text"><?php _e( 'Your profile photo will be used on your profile and throughout the site. To change your profile photo, please create an account with <a href="https://gravatar.com">Gravatar</a> using the same email address as you used to register with this site.', 'buddypress' ); ?></p>
78
 
79
  <?php endif; ?>
80
 
3
  * BuddyPress - Members Profile Change Avatar
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
  ?>
9
 
10
+ <h2 class="screen-heading change-avatar-screen"><?php esc_html_e( 'Change Profile Photo', 'buddypress' ); ?></h2>
11
 
12
  <?php bp_nouveau_member_hook( 'before', 'avatar_upload_content' ); ?>
13
 
15
 
16
  <p class="bp-feedback info">
17
  <span class="bp-icon" aria-hidden="true"></span>
18
+ <span class="bp-help-text"><?php esc_html_e( 'Your profile photo will be used on your profile and throughout the site. If there is a <a href="https://gravatar.com">Gravatar</a> associated with your account email we will use that, or you can upload an image from your computer.', 'buddypress' ); ?></span>
19
  </p>
20
 
21
  <form action="" method="post" id="avatar-upload-form" class="standard-form" enctype="multipart/form-data">
23
  <?php if ( 'upload-image' === bp_get_avatar_admin_step() ) : ?>
24
 
25
  <?php wp_nonce_field( 'bp_avatar_upload' ); ?>
26
+ <p class="bp-help-text"><?php esc_html_e( "Click below to select a JPG, GIF or PNG format photo from your computer and then click 'Upload Image' to proceed.", 'buddypress' ); ?></p>
27
 
28
  <p id="avatar-upload">
29
+ <label for="file" class="bp-screen-reader-text"><?php esc_html_e( 'Select an image', 'buddypress' ); ?></label>
30
  <input type="file" name="file" id="file" />
31
  <input type="submit" name="upload" id="upload" value="<?php esc_attr_e( 'Upload Image', 'buddypress' ); ?>" />
32
  <input type="hidden" name="action" id="action" value="bp_avatar_upload" />
33
  </p>
34
 
35
  <?php if ( bp_get_user_has_avatar() ) : ?>
36
+ <p class="bp-help-text"><?php esc_html_e( "If you'd like to delete your current profile photo, use the delete profile photo button.", 'buddypress' ); ?></p>
37
+ <p><a class="button edit" href="<?php bp_avatar_delete_link(); ?>"><?php esc_html_e( 'Delete My Profile Photo', 'buddypress' ); ?></a></p>
38
  <?php endif; ?>
39
 
40
  <?php endif; ?>
41
 
42
  <?php if ( 'crop-image' === bp_get_avatar_admin_step() ) : ?>
43
 
44
+ <p class="bp-help-text screen-header"><?php esc_html_e( 'Crop Your New Profile Photo', 'buddypress' ); ?></p>
45
 
46
  <img src="<?php bp_avatar_to_crop(); ?>" id="avatar-to-crop" class="avatar" alt="<?php esc_attr_e( 'Profile photo to crop', 'buddypress' ); ?>" />
47
 
74
 
75
  <?php else : ?>
76
 
77
+ <p class="bp-help-text"><?php esc_html_e( 'Your profile photo will be used on your profile and throughout the site. To change your profile photo, create an account with <a href="https://gravatar.com">Gravatar</a> using the same email address as you used to register with this site.', 'buddypress' ); ?></p>
78
 
79
  <?php endif; ?>
80
 
bp-templates/bp-nouveau/buddypress/members/single/profile/change-cover-image.php CHANGED
@@ -3,18 +3,18 @@
3
  * BuddyPress - Members Profile Change Cover Image
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  ?>
10
 
11
- <h2 class="screen-heading change-cover-image-screen"><?php _e( 'Change Cover Image', 'buddypress' ); ?></h2>
12
 
13
  <?php bp_nouveau_member_hook( 'before', 'edit_cover_image' ); ?>
14
 
15
  <p class="info bp-feedback">
16
  <span class="bp-icon" aria-hidden="true"></span>
17
- <span class="bp-help-text"><?php _e( 'Your Cover Image will be used to customize the header of your profile.', 'buddypress' ); ?></span>
18
  </p>
19
 
20
  <?php
3
  * BuddyPress - Members Profile Change Cover Image
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  ?>
10
 
11
+ <h2 class="screen-heading change-cover-image-screen"><?php esc_html_e( 'Change Cover Image', 'buddypress' ); ?></h2>
12
 
13
  <?php bp_nouveau_member_hook( 'before', 'edit_cover_image' ); ?>
14
 
15
  <p class="info bp-feedback">
16
  <span class="bp-icon" aria-hidden="true"></span>
17
+ <span class="bp-help-text"><?php esc_html_e( 'Your Cover Image will be used to customize the header of your profile.', 'buddypress' ); ?></span>
18
  </p>
19
 
20
  <?php
bp-templates/bp-nouveau/buddypress/members/single/profile/edit.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Members Single Profile Edit
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  bp_nouveau_xprofile_hook( 'before', 'edit_content' ); ?>
@@ -27,7 +27,15 @@ bp_nouveau_xprofile_hook( 'before', 'edit_content' ); ?>
27
  </ul>
28
  <?php endif; ?>
29
 
30
- <h3 class="screen-heading profile-group-title edit"><?php printf( __( 'Editing \'%s\' Profile Group', 'buddypress' ), bp_get_the_profile_group_name() ); ?></h3>
 
 
 
 
 
 
 
 
31
 
32
  <?php
33
  while ( bp_profile_fields() ) :
3
  * BuddyPress - Members Single Profile Edit
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_xprofile_hook( 'before', 'edit_content' ); ?>
27
  </ul>
28
  <?php endif; ?>
29
 
30
+ <h3 class="screen-heading profile-group-title edit">
31
+ <?php
32
+ printf(
33
+ /* translators: %s = profile field group name */
34
+ __( 'Editing "%s" Profile Group', 'buddypress' ),
35
+ bp_get_the_profile_group_name()
36
+ )
37
+ ?>
38
+ </h3>
39
 
40
  <?php
41
  while ( bp_profile_fields() ) :
bp-templates/bp-nouveau/buddypress/members/single/profile/profile-loop.php CHANGED
@@ -3,12 +3,12 @@
3
  * BuddyPress - Members Profile Loop
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  ?>
10
 
11
- <h2 class="screen-heading view-profile-screen"><?php _e( 'View Profile', 'buddypress' ); ?></h2>
12
 
13
  <?php bp_nouveau_xprofile_hook( 'before', 'loop_content' ); ?>
14
 
3
  * BuddyPress - Members Profile Loop
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  ?>
10
 
11
+ <h2 class="screen-heading view-profile-screen"><?php esc_html_e( 'View Profile', 'buddypress' ); ?></h2>
12
 
13
  <?php bp_nouveau_xprofile_hook( 'before', 'loop_content' ); ?>
14
 
bp-templates/bp-nouveau/buddypress/members/single/profile/profile-wp.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Members Single Profile WP
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  bp_nouveau_wp_profile_hooks( 'before' ); ?>
@@ -13,7 +13,7 @@ bp_nouveau_wp_profile_hooks( 'before' ); ?>
13
  <h2 class="screen-heading wp-profile-screen">
14
  <?php
15
  if ( bp_is_my_profile() ) {
16
- _e( 'My Profile', 'buddypress' );
17
  } else {
18
  printf(
19
  /* Translators: a member's profile, e.g. "Paul's profile". */
3
  * BuddyPress - Members Single Profile WP
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_wp_profile_hooks( 'before' ); ?>
13
  <h2 class="screen-heading wp-profile-screen">
14
  <?php
15
  if ( bp_is_my_profile() ) {
16
+ esc_html_e( 'My Profile', 'buddypress' );
17
  } else {
18
  printf(
19
  /* Translators: a member's profile, e.g. "Paul's profile". */
bp-templates/bp-nouveau/buddypress/members/single/settings/capabilities.php CHANGED
@@ -3,20 +3,20 @@
3
  * BuddyPress - Members Settings ( Capabilities )
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
10
 
11
  <h2 class="screen-heading member-capabilities-screen">
12
- <?php _e( 'Members Capabilities', 'buddypress' ); ?>
13
  </h2>
14
 
15
  <form action="<?php echo esc_url( bp_displayed_user_domain() . bp_get_settings_slug() . '/capabilities/' ); ?>" name="account-capabilities-form" id="account-capabilities-form" class="standard-form" method="post">
16
 
17
  <label for="user-spammer">
18
  <input type="checkbox" name="user-spammer" id="user-spammer" value="1" <?php checked( bp_is_user_spammer( bp_displayed_user_id() ) ); ?> />
19
- <?php _e( 'This user is a spammer.', 'buddypress' ); ?>
20
  </label>
21
 
22
  <?php bp_nouveau_submit_button( 'member-capabilities' ); ?>
3
  * BuddyPress - Members Settings ( Capabilities )
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
10
 
11
  <h2 class="screen-heading member-capabilities-screen">
12
+ <?php esc_html_e( 'Members Capabilities', 'buddypress' ); ?>
13
  </h2>
14
 
15
  <form action="<?php echo esc_url( bp_displayed_user_domain() . bp_get_settings_slug() . '/capabilities/' ); ?>" name="account-capabilities-form" id="account-capabilities-form" class="standard-form" method="post">
16
 
17
  <label for="user-spammer">
18
  <input type="checkbox" name="user-spammer" id="user-spammer" value="1" <?php checked( bp_is_user_spammer( bp_displayed_user_id() ) ); ?> />
19
+ <?php esc_html_e( 'This member is a spammer.', 'buddypress' ); ?>
20
  </label>
21
 
22
  <?php bp_nouveau_submit_button( 'member-capabilities' ); ?>
bp-templates/bp-nouveau/buddypress/members/single/settings/delete-account.php CHANGED
@@ -3,13 +3,13 @@
3
  * BuddyPress - Members Settings ( Delete Account )
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
10
 
11
  <h2 class="screen-heading delete-account-screen warn">
12
- <?php _e( 'Delete Account', 'buddypress' ); ?>
13
  </h2>
14
 
15
  <?php bp_nouveau_user_feedback( 'member-delete-account' ); ?>
@@ -18,7 +18,7 @@ bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
18
 
19
  <label id="delete-account-understand" class="warn" for="delete-account-understand">
20
  <input class="disabled" type="checkbox" name="delete-account-understand" value="1" data-bp-disable-input="#delete-account-button" />
21
- <?php _e( 'I understand the consequences.', 'buddypress' ); ?>
22
  </label>
23
 
24
  <?php bp_nouveau_submit_button( 'member-delete-account' ); ?>
3
  * BuddyPress - Members Settings ( Delete Account )
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
10
 
11
  <h2 class="screen-heading delete-account-screen warn">
12
+ <?php esc_html_e( 'Delete Account', 'buddypress' ); ?>
13
  </h2>
14
 
15
  <?php bp_nouveau_user_feedback( 'member-delete-account' ); ?>
18
 
19
  <label id="delete-account-understand" class="warn" for="delete-account-understand">
20
  <input class="disabled" type="checkbox" name="delete-account-understand" value="1" data-bp-disable-input="#delete-account-button" />
21
+ <?php esc_html_e( 'I understand the consequences.', 'buddypress' ); ?>
22
  </label>
23
 
24
  <?php bp_nouveau_submit_button( 'member-delete-account' ); ?>
bp-templates/bp-nouveau/buddypress/members/single/settings/general.php CHANGED
@@ -3,7 +3,7 @@
3
  * BuddyPress - Members Settings ( General )
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
@@ -21,7 +21,7 @@ bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
21
  <?php if ( ! is_super_admin() ) : ?>
22
 
23
  <label for="pwd"><?php _e( 'Current Password <span>(required to update email or change current password)</span>', 'buddypress' ); ?></label>
24
- <input type="password" name="pwd" id="pwd" size="16" value="" class="settings-input small" <?php bp_form_field_attributes( 'password' ); ?>/> &nbsp;<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php _e( 'Lost your password?', 'buddypress' ); ?></a>
25
 
26
  <?php endif; ?>
27
 
@@ -30,13 +30,13 @@ bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
30
 
31
  <div class="info bp-feedback">
32
  <span class="bp-icon" aria-hidden="true"></span>
33
- <p class="text"><?php _e( 'Leave password fields blank for no change', 'buddypress' ); ?></p>
34
  </div>
35
 
36
- <label for="pass1"><?php _e( 'Add Your New Password', 'buddypress' ); ?></label>
37
  <input type="password" name="pass1" id="pass1" size="16" value="" class="settings-input small password-entry" <?php bp_form_field_attributes( 'password' ); ?>/>
38
 
39
- <label for="pass2" class="repeated-pwd"><?php _e( 'Repeat Your New Password', 'buddypress' ); ?></label>
40
  <input type="password" name="pass2" id="pass2" size="16" value="" class="settings-input small password-entry-confirm" <?php bp_form_field_attributes( 'password' ); ?>/>
41
 
42
  <div id="pass-strength-result"></div>
3
  * BuddyPress - Members Settings ( General )
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
21
  <?php if ( ! is_super_admin() ) : ?>
22
 
23
  <label for="pwd"><?php _e( 'Current Password <span>(required to update email or change current password)</span>', 'buddypress' ); ?></label>
24
+ <input type="password" name="pwd" id="pwd" size="16" value="" class="settings-input small" <?php bp_form_field_attributes( 'password' ); ?>/> &nbsp;<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php esc_html_e( 'Lost your password?', 'buddypress' ); ?></a>
25
 
26
  <?php endif; ?>
27
 
30
 
31
  <div class="info bp-feedback">
32
  <span class="bp-icon" aria-hidden="true"></span>
33
+ <p class="text"><?php esc_html_e( 'Leave password fields blank for no change', 'buddypress' ); ?></p>
34
  </div>
35
 
36
+ <label for="pass1"><?php esc_html_e( 'Add Your New Password', 'buddypress' ); ?></label>
37
  <input type="password" name="pass1" id="pass1" size="16" value="" class="settings-input small password-entry" <?php bp_form_field_attributes( 'password' ); ?>/>
38
 
39
+ <label for="pass2" class="repeated-pwd"><?php esc_html_e( 'Repeat Your New Password', 'buddypress' ); ?></label>
40
  <input type="password" name="pass2" id="pass2" size="16" value="" class="settings-input small password-entry-confirm" <?php bp_form_field_attributes( 'password' ); ?>/>
41
 
42
  <div id="pass-strength-result"></div>
bp-templates/bp-nouveau/buddypress/members/single/settings/profile.php CHANGED
@@ -3,17 +3,17 @@
3
  * BuddyPress - Members Settings ( Profile )
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
10
 
11
  <h2 class="screen-heading profile-settings-screen">
12
- <?php _e( 'Profile Visibility Settings', 'buddypress' ); ?>
13
  </h2>
14
 
15
  <p class="bp-help-text profile-visibility-info">
16
- <?php _e( 'Select who may see your profile details.', 'buddypress' ); ?>
17
  </p>
18
 
19
  <form action="<?php echo esc_url( bp_displayed_user_domain() . bp_get_settings_slug() . '/profile/' ); ?>" method="post" class="standard-form" id="settings-form">
@@ -31,7 +31,7 @@ bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
31
  <thead>
32
  <tr>
33
  <th class="title field-group-name"><?php bp_the_profile_group_name(); ?></th>
34
- <th class="title"><?php _e( 'Visibility', 'buddypress' ); ?></th>
35
  </tr>
36
  </thead>
37
 
3
  * BuddyPress - Members Settings ( Profile )
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  bp_nouveau_member_hook( 'before', 'settings_template' ); ?>
10
 
11
  <h2 class="screen-heading profile-settings-screen">
12
+ <?php esc_html_e( 'Profile Visibility Settings', 'buddypress' ); ?>
13
  </h2>
14
 
15
  <p class="bp-help-text profile-visibility-info">
16
+ <?php esc_html_e( 'Select who may see your profile details.', 'buddypress' ); ?>
17
  </p>
18
 
19
  <form action="<?php echo esc_url( bp_displayed_user_domain() . bp_get_settings_slug() . '/profile/' ); ?>" method="post" class="standard-form" id="settings-form">
31
  <thead>
32
  <tr>
33
  <th class="title field-group-name"><?php bp_the_profile_group_name(); ?></th>
34
+ <th class="title"><?php esc_html_e( 'Visibility', 'buddypress' ); ?></th>
35
  </tr>
36
  </thead>
37
 
bp-templates/bp-nouveau/includes/activity/ajax.php CHANGED
@@ -3,7 +3,7 @@
3
  * Activity Ajax functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -452,7 +452,7 @@ function bp_nouveau_ajax_get_activity_objects() {
452
  }
453
 
454
  if ( empty( $response ) ) {
455
- wp_send_json_error( array( 'error' => __( 'No items were found.', 'buddypress' ) ) );
456
  } else {
457
  wp_send_json_success( $response );
458
  }
@@ -579,7 +579,7 @@ function bp_nouveau_ajax_spam_activity() {
579
  $response = array(
580
  'feedback' => sprintf(
581
  '<div class="bp-feedback bp-messages error">%s</div>',
582
- esc_html__( 'There was a problem spamming this item. Please try again.', 'buddypress' )
583
  ),
584
  );
585
 
@@ -628,7 +628,7 @@ function bp_nouveau_ajax_spam_activity() {
628
  // If on a single activity redirect to user's home.
629
  if ( ! empty( $_POST['is_single'] ) ) {
630
  $response['redirect'] = bp_core_get_user_domain( $activity->user_id );
631
- bp_core_add_message( __( 'The activity item has been marked as spam and is no longer visible.', 'buddypress' ) );
632
  }
633
 
634
  // Send the json reply
3
  * Activity Ajax functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
452
  }
453
 
454
  if ( empty( $response ) ) {
455
+ wp_send_json_error( array( 'error' => __( 'No activites were found.', 'buddypress' ) ) );
456
  } else {
457
  wp_send_json_success( $response );
458
  }
579
  $response = array(
580
  'feedback' => sprintf(
581
  '<div class="bp-feedback bp-messages error">%s</div>',
582
+ esc_html__( 'There was a problem marking this activity as spam. Please try again.', 'buddypress' )
583
  ),
584
  );
585
 
628
  // If on a single activity redirect to user's home.
629
  if ( ! empty( $_POST['is_single'] ) ) {
630
  $response['redirect'] = bp_core_get_user_domain( $activity->user_id );
631
+ bp_core_add_message( __( 'This activity has been marked as spam and is no longer visible.', 'buddypress' ) );
632
  }
633
 
634
  // Send the json reply
bp-templates/bp-nouveau/includes/activity/functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Activity functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -84,8 +84,12 @@ function bp_nouveau_activity_localize_scripts( $params = array() ) {
84
  ) ),
85
  'avatar_width' => $width,
86
  'avatar_height' => $height,
87
- 'avatar_alt' => sprintf( __( 'Profile photo of %s', 'buddypress' ), $user_displayname ),
88
- 'user_domain' => bp_loggedin_user_domain()
 
 
 
 
89
  ) );
90
  }
91
 
@@ -159,6 +163,8 @@ function bp_nouveau_activity_localize_scripts( $params = array() ) {
159
  'whatsnewPlaceholder' => sprintf( __( "What's new, %s?", 'buddypress' ), bp_get_user_firstname( $user_displayname ) ),
160
  'whatsnewLabel' => __( 'Post what\'s new', 'buddypress' ),
161
  'whatsnewpostinLabel' => __( 'Post in', 'buddypress' ),
 
 
162
  );
163
 
164
  if ( bp_is_group() ) {
3
  * Activity functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
84
  ) ),
85
  'avatar_width' => $width,
86
  'avatar_height' => $height,
87
+ 'user_domain' => bp_loggedin_user_domain(),
88
+ 'avatar_alt' => sprintf(
89
+ /* translators: %s = member name */
90
+ __( 'Profile photo of %s', 'buddypress' ),
91
+ $user_displayname
92
+ ),
93
  ) );
94
  }
95
 
163
  'whatsnewPlaceholder' => sprintf( __( "What's new, %s?", 'buddypress' ), bp_get_user_firstname( $user_displayname ) ),
164
  'whatsnewLabel' => __( 'Post what\'s new', 'buddypress' ),
165
  'whatsnewpostinLabel' => __( 'Post in', 'buddypress' ),
166
+ 'postUpdateButton' => __( 'Post Update', 'buddypress' ),
167
+ 'cancelButton' => __( 'Cancel', 'buddypress' ),
168
  );
169
 
170
  if ( bp_is_group() ) {
bp-templates/bp-nouveau/includes/activity/template-tags.php CHANGED
@@ -3,7 +3,7 @@
3
  * Activity Template tags
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -311,7 +311,7 @@ function bp_nouveau_activity_entry_buttons( $args = array() ) {
311
  ),
312
  'link_text' => sprintf(
313
  '<span class="bp-screen-reader-text">%1$s</span>',
314
- esc_html__( 'View Conversation', 'buddypress' )
315
  ),
316
  );
317
 
@@ -339,12 +339,12 @@ function bp_nouveau_activity_entry_buttons( $args = array() ) {
339
  'button_attr' => array(
340
  'id' => 'acomment-comment-' . $activity_id,
341
  'class' => 'button acomment-reply bp-primary-action bp-tooltip',
342
- 'data-bp-tooltip' => __( 'Comment', 'buddypress' ),
343
  'aria-expanded' => 'false',
344
  ),
345
  'link_text' => sprintf(
346
  '<span class="bp-screen-reader-text">%1$s</span> <span class="comment-count">%2$s</span>',
347
- esc_html__( 'Comment', 'buddypress' ),
348
  esc_html( bp_activity_get_comment_count() )
349
  ),
350
  );
@@ -453,8 +453,8 @@ function bp_nouveau_activity_entry_buttons( $args = array() ) {
453
  'link_id' => '',
454
  'link_class' => 'button item-button bp-secondary-action bp-tooltip delete-activity confirm',
455
  'link_rel' => 'nofollow',
456
- 'data_bp_tooltip' => __( 'Delete', 'buddypress' ),
457
- 'link_text' => __( 'Delete', 'buddypress' ),
458
  'link_href' => bp_get_activity_delete_url(),
459
  );
460
 
@@ -498,13 +498,13 @@ function bp_nouveau_activity_entry_buttons( $args = array() ) {
498
  'button_element' => $button_element,
499
  'button_attr' => array(
500
  'class' => 'bp-secondary-action spam-activity confirm button item-button bp-tooltip',
501
- 'id' => 'activity_make_spam_' . $activity_id,
502
- 'data-bp-tooltip' => __( 'Spam', 'buddypress' ),
503
  ),
504
  'link_text' => sprintf(
505
  /** @todo: use a specific css rule for this *************************************************************/
506
  '<span class="dashicons dashicons-flag" style="color:#a00;vertical-align:baseline;width:18px;height:18px" aria-hidden="true"></span><span class="bp-screen-reader-text">%s</span>',
507
- esc_html__( 'Spam', 'buddypress' )
508
  ),
509
  );
510
 
@@ -695,13 +695,6 @@ function bp_nouveau_activity_comment_action() {
695
  */
696
  function bp_nouveau_activity_comment_form() {
697
  bp_get_template_part( 'activity/comment-form' );
698
-
699
- /**
700
- * Fires after the activity entry comment form.
701
- *
702
- * @since 1.5.0
703
- */
704
- do_action( 'bp_activity_entry_comments' );
705
  }
706
 
707
  /**
@@ -794,8 +787,8 @@ function bp_nouveau_activity_comment_buttons( $args = array() ) {
794
  'parent_element' => $parent_element,
795
  'parent_attr' => $parent_attr,
796
  'button_element' => $button_element,
797
- 'link_text' => __( 'Reply', 'buddypress' ),
798
- 'button_attr' => array(
799
  'class' => "acomment-reply bp-primary-action",
800
  'id' => sprintf( 'acomment-reply-%1$s-from-%2$s', $activity_id, $activity_comment_id ),
801
  ),
@@ -808,11 +801,11 @@ function bp_nouveau_activity_comment_buttons( $args = array() ) {
808
  'parent_element' => $parent_element,
809
  'parent_attr' => $parent_attr,
810
  'button_element' => $button_element,
811
- 'link_text' => __( 'Delete', 'buddypress' ),
812
  'button_attr' => array(
813
  'class' => 'delete acomment-delete confirm bp-secondary-action',
814
  'rel' => 'nofollow',
815
- ),
816
  ),
817
  );
818
 
@@ -835,7 +828,7 @@ function bp_nouveau_activity_comment_buttons( $args = array() ) {
835
  'parent_element' => $parent_element,
836
  'parent_attr' => $parent_attr,
837
  'button_element' => $button_element,
838
- 'link_text' => __( 'Spam', 'buddypress' ),
839
  'button_attr' => array(
840
  'id' => "activity_make_spam_{$activity_comment_id}",
841
  'class' => 'bp-secondary-action spam-activity-comment confirm',
3
  * Activity Template tags
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
311
  ),
312
  'link_text' => sprintf(
313
  '<span class="bp-screen-reader-text">%1$s</span>',
314
+ __( 'View Conversation', 'buddypress' )
315
  ),
316
  );
317
 
339
  'button_attr' => array(
340
  'id' => 'acomment-comment-' . $activity_id,
341
  'class' => 'button acomment-reply bp-primary-action bp-tooltip',
342
+ 'data-bp-tooltip' => _x( 'Comment', 'button', 'buddypress' ),
343
  'aria-expanded' => 'false',
344
  ),
345
  'link_text' => sprintf(
346
  '<span class="bp-screen-reader-text">%1$s</span> <span class="comment-count">%2$s</span>',
347
+ _x( 'Comment', 'link', 'buddypress' ),
348
  esc_html( bp_activity_get_comment_count() )
349
  ),
350
  );
453
  'link_id' => '',
454
  'link_class' => 'button item-button bp-secondary-action bp-tooltip delete-activity confirm',
455
  'link_rel' => 'nofollow',
456
+ 'data_bp_tooltip' => _x( 'Delete', 'button', 'buddypress' ),
457
+ 'link_text' => _x( 'Delete', 'button', 'buddypress' ),
458
  'link_href' => bp_get_activity_delete_url(),
459
  );
460
 
498
  'button_element' => $button_element,
499
  'button_attr' => array(
500
  'class' => 'bp-secondary-action spam-activity confirm button item-button bp-tooltip',
501
+ 'id' => 'activity_make_spam_' . $activity_id,
502
+ 'data-bp-tooltip' => _x( 'Spam', 'button', 'buddypress' ),
503
  ),
504
  'link_text' => sprintf(
505
  /** @todo: use a specific css rule for this *************************************************************/
506
  '<span class="dashicons dashicons-flag" style="color:#a00;vertical-align:baseline;width:18px;height:18px" aria-hidden="true"></span><span class="bp-screen-reader-text">%s</span>',
507
+ esc_html_x( 'Spam', 'button', 'buddypress' )
508
  ),
509
  );
510
 
695
  */
696
  function bp_nouveau_activity_comment_form() {
697
  bp_get_template_part( 'activity/comment-form' );
 
 
 
 
 
 
 
698
  }
699
 
700
  /**
787
  'parent_element' => $parent_element,
788
  'parent_attr' => $parent_attr,
789
  'button_element' => $button_element,
790
+ 'link_text' => _x( 'Reply', 'link', 'buddypress' ),
791
+ 'button_attr' => array(
792
  'class' => "acomment-reply bp-primary-action",
793
  'id' => sprintf( 'acomment-reply-%1$s-from-%2$s', $activity_id, $activity_comment_id ),
794
  ),
801
  'parent_element' => $parent_element,
802
  'parent_attr' => $parent_attr,
803
  'button_element' => $button_element,
804
+ 'link_text' => _x( 'Delete', 'link', 'buddypress' ),
805
  'button_attr' => array(
806
  'class' => 'delete acomment-delete confirm bp-secondary-action',
807
  'rel' => 'nofollow',
808
+ ),
809
  ),
810
  );
811
 
828
  'parent_element' => $parent_element,
829
  'parent_attr' => $parent_attr,
830
  'button_element' => $button_element,
831
+ 'link_text' => _x( 'Spam', 'link', 'buddypress' ),
832
  'button_attr' => array(
833
  'id' => "activity_make_spam_{$activity_comment_id}",
834
  'class' => 'bp-secondary-action spam-activity-comment confirm',
bp-templates/bp-nouveau/includes/activity/widgets.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP Nouveau Activity widgets
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -32,7 +32,7 @@ class BP_Latest_Activities extends WP_Widget {
32
  $widget_ops = apply_filters(
33
  'bp_latest_activities', array(
34
  'classname' => 'bp-latest-activities buddypress',
35
- 'description' => __( 'Display the latest updates of your community having the type(s) of your choice.', 'buddypress' ),
36
  'customize_selective_refresh' => true,
37
  )
38
  );
@@ -185,7 +185,7 @@ class BP_Latest_Activities extends WP_Widget {
185
  </p>
186
 
187
  <p>
188
- <label for="<?php echo $this->get_field_id( 'max' ); ?>"><?php _e( 'Max amount to display:', 'buddypress' ); ?></label>
189
  <input type="number" class="widefat" id="<?php echo $this->get_field_id( 'max' ); ?>" name="<?php echo $this->get_field_name( 'max' ); ?>" value="<?php echo intval( $max ); ?>" step="1" min="1" max="20" />
190
  </p>
191
  <p>
3
  * BP Nouveau Activity widgets
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
32
  $widget_ops = apply_filters(
33
  'bp_latest_activities', array(
34
  'classname' => 'bp-latest-activities buddypress',
35
+ 'description' => __( 'Display the latest updates of your community having the types of your choice.', 'buddypress' ),
36
  'customize_selective_refresh' => true,
37
  )
38
  );
185
  </p>
186
 
187
  <p>
188
+ <label for="<?php echo $this->get_field_id( 'max' ); ?>"><?php _e( 'Maximum amount to display:', 'buddypress' ); ?></label>
189
  <input type="number" class="widefat" id="<?php echo $this->get_field_id( 'max' ); ?>" name="<?php echo $this->get_field_name( 'max' ); ?>" value="<?php echo intval( $max ); ?>" step="1" min="1" max="20" />
190
  </p>
191
  <p>
bp-templates/bp-nouveau/includes/blogs/functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Blogs functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -165,7 +165,7 @@ function bp_nouveau_blogs_customizer_settings( $settings = array() ) {
165
  function bp_nouveau_blogs_customizer_controls( $controls = array() ) {
166
  return array_merge( $controls, array(
167
  'blogs_layout' => array(
168
- 'label' => __( 'Blogs loop:', 'buddypress' ),
169
  'section' => 'bp_nouveau_loops_layout',
170
  'settings' => 'bp_nouveau_appearance[blogs_layout]',
171
  'type' => 'select',
3
  * Blogs functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
165
  function bp_nouveau_blogs_customizer_controls( $controls = array() ) {
166
  return array_merge( $controls, array(
167
  'blogs_layout' => array(
168
+ 'label' => __( 'Sites loop:', 'buddypress' ),
169
  'section' => 'bp_nouveau_loops_layout',
170
  'settings' => 'bp_nouveau_appearance[blogs_layout]',
171
  'type' => 'select',
bp-templates/bp-nouveau/includes/classes.php CHANGED
@@ -3,7 +3,7 @@
3
  * Common Classes
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -43,11 +43,6 @@ class BP_Buttons_Group {
43
  * }
44
  */
45
  public function __construct( $args = array() ) {
46
- if ( empty( $args ) || ! is_array( $args ) ) {
47
- _doing_it_wrong( __( 'You need to use an array containing arrays of parameters.', 'buddypress' ) );
48
- return;
49
- }
50
-
51
  foreach ( $args as $arg ) {
52
  $r = wp_parse_args( (array) $arg, array(
53
  'id' => '',
@@ -197,7 +192,7 @@ class BP_Nouveau_Object_Nav_Widget extends WP_Widget {
197
 
198
  parent::__construct(
199
  'bp_nouveau_sidebar_object_nav_widget',
200
- __( '(BuddyPress) Primary nav', 'buddypress' ),
201
  $widget_ops
202
  );
203
  }
3
  * Common Classes
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
43
  * }
44
  */
45
  public function __construct( $args = array() ) {
 
 
 
 
 
46
  foreach ( $args as $arg ) {
47
  $r = wp_parse_args( (array) $arg, array(
48
  'id' => '',
192
 
193
  parent::__construct(
194
  'bp_nouveau_sidebar_object_nav_widget',
195
+ __( '(BuddyPress) Primary navigation', 'buddypress' ),
196
  $widget_ops
197
  );
198
  }
bp-templates/bp-nouveau/includes/customizer-controls.php CHANGED
@@ -3,7 +3,7 @@
3
  * Customizer controls
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -55,14 +55,14 @@ class BP_Nouveau_Nav_Customize_Control extends WP_Customize_Control {
55
  }
56
 
57
  if ( $item_nav ) {
58
- $guide = __( 'Drag each possible group nav items that are listed below into the order you prefer, in some groups some of these nav items might not be active.', 'buddypress' );
59
  }
60
 
61
  // It's a user!
62
  } else {
63
  $item_nav = bp_nouveau_member_customizer_nav();
64
 
65
- $guide = __( 'Drag each possible user nav items that are listed below into the order you prefer.', 'buddypress' );
66
  }
67
  ?>
68
 
@@ -80,7 +80,7 @@ class BP_Nouveau_Nav_Customize_Control extends WP_Customize_Control {
80
  foreach ( $item_nav as $item ) :
81
  $i += 1;
82
  ?>
83
- <li class="<?php echo esc_attr( $class ); echo ( 1 === $i ) ? ' ui-sortable-disabled' : ''; ?>" data-bp-nav="<?php echo esc_attr( $item->slug ); ?>">
84
  <div class="menu-item-bar">
85
  <div class="menu-item-handle ui-sortable-handle">
86
  <span class="item-title" aria-hidden="true">
3
  * Customizer controls
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
55
  }
56
 
57
  if ( $item_nav ) {
58
+ $guide = __( 'Drag each possible group navigation items that are listed below into the order you prefer, in some groups some of these navigation items might not be active.', 'buddypress' );
59
  }
60
 
61
  // It's a user!
62
  } else {
63
  $item_nav = bp_nouveau_member_customizer_nav();
64
 
65
+ $guide = __( 'Drag each possible member navigation items that are listed below into the order you prefer.', 'buddypress' );
66
  }
67
  ?>
68
 
80
  foreach ( $item_nav as $item ) :
81
  $i += 1;
82
  ?>
83
+ <li data-bp-nav="<?php echo esc_attr( $item->slug ); ?>">
84
  <div class="menu-item-bar">
85
  <div class="menu-item-handle ui-sortable-handle">
86
  <span class="item-title" aria-hidden="true">
bp-templates/bp-nouveau/includes/customizer.php CHANGED
@@ -3,7 +3,7 @@
3
  * Code to hook into the WP Customizer
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  /**
@@ -43,16 +43,16 @@ function bp_nouveau_customize_register( WP_Customize_Manager $wp_customize ) {
43
  'description' => __( 'Configure general BuddyPress appearance options.', 'buddypress' ),
44
  ),
45
  'bp_nouveau_user_front_page' => array(
46
- 'title' => __( 'User front page', 'buddypress' ),
47
  'panel' => 'bp_nouveau_panel',
48
  'priority' => 30,
49
- 'description' => __( 'Configure the default front page for users.', 'buddypress' ),
50
  ),
51
  'bp_nouveau_user_primary_nav' => array(
52
- 'title' => __( 'User navigation', 'buddypress' ),
53
  'panel' => 'bp_nouveau_panel',
54
  'priority' => 50,
55
- 'description' => __( 'Customize the navigation menu for users. In the preview window, navigate to a user to preview your changes.', 'buddypress' ),
56
  ),
57
  'bp_nouveau_loops_layout' => array(
58
  'title' => __( 'Loop layouts', 'buddypress' ),
@@ -229,13 +229,13 @@ function bp_nouveau_customize_register( WP_Customize_Manager $wp_customize ) {
229
  'type' => 'checkbox',
230
  ),
231
  'user_front_bio' => array(
232
- 'label' => __( 'Display the biographical info from the user\'s WordPress profile.', 'buddypress' ),
233
  'section' => 'bp_nouveau_user_front_page',
234
  'settings' => 'bp_nouveau_appearance[user_front_bio]',
235
  'type' => 'checkbox',
236
  ),
237
  'user_nav_display' => array(
238
- 'label' => __( 'Display the user navigation vertically.', 'buddypress' ),
239
  'section' => 'bp_nouveau_user_primary_nav',
240
  'settings' => 'bp_nouveau_appearance[user_nav_display]',
241
  'type' => 'checkbox',
3
  * Code to hook into the WP Customizer
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  /**
43
  'description' => __( 'Configure general BuddyPress appearance options.', 'buddypress' ),
44
  ),
45
  'bp_nouveau_user_front_page' => array(
46
+ 'title' => __( 'Member front page', 'buddypress' ),
47
  'panel' => 'bp_nouveau_panel',
48
  'priority' => 30,
49
+ 'description' => __( 'Configure the default front page for members.', 'buddypress' ),
50
  ),
51
  'bp_nouveau_user_primary_nav' => array(
52
+ 'title' => __( 'Member navigation', 'buddypress' ),
53
  'panel' => 'bp_nouveau_panel',
54
  'priority' => 50,
55
+ 'description' => __( 'Customize the navigation menu for members. In the preview window, navigate to a user to preview your changes.', 'buddypress' ),
56
  ),
57
  'bp_nouveau_loops_layout' => array(
58
  'title' => __( 'Loop layouts', 'buddypress' ),
229
  'type' => 'checkbox',
230
  ),
231
  'user_front_bio' => array(
232
+ 'label' => __( 'Display the biographical info from the member\'s WordPress profile.', 'buddypress' ),
233
  'section' => 'bp_nouveau_user_front_page',
234
  'settings' => 'bp_nouveau_appearance[user_front_bio]',
235
  'type' => 'checkbox',
236
  ),
237
  'user_nav_display' => array(
238
+ 'label' => __( 'Display the member navigation vertically.', 'buddypress' ),
239
  'section' => 'bp_nouveau_user_primary_nav',
240
  'settings' => 'bp_nouveau_appearance[user_nav_display]',
241
  'type' => 'checkbox',
bp-templates/bp-nouveau/includes/functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Common functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -316,7 +316,7 @@ function bp_nouveau_register_sidebars() {
316
  $sidebars = array();
317
  if ( $default_user_front ) {
318
  $sidebars[] = array(
319
- 'name' => __( 'BuddyPress User\'s Home', 'buddypress' ),
320
  'id' => 'sidebar-buddypress-members',
321
  'description' => __( 'Add widgets here to appear in the front page of each member of your community.', 'buddypress' ),
322
  'before_widget' => '<div id="%1$s" class="widget %2$s">',
@@ -920,7 +920,7 @@ function bp_nouveau_get_user_feedback( $feedback_id = '' ) {
920
  $feedback_messages = apply_filters( 'bp_nouveau_feedback_messages', array(
921
  'registration-disabled' => array(
922
  'type' => 'info',
923
- 'message' => __( 'User registration is currently not allowed.', 'buddypress' ),
924
  'before' => 'bp_before_registration_disabled',
925
  'after' => 'bp_after_registration_disabled'
926
  ),
@@ -1034,19 +1034,19 @@ function bp_nouveau_get_user_feedback( $feedback_id = '' ) {
1034
  ),
1035
  'member-activity-loading' => array(
1036
  'type' => 'loading',
1037
- 'message' => __( 'Loading the user\'s updates. Please wait.', 'buddypress' ),
1038
  ),
1039
  'member-blogs-loading' => array(
1040
  'type' => 'loading',
1041
- 'message' => __( 'Loading the user\'s blogs. Please wait.', 'buddypress' ),
1042
  ),
1043
  'member-friends-loading' => array(
1044
  'type' => 'loading',
1045
- 'message' => __( 'Loading the user\'s friends. Please wait.', 'buddypress' ),
1046
  ),
1047
  'member-groups-loading' => array(
1048
  'type' => 'loading',
1049
- 'message' => __( 'Loading the user\'s groups. Please wait.', 'buddypress' ),
1050
  ),
1051
  'member-notifications-loading' => array(
1052
  'type' => 'loading',
@@ -1134,7 +1134,7 @@ function bp_nouveau_get_signup_fields( $section = '' ) {
1134
  $fields = apply_filters( 'bp_nouveau_get_signup_fields', array(
1135
  'account_details' => array(
1136
  'signup_username' => array(
1137
- 'label' => _x( 'Username%s', 'signup field label', 'buddypress' ),
1138
  'required' => true,
1139
  'value' => 'bp_get_signup_username_value',
1140
  'attribute_type' => 'username',
@@ -1142,7 +1142,7 @@ function bp_nouveau_get_signup_fields( $section = '' ) {
1142
  'class' => '',
1143
  ),
1144
  'signup_email' => array(
1145
- 'label' => _x( 'Email Address%s', 'signup field label', 'buddypress' ),
1146
  'required' => true,
1147
  'value' => 'bp_get_signup_email_value',
1148
  'attribute_type' => 'email',
@@ -1150,7 +1150,7 @@ function bp_nouveau_get_signup_fields( $section = '' ) {
1150
  'class' => '',
1151
  ),
1152
  'signup_password' => array(
1153
- 'label' => _x( 'Choose a Password%s', 'signup field label', 'buddypress' ),
1154
  'required' => true,
1155
  'value' => '',
1156
  'attribute_type' => 'password',
@@ -1158,7 +1158,7 @@ function bp_nouveau_get_signup_fields( $section = '' ) {
1158
  'class' => 'password-entry',
1159
  ),
1160
  'signup_password_confirm' => array(
1161
- 'label' => _x( 'Confirm Password%s', 'signup field label', 'buddypress' ),
1162
  'required' => true,
1163
  'value' => '',
1164
  'attribute_type' => 'password',
@@ -1168,7 +1168,7 @@ function bp_nouveau_get_signup_fields( $section = '' ) {
1168
  ),
1169
  'blog_details' => array(
1170
  'signup_blog_url' => array(
1171
- 'label' => _x( 'Site URL%s', 'signup field label', 'buddypress' ),
1172
  'required' => true,
1173
  'value' => 'bp_get_signup_blog_url_value',
1174
  'attribute_type' => 'slug',
@@ -1176,7 +1176,7 @@ function bp_nouveau_get_signup_fields( $section = '' ) {
1176
  'class' => '',
1177
  ),
1178
  'signup_blog_title' => array(
1179
- 'label' => _x( 'Site Title%s', 'signup field label', 'buddypress' ),
1180
  'required' => true,
1181
  'value' => 'bp_get_signup_blog_title_value',
1182
  'attribute_type' => 'title',
@@ -1321,6 +1321,16 @@ function bp_nouveau_get_submit_button( $action = '' ) {
1321
  'class' => 'auto',
1322
  ),
1323
  ),
 
 
 
 
 
 
 
 
 
 
1324
  ) );
1325
 
1326
  if ( isset( $actions[ $action ] ) ) {
3
  * Common functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
316
  $sidebars = array();
317
  if ( $default_user_front ) {
318
  $sidebars[] = array(
319
+ 'name' => __( 'BuddyPress Member\'s Home', 'buddypress' ),
320
  'id' => 'sidebar-buddypress-members',
321
  'description' => __( 'Add widgets here to appear in the front page of each member of your community.', 'buddypress' ),
322
  'before_widget' => '<div id="%1$s" class="widget %2$s">',
920
  $feedback_messages = apply_filters( 'bp_nouveau_feedback_messages', array(
921
  'registration-disabled' => array(
922
  'type' => 'info',
923
+ 'message' => __( 'Member registration is currently not allowed.', 'buddypress' ),
924
  'before' => 'bp_before_registration_disabled',
925
  'after' => 'bp_after_registration_disabled'
926
  ),
1034
  ),
1035
  'member-activity-loading' => array(
1036
  'type' => 'loading',
1037
+ 'message' => __( 'Loading the member\'s updates. Please wait.', 'buddypress' ),
1038
  ),
1039
  'member-blogs-loading' => array(
1040
  'type' => 'loading',
1041
+ 'message' => __( 'Loading the member\'s blogs. Please wait.', 'buddypress' ),
1042
  ),
1043
  'member-friends-loading' => array(
1044
  'type' => 'loading',
1045
+ 'message' => __( 'Loading the member\'s friends. Please wait.', 'buddypress' ),
1046
  ),
1047
  'member-groups-loading' => array(
1048
  'type' => 'loading',
1049
+ 'message' => __( 'Loading the member\'s groups. Please wait.', 'buddypress' ),
1050
  ),
1051
  'member-notifications-loading' => array(
1052
  'type' => 'loading',
1134
  $fields = apply_filters( 'bp_nouveau_get_signup_fields', array(
1135
  'account_details' => array(
1136
  'signup_username' => array(
1137
+ 'label' => __( 'Username', 'buddypress' ),
1138
  'required' => true,
1139
  'value' => 'bp_get_signup_username_value',
1140
  'attribute_type' => 'username',
1142
  'class' => '',
1143
  ),
1144
  'signup_email' => array(
1145
+ 'label' => __( 'Email Address', 'buddypress' ),
1146
  'required' => true,
1147
  'value' => 'bp_get_signup_email_value',
1148
  'attribute_type' => 'email',
1150
  'class' => '',
1151
  ),
1152
  'signup_password' => array(
1153
+ 'label' => __( 'Choose a Password', 'buddypress' ),
1154
  'required' => true,
1155
  'value' => '',
1156
  'attribute_type' => 'password',
1158
  'class' => 'password-entry',
1159
  ),
1160
  'signup_password_confirm' => array(
1161
+ 'label' => __( 'Confirm Password', 'buddypress' ),
1162
  'required' => true,
1163
  'value' => '',
1164
  'attribute_type' => 'password',
1168
  ),
1169
  'blog_details' => array(
1170
  'signup_blog_url' => array(
1171
+ 'label' => __( 'Site URL', 'buddypress' ),
1172
  'required' => true,
1173
  'value' => 'bp_get_signup_blog_url_value',
1174
  'attribute_type' => 'slug',
1176
  'class' => '',
1177
  ),
1178
  'signup_blog_title' => array(
1179
+ 'label' => __( 'Site Title', 'buddypress' ),
1180
  'required' => true,
1181
  'value' => 'bp_get_signup_blog_title_value',
1182
  'attribute_type' => 'title',
1321
  'class' => 'auto',
1322
  ),
1323
  ),
1324
+ 'activity-new-comment' => array(
1325
+ 'after' => 'bp_activity_entry_comments',
1326
+ 'nonce' => 'new_activity_comment',
1327
+ 'nonce_key' => '_wpnonce_new_activity_comment',
1328
+ 'wrapper' => false,
1329
+ 'attributes' => array(
1330
+ 'name' => 'ac_form_submit',
1331
+ 'value' => _x( 'Post', 'button', 'buddypress' ),
1332
+ ),
1333
+ ),
1334
  ) );
1335
 
1336
  if ( isset( $actions[ $action ] ) ) {
bp-templates/bp-nouveau/includes/groups/ajax.php CHANGED
@@ -3,7 +3,7 @@
3
  * Groups Ajax functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -101,18 +101,20 @@ function bp_nouveau_ajax_joinleave_group() {
101
  $response = array(
102
  'feedback' => sprintf(
103
  '<div class="bp-feedback error"><span class="bp-icon" aria-hidden="true"></span><p>%s</p></div>',
104
- esc_html__( 'Group invite could not be accepted.', 'buddypress' )
105
  ),
106
  'type' => 'error',
107
  );
108
 
109
  } else {
110
- groups_record_activity(
111
- array(
112
- 'type' => 'joined_group',
113
- 'item_id' => $group->id,
114
- )
115
- );
 
 
116
 
117
  // User is now a member of the group
118
  $group->is_member = '1';
@@ -282,26 +284,26 @@ function bp_nouveau_ajax_get_users_to_invite() {
282
  ) );
283
 
284
  $bp->groups->invites_scope = 'members';
285
- $message = __( 'Select members to invite by clicking the + button. Once you\'ve made your selection, use the "Send Invites" nav item to continue.', 'buddypress' );
286
 
287
  if ( 'friends' === $request['scope'] ) {
288
  $request['user_id'] = bp_loggedin_user_id();
289
  $bp->groups->invites_scope = 'friends';
290
- $message = __( 'Select friends to invite by clicking the + button. Once you\'ve made your selection, use the "Send Invites" nav item to continue.', 'buddypress' );
291
  }
292
 
293
  if ( 'invited' === $request['scope'] ) {
294
 
295
  if ( ! bp_group_has_invites( array( 'user_id' => 'any' ) ) ) {
296
  wp_send_json_error( array(
297
- 'feedback' => __( 'No pending invites found.', 'buddypress' ),
298
  'type' => 'info',
299
  ) );
300
  }
301
 
302
  $request['is_confirmed'] = false;
303
  $bp->groups->invites_scope = 'invited';
304
- $message = __( 'You can view all the group\'s pending invites from this screen.', 'buddypress' );
305
  }
306
 
307
  $potential_invites = bp_nouveau_get_group_potential_invites( $request );
@@ -365,7 +367,7 @@ function bp_nouveau_ajax_send_group_invites() {
365
  }
366
 
367
  if ( ! bp_groups_user_can_send_invites( $group_id ) ) {
368
- $response['feedback'] = __( 'You are not allowed to send invites for this group.', 'buddypress' );
369
  wp_send_json_error( $response );
370
  }
371
 
@@ -404,7 +406,15 @@ function bp_nouveau_ajax_send_group_invites() {
404
  $errors = array_keys( $invited, false );
405
 
406
  $error_count = count( $errors );
407
- $error_message = sprintf( _n( 'Invites failed for %s user.', 'Invites failed for %s users.', $error_count, 'buddypress' ), number_format_i18n( $error_count ) );
 
 
 
 
 
 
 
 
408
 
409
  wp_send_json_error(
410
  array(
@@ -417,7 +427,7 @@ function bp_nouveau_ajax_send_group_invites() {
417
 
418
  wp_send_json_success(
419
  array(
420
- 'feedback' => __( 'Invites sent.', 'buddypress' ),
421
  'type' => 'success',
422
  )
423
  );
@@ -427,14 +437,14 @@ function bp_nouveau_ajax_send_group_invites() {
427
  * @since 3.0.0
428
  */
429
  function bp_nouveau_ajax_remove_group_invite() {
430
- $user_id = $_POST['user'];
431
  $group_id = bp_get_current_group_id();
432
 
433
  // Verify nonce
434
  if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'groups_invite_uninvite_user' ) ) {
435
  wp_send_json_error(
436
  array(
437
- 'feedback' => __( 'Invites could not be removed. Please try again.', 'buddypress' ),
438
  'type' => 'error',
439
  )
440
  );
@@ -443,7 +453,7 @@ function bp_nouveau_ajax_remove_group_invite() {
443
  if ( BP_Groups_Member::check_for_membership_request( $user_id, $group_id ) ) {
444
  wp_send_json_error(
445
  array(
446
- 'feedback' => __( 'Too late! The user is already a member of the group.', 'buddypress' ),
447
  'type' => 'warning',
448
  'code' => 1,
449
  )
@@ -454,7 +464,7 @@ function bp_nouveau_ajax_remove_group_invite() {
454
  if ( ! groups_uninvite_user( $user_id, $group_id ) ) {
455
  wp_send_json_error(
456
  array(
457
- 'feedback' => __( 'Invite could not be removed successfully.', 'buddypress' ),
458
  'type' => 'error',
459
  'code' => 0,
460
  )
@@ -463,7 +473,7 @@ function bp_nouveau_ajax_remove_group_invite() {
463
 
464
  wp_send_json_success(
465
  array(
466
- 'feedback' => __( 'No more pending invites for the group.', 'buddypress' ),
467
  'type' => 'info',
468
  'has_invites' => bp_group_has_invites( array( 'user_id' => 'any' ) ),
469
  )
3
  * Groups Ajax functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
101
  $response = array(
102
  'feedback' => sprintf(
103
  '<div class="bp-feedback error"><span class="bp-icon" aria-hidden="true"></span><p>%s</p></div>',
104
+ esc_html__( 'Group invitation could not be accepted.', 'buddypress' )
105
  ),
106
  'type' => 'error',
107
  );
108
 
109
  } else {
110
+ if ( bp_is_active( 'activity' ) ) {
111
+ groups_record_activity(
112
+ array(
113
+ 'type' => 'joined_group',
114
+ 'item_id' => $group->id,
115
+ )
116
+ );
117
+ }
118
 
119
  // User is now a member of the group
120
  $group->is_member = '1';
284
  ) );
285
 
286
  $bp->groups->invites_scope = 'members';
287
+ $message = __( 'Select members to invite by clicking the + button. Once you\'ve made your selection, use the "Send Invites" navigation item to continue.', 'buddypress' );
288
 
289
  if ( 'friends' === $request['scope'] ) {
290
  $request['user_id'] = bp_loggedin_user_id();
291
  $bp->groups->invites_scope = 'friends';
292
+ $message = __( 'Select friends to invite by clicking the + button. Once you\'ve made your selection, use the "Send Invites" navigation item to continue.', 'buddypress' );
293
  }
294
 
295
  if ( 'invited' === $request['scope'] ) {
296
 
297
  if ( ! bp_group_has_invites( array( 'user_id' => 'any' ) ) ) {
298
  wp_send_json_error( array(
299
+ 'feedback' => __( 'No pending group invitations found.', 'buddypress' ),
300
  'type' => 'info',
301
  ) );
302
  }
303
 
304
  $request['is_confirmed'] = false;
305
  $bp->groups->invites_scope = 'invited';
306
+ $message = __( 'You can view the group\'s pending invitations from this screen.', 'buddypress' );
307
  }
308
 
309
  $potential_invites = bp_nouveau_get_group_potential_invites( $request );
367
  }
368
 
369
  if ( ! bp_groups_user_can_send_invites( $group_id ) ) {
370
+ $response['feedback'] = __( 'You are not allowed to send invitations for this group.', 'buddypress' );
371
  wp_send_json_error( $response );
372
  }
373
 
406
  $errors = array_keys( $invited, false );
407
 
408
  $error_count = count( $errors );
409
+ $error_message = sprintf(
410
+ /* translators: count of users affected */
411
+ _n(
412
+ 'Invitation failed for %s user.',
413
+ 'Invitation failed for %s users.',
414
+ $error_count, 'buddypress'
415
+ ),
416
+ number_format_i18n( $error_count )
417
+ );
418
 
419
  wp_send_json_error(
420
  array(
427
 
428
  wp_send_json_success(
429
  array(
430
+ 'feedback' => __( 'Invitations sent.', 'buddypress' ),
431
  'type' => 'success',
432
  )
433
  );
437
  * @since 3.0.0
438
  */
439
  function bp_nouveau_ajax_remove_group_invite() {
440
+ $user_id = (int) $_POST['user'];
441
  $group_id = bp_get_current_group_id();
442
 
443
  // Verify nonce
444
  if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'groups_invite_uninvite_user' ) ) {
445
  wp_send_json_error(
446
  array(
447
+ 'feedback' => __( 'Group invitation could not be removed.', 'buddypress' ),
448
  'type' => 'error',
449
  )
450
  );
453
  if ( BP_Groups_Member::check_for_membership_request( $user_id, $group_id ) ) {
454
  wp_send_json_error(
455
  array(
456
+ 'feedback' => __( 'The member is already a member of the group.', 'buddypress' ),
457
  'type' => 'warning',
458
  'code' => 1,
459
  )
464
  if ( ! groups_uninvite_user( $user_id, $group_id ) ) {
465
  wp_send_json_error(
466
  array(
467
+ 'feedback' => __( 'Group invitation could not be removed.', 'buddypress' ),
468
  'type' => 'error',
469
  'code' => 0,
470
  )
473
 
474
  wp_send_json_success(
475
  array(
476
+ 'feedback' => __( 'There are no more pending invitations for the group.', 'buddypress' ),
477
  'type' => 'info',
478
  'has_invites' => bp_group_has_invites( array( 'user_id' => 'any' ) ),
479
  )
bp-templates/bp-nouveau/includes/groups/functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Groups functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -24,7 +24,7 @@ function bp_nouveau_message_markup_wrapper( $message, $type ) {
24
  return false;
25
  }
26
 
27
- $message = '<div class="bp-feedback ' . $type . '"><span class="bp-icon" aria-hidden="true"></span><p>' . $message . '</p></div>';
28
 
29
  return $message;
30
  }
@@ -149,9 +149,9 @@ function bp_nouveau_groups_localize_scripts( $params = array() ) {
149
  'nav' => bp_sort_by_key( $invites_nav, 'order', 'num' ),
150
  'loading' => __( 'Loading members. Please wait.', 'buddypress' ),
151
  'invites_form' => __( 'Use the "Send" button to send your invite or the "Cancel" button to abort.', 'buddypress' ),
152
- 'invites_form_reset' => __( 'Invites cleared. Please use one of the available tabs to select members to invite.', 'buddypress' ),
153
- 'invites_sending' => __( 'Sending the invites. Please wait.', 'buddypress' ),
154
- 'removeUserInvite' => __( 'Disinvite %s', 'buddypress' ),
155
  'group_id' => ! bp_get_current_group_id() ? bp_get_new_group_id() : bp_get_current_group_id(),
156
  'is_group_create' => bp_is_group_create(),
157
  'nonces' => array(
@@ -294,18 +294,17 @@ function bp_nouveau_get_group_potential_invites( $args = array() ) {
294
 
295
  /**
296
  * @since 3.0.0
297
- * @todo I don't see any reason why to restrict group invites to friends..
298
  */
299
  function bp_nouveau_group_invites_create_steps( $steps = array() ) {
300
  if ( bp_is_active( 'friends' ) && isset( $steps['group-invites'] ) ) {
301
  // Simply change the name
302
- $steps['group-invites']['name'] = _x( 'Invite', 'Group screen nav', 'buddypress' );
303
  return $steps;
304
  }
305
 
306
  // Add the create step if friends component is not active
307
  $steps['group-invites'] = array(
308
- 'name' => _x( 'Invite', 'Group screen nav', 'buddypress' ),
309
  'position' => 30,
310
  );
311
 
@@ -325,7 +324,7 @@ function bp_nouveau_group_setup_nav() {
325
  $bp = buddypress();
326
 
327
  $bp->groups->nav->edit_nav(
328
- array( 'name' => _x( 'Invite', 'My Group screen nav', 'buddypress' ) ),
329
  'send-invites',
330
  bp_get_current_group_slug()
331
  );
@@ -336,7 +335,7 @@ function bp_nouveau_group_setup_nav() {
336
  $group_link = bp_get_group_permalink( $current_group );
337
 
338
  bp_core_new_subnav_item( array(
339
- 'name' => _x( 'Invite', 'My Group screen nav', 'buddypress' ),
340
  'slug' => 'send-invites',
341
  'parent_url' => $group_link,
342
  'parent_slug' => $current_group->slug,
@@ -394,7 +393,7 @@ function bp_nouveau_prepare_group_for_js( $item ) {
394
  'name' => $item->name,
395
  'avatar_url' => $item_avatar_url,
396
  'object_type' => 'group',
397
- 'is_public' => 'public' === $item->status,
398
  );
399
  }
400
 
@@ -412,7 +411,7 @@ function bp_nouveau_groups_invites_restriction_nav() {
412
  }
413
 
414
  bp_core_new_subnav_item( array(
415
- 'name' => _x( 'Group Invites', 'My Group Invites settings screen nav', 'buddypress' ),
416
  'slug' => 'invites',
417
  'parent_url' => trailingslashit( $user_domain . $slug ),
418
  'parent_slug' => $slug,
@@ -440,7 +439,7 @@ function bp_nouveau_groups_invites_restriction_admin_nav( $wp_admin_nav ) {
440
  $wp_admin_nav[] = array(
441
  'parent' => 'my-account-' . buddypress()->settings->id,
442
  'id' => 'my-account-' . buddypress()->settings->id . '-invites',
443
- 'title' => _x( 'Group Invites', 'My Account Settings sub nav', 'buddypress' ),
444
  'href' => trailingslashit( $settings_link . 'invites/' ),
445
  );
446
 
@@ -693,7 +692,7 @@ function bp_nouveau_groups_customizer_sections( $sections = array() ) {
693
  'title' => __( 'Group navigation', 'buddypress' ),
694
  'panel' => 'bp_nouveau_panel',
695
  'priority' => 40,
696
- 'description' => __( 'Customize the navigation menu for groups. See your changes by navigating to a group in the live-preview window..', 'buddypress' ),
697
  ),
698
  ) );
699
  }
@@ -800,13 +799,13 @@ function bp_nouveau_groups_customizer_controls( $controls = array() ) {
800
  'type' => 'checkbox',
801
  ),
802
  'group_front_boxes' => array(
803
- 'label' => __( 'Enable widget region for group homepages. (When enabled, the site admin can add widgets to group pages via the Widgets panel.)', 'buddypress' ),
804
  'section' => 'bp_nouveau_group_front_page',
805
  'settings' => 'bp_nouveau_appearance[group_front_boxes]',
806
  'type' => 'checkbox',
807
  ),
808
  'group_front_description' => array(
809
- 'label' => __( 'Display the group description in the body of the group\'s front page.', 'buddypress' ),
810
  'section' => 'bp_nouveau_group_front_page',
811
  'settings' => 'bp_nouveau_appearance[group_front_description]',
812
  'type' => 'checkbox',
@@ -818,13 +817,13 @@ function bp_nouveau_groups_customizer_controls( $controls = array() ) {
818
  'type' => 'checkbox',
819
  ),
820
  'group_nav_tabs' => array(
821
- 'label' => __( 'Use tab styling for primary nav.', 'buddypress' ),
822
  'section' => 'bp_nouveau_group_primary_nav',
823
  'settings' => 'bp_nouveau_appearance[group_nav_tabs]',
824
  'type' => 'checkbox',
825
  ),
826
  'group_subnav_tabs' => array(
827
- 'label' => __( 'Use tab styling for secondary nav.', 'buddypress' ),
828
  'section' => 'bp_nouveau_group_primary_nav',
829
  'settings' => 'bp_nouveau_appearance[group_subnav_tabs]',
830
  'type' => 'checkbox',
@@ -843,7 +842,7 @@ function bp_nouveau_groups_customizer_controls( $controls = array() ) {
843
  'type' => 'group',
844
  ),
845
  'groups_layout' => array(
846
- 'label' => __( 'Groups', 'buddypress' ),
847
  'section' => 'bp_nouveau_loops_layout',
848
  'settings' => 'bp_nouveau_appearance[groups_layout]',
849
  'type' => 'select',
@@ -954,7 +953,7 @@ function bp_nouveau_group_locate_template_part( $template = '' ) {
954
 
955
  // Loop in the hierarchy to fill it for the requested template part
956
  foreach ( $bp_nouveau->groups->current_group_hierarchy as $part ) {
957
- $templates[] = sprintf( $part, $template );
958
  }
959
 
960
  /**
@@ -1009,7 +1008,7 @@ function bp_nouveau_group_get_template_part( $template = '' ) {
1009
  * @return bool True if in the group's home sidebar. False otherwise.
1010
  */
1011
  function bp_nouveau_group_is_home_widgets() {
1012
- return true === bp_nouveau()->groups->is_group_home_sidebar;
1013
  }
1014
 
1015
  /**
@@ -1197,7 +1196,7 @@ function bp_nouveau_groups_notification_filters() {
1197
  ),
1198
  array(
1199
  'id' => 'member_promoted_to_admin',
1200
- 'label' => __( 'Group Admin promotions', 'buddypress' ),
1201
  'position' => 85,
1202
  ),
1203
  array(
@@ -1207,7 +1206,7 @@ function bp_nouveau_groups_notification_filters() {
1207
  ),
1208
  array(
1209
  'id' => 'group_invite',
1210
- 'label' => __( 'Group invites', 'buddypress' ),
1211
  'position' => 105,
1212
  ),
1213
  );
3
  * Groups functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
24
  return false;
25
  }
26
 
27
+ $message = '<div class=" ' . esc_attr( "bp-feedback {$type}" ) . '"><span class="bp-icon" aria-hidden="true"></span><p>' . esc_html( $message ) . '</p></div>';
28
 
29
  return $message;
30
  }
149
  'nav' => bp_sort_by_key( $invites_nav, 'order', 'num' ),
150
  'loading' => __( 'Loading members. Please wait.', 'buddypress' ),
151
  'invites_form' => __( 'Use the "Send" button to send your invite or the "Cancel" button to abort.', 'buddypress' ),
152
+ 'invites_form_reset' => __( 'Group invitations cleared. Please use one of the available tabs to select members to invite.', 'buddypress' ),
153
+ 'invites_sending' => __( 'Sending group invitations. Please wait.', 'buddypress' ),
154
+ 'removeUserInvite' => __( 'Cancel invitation %s', 'buddypress' ),
155
  'group_id' => ! bp_get_current_group_id() ? bp_get_new_group_id() : bp_get_current_group_id(),
156
  'is_group_create' => bp_is_group_create(),
157
  'nonces' => array(
294
 
295
  /**
296
  * @since 3.0.0
 
297
  */
298
  function bp_nouveau_group_invites_create_steps( $steps = array() ) {
299
  if ( bp_is_active( 'friends' ) && isset( $steps['group-invites'] ) ) {
300
  // Simply change the name
301
+ $steps['group-invites']['name'] = _x( 'Invite', 'Group invitations menu title', 'buddypress' );
302
  return $steps;
303
  }
304
 
305
  // Add the create step if friends component is not active
306
  $steps['group-invites'] = array(
307
+ 'name' => _x( 'Invite', 'Group invitations menu title', 'buddypress' ),
308
  'position' => 30,
309
  );
310
 
324
  $bp = buddypress();
325
 
326
  $bp->groups->nav->edit_nav(
327
+ array( 'name' => _x( 'Invite', 'Group invitations menu title', 'buddypress' ) ),
328
  'send-invites',
329
  bp_get_current_group_slug()
330
  );
335
  $group_link = bp_get_group_permalink( $current_group );
336
 
337
  bp_core_new_subnav_item( array(
338
+ 'name' => _x( 'Invite', 'Group invitations menu title', 'buddypress' ),
339
  'slug' => 'send-invites',
340
  'parent_url' => $group_link,
341
  'parent_slug' => $current_group->slug,
393
  'name' => $item->name,
394
  'avatar_url' => $item_avatar_url,
395
  'object_type' => 'group',
396
+ 'is_public' => ( 'public' === $item->status ),
397
  );
398
  }
399
 
411
  }
412
 
413
  bp_core_new_subnav_item( array(
414
+ 'name' => _x( 'Group Invites', 'Group invitations main menu title', 'buddypress' ),
415
  'slug' => 'invites',
416
  'parent_url' => trailingslashit( $user_domain . $slug ),
417
  'parent_slug' => $slug,
439
  $wp_admin_nav[] = array(
440
  'parent' => 'my-account-' . buddypress()->settings->id,
441
  'id' => 'my-account-' . buddypress()->settings->id . '-invites',
442
+ 'title' => _x( 'Group Invites', 'Group invitations main menu title', 'buddypress' ),
443
  'href' => trailingslashit( $settings_link . 'invites/' ),
444
  );
445
 
692
  'title' => __( 'Group navigation', 'buddypress' ),
693
  'panel' => 'bp_nouveau_panel',
694
  'priority' => 40,
695
+ 'description' => __( 'Customize the navigation menu for groups. See your changes by navigating to a group in the live-preview window.', 'buddypress' ),
696
  ),
697
  ) );
698
  }
799
  'type' => 'checkbox',
800
  ),
801
  'group_front_boxes' => array(
802
+ 'label' => __( 'Enable widget region for group homepages. When enabled, the site admin can add widgets to group pages via the Widgets panel.', 'buddypress' ),
803
  'section' => 'bp_nouveau_group_front_page',
804
  'settings' => 'bp_nouveau_appearance[group_front_boxes]',
805
  'type' => 'checkbox',
806
  ),
807
  'group_front_description' => array(
808
+ 'label' => __( "Display the group description in the body of the group's front page.", 'buddypress' ),
809
  'section' => 'bp_nouveau_group_front_page',
810
  'settings' => 'bp_nouveau_appearance[group_front_description]',
811
  'type' => 'checkbox',
817
  'type' => 'checkbox',
818
  ),
819
  'group_nav_tabs' => array(
820
+ 'label' => __( 'Use tab styling for primary navigation.', 'buddypress' ),
821
  'section' => 'bp_nouveau_group_primary_nav',
822
  'settings' => 'bp_nouveau_appearance[group_nav_tabs]',
823
  'type' => 'checkbox',
824
  ),
825
  'group_subnav_tabs' => array(
826
+ 'label' => __( 'Use tab styling for secondary navigation.', 'buddypress' ),
827
  'section' => 'bp_nouveau_group_primary_nav',
828
  'settings' => 'bp_nouveau_appearance[group_subnav_tabs]',
829
  'type' => 'checkbox',
842
  'type' => 'group',
843
  ),
844
  'groups_layout' => array(
845
+ 'label' => _x( 'Groups', 'Customizer control label', 'buddypress' ),
846
  'section' => 'bp_nouveau_loops_layout',
847
  'settings' => 'bp_nouveau_appearance[groups_layout]',
848
  'type' => 'select',
953
 
954
  // Loop in the hierarchy to fill it for the requested template part
955
  foreach ( $bp_nouveau->groups->current_group_hierarchy as $part ) {
956
+ $templates[] = sprintf( $part, sanitize_file_name( $template ) );
957
  }
958
 
959
  /**
1008
  * @return bool True if in the group's home sidebar. False otherwise.
1009
  */
1010
  function bp_nouveau_group_is_home_widgets() {
1011
+ return ( true === bp_nouveau()->groups->is_group_home_sidebar );
1012
  }
1013
 
1014
  /**
1196
  ),
1197
  array(
1198
  'id' => 'member_promoted_to_admin',
1199
+ 'label' => __( 'Group Administrator promotions', 'buddypress' ),
1200
  'position' => 85,
1201
  ),
1202
  array(
1206
  ),
1207
  array(
1208
  'id' => 'group_invite',
1209
+ 'label' => __( 'Group invitations', 'buddypress' ),
1210
  'position' => 105,
1211
  ),
1212
  );
bp-templates/bp-nouveau/includes/members/functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Members functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -355,7 +355,7 @@ function bp_nouveau_members_wp_bio_info() {
355
  * @return bool True if in the group's home sidebar. False otherwise.
356
  */
357
  function bp_nouveau_member_is_home_widgets() {
358
- return true === bp_nouveau()->members->is_user_home_sidebar;
359
  }
360
 
361
  /**
3
  * Members functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
355
  * @return bool True if in the group's home sidebar. False otherwise.
356
  */
357
  function bp_nouveau_member_is_home_widgets() {
358
+ return ( true === bp_nouveau()->members->is_user_home_sidebar );
359
  }
360
 
361
  /**
bp-templates/bp-nouveau/includes/members/template-tags.php CHANGED
@@ -3,7 +3,7 @@
3
  * Members template tags
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -286,7 +286,7 @@ function bp_nouveau_members_loop_buttons( $args = array() ) {
286
  'component' => 'friends',
287
  'must_be_logged_in' => true,
288
  'parent_element' => $parent_element,
289
- 'link_text' => __( 'Accept', 'buddypress' ),
290
  'parent_attr' => array(
291
  'id' => '',
292
  'class' => $parent_class ,
@@ -302,7 +302,7 @@ function bp_nouveau_members_loop_buttons( $args = array() ) {
302
  'component' => 'friends',
303
  'must_be_logged_in' => true,
304
  'parent_element' => $parent_element,
305
- 'link_text' => __( 'Reject', 'buddypress' ),
306
  'parent_attr' => array(
307
  'id' => '',
308
  'class' => $parent_class,
3
  * Members template tags
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
286
  'component' => 'friends',
287
  'must_be_logged_in' => true,
288
  'parent_element' => $parent_element,
289
+ 'link_text' => _x( 'Accept', 'button', 'buddypress' ),
290
  'parent_attr' => array(
291
  'id' => '',
292
  'class' => $parent_class ,
302
  'component' => 'friends',
303
  'must_be_logged_in' => true,
304
  'parent_element' => $parent_element,
305
+ 'link_text' => _x( 'Reject', 'button', 'buddypress' ),
306
  'parent_attr' => array(
307
  'id' => '',
308
  'class' => $parent_class,
bp-templates/bp-nouveau/includes/messages/ajax.php CHANGED
@@ -3,7 +3,7 @@
3
  * Messages Ajax functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -134,9 +134,15 @@ function bp_nouveau_ajax_messages_send_reply() {
134
  wp_send_json_error( $response );
135
  }
136
 
137
- // Get the message bye pretending we're in the message loop.
138
  global $thread_template;
139
 
 
 
 
 
 
 
140
  bp_thread_has_messages( array( 'thread_id' => (int) $_POST['thread_id'] ) );
141
 
142
  // Set the current message to the 2nd last.
@@ -182,9 +188,23 @@ function bp_nouveau_ajax_messages_send_reply() {
182
  $reply['is_starred'] = array_search( 'unstar', explode( '/', $star_link ) );
183
  }
184
 
 
 
 
 
 
 
 
 
 
 
 
185
  // Clean up the loop.
186
  bp_thread_messages();
187
 
 
 
 
188
  wp_send_json_success( array(
189
  'messages' => array( $reply ),
190
  'feedback' => __( 'Your reply was sent successfully', 'buddypress' ),
@@ -205,23 +225,32 @@ function bp_nouveau_ajax_get_user_message_threads() {
205
  ) );
206
  }
207
 
208
- if ( isset( $_POST['box'] ) && 'starred' === $_POST['box'] ) {
209
- $star_filter = true;
210
 
211
- // Add the message thread filter.
 
 
 
 
 
 
212
  add_filter( 'bp_after_has_message_threads_parse_args', 'bp_messages_filter_starred_message_threads' );
213
  }
214
 
215
  // Simulate the loop.
216
  if ( ! bp_has_message_threads( bp_ajax_querystring( 'messages' ) ) ) {
 
 
 
217
  wp_send_json_error( array(
218
  'feedback' => __( 'Sorry, no messages were found.', 'buddypress' ),
219
  'type' => 'info'
220
  ) );
221
  }
222
 
223
- if ( ! empty( $star_filter ) ) {
224
- // remove the message thread filter.
225
  remove_filter( 'bp_after_has_message_threads_parse_args', 'bp_messages_filter_starred_message_threads' );
226
  }
227
 
@@ -235,9 +264,11 @@ function bp_nouveau_ajax_get_user_message_threads() {
235
  $i = 0;
236
 
237
  while ( bp_message_threads() ) : bp_message_thread();
 
 
238
  $threads->threads[ $i ] = array(
239
  'id' => bp_get_message_thread_id(),
240
- 'message_id' => (int) $messages_template->thread->last_message_id,
241
  'subject' => html_entity_decode( bp_get_message_thread_subject() ),
242
  'excerpt' => html_entity_decode( bp_get_message_thread_excerpt() ),
243
  'content' => html_entity_decode( do_shortcode( bp_get_message_thread_content() ) ),
@@ -286,7 +317,7 @@ function bp_nouveau_ajax_get_user_message_threads() {
286
  $threads->threads[ $i ]['is_starred'] = array_search( 'unstar', $star_link_data );
287
 
288
  // Defaults to last
289
- $sm_id = (int) $messages_template->thread->last_message_id;
290
 
291
  if ( $threads->threads[ $i ]['is_starred'] ) {
292
  $sm_id = (int) $star_link_data[ $threads->threads[ $i ]['is_starred'] + 1 ];
@@ -296,11 +327,33 @@ function bp_nouveau_ajax_get_user_message_threads() {
296
  $threads->threads[ $i ]['starred_id'] = $sm_id;
297
  }
298
 
 
 
 
 
 
 
 
 
 
299
  $i += 1;
300
  endwhile;
301
 
302
  $threads->threads = array_filter( $threads->threads );
303
 
 
 
 
 
 
 
 
 
 
 
 
 
 
304
  wp_send_json_success( $threads );
305
  }
306
 
@@ -356,10 +409,18 @@ function bp_nouveau_ajax_get_thread_messages() {
356
  wp_send_json_error( $response );
357
  }
358
 
359
- $thread_id = (int) $_POST['id'];
 
 
 
 
 
360
 
361
  // Simulate the loop.
362
  if ( ! bp_thread_has_messages( array( 'thread_id' => $thread_id ) ) ) {
 
 
 
363
  wp_send_json_error( $response );
364
  }
365
 
@@ -422,11 +483,25 @@ function bp_nouveau_ajax_get_thread_messages() {
422
  $thread->messages[ $i ]['star_nonce'] = wp_create_nonce( 'bp-messages-star-' . bp_get_the_thread_message_id() );
423
  }
424
 
 
 
 
 
 
 
 
 
 
 
 
425
  $i += 1;
426
  endwhile;
427
 
428
  $thread->messages = array_filter( $thread->messages );
429
 
 
 
 
430
  wp_send_json_success( $thread );
431
  }
432
 
@@ -435,7 +510,7 @@ function bp_nouveau_ajax_get_thread_messages() {
435
  */
436
  function bp_nouveau_ajax_delete_thread_messages() {
437
  $response = array(
438
- 'feedback' => __( 'There was a problem deleting your message(s). Please try again.', 'buddypress' ),
439
  'type' => 'error',
440
  );
441
 
@@ -458,7 +533,7 @@ function bp_nouveau_ajax_delete_thread_messages() {
458
  }
459
 
460
  wp_send_json_success( array(
461
- 'feedback' => __( 'Message(s) deleted', 'buddypress' ),
462
  'type' => 'success',
463
  ) );
464
  }
@@ -474,9 +549,9 @@ function bp_nouveau_ajax_star_thread_messages() {
474
  $action = str_replace( 'messages_', '', $_POST['action'] );
475
 
476
  if ( 'star' === $action ) {
477
- $error_message = __( 'There was a problem starring your message(s). Please try again.', 'buddypress' );
478
  } else {
479
- $error_message = __( 'There was a problem unstarring your message(s). Please try agian.', 'buddypress' );
480
  }
481
 
482
  $response = array(
@@ -550,9 +625,9 @@ function bp_nouveau_ajax_star_thread_messages() {
550
  }
551
 
552
  if ( 'star' === $action ) {
553
- $success_message = __( 'Message(s) successfully starred.', 'buddypress' );
554
  } else {
555
- $success_message = __( 'Message(s) successfully unstarred.', 'buddypress' );
556
  }
557
 
558
  wp_send_json_success( array(
@@ -573,13 +648,13 @@ function bp_nouveau_ajax_readunread_thread_messages() {
573
  $action = str_replace( 'messages_', '', $_POST['action'] );
574
 
575
  $response = array(
576
- 'feedback' => __( 'There was a problem marking your message(s) as read. Please try again.', 'buddypress' ),
577
  'type' => 'error',
578
  );
579
 
580
  if ( 'unread' === $action ) {
581
  $response = array(
582
- 'feedback' => __( 'There was a problem marking your message(s) as unread. Please try again.', 'buddypress' ),
583
  'type' => 'error',
584
  );
585
  }
@@ -597,9 +672,9 @@ function bp_nouveau_ajax_readunread_thread_messages() {
597
  $response['messages'] = array();
598
 
599
  if ( 'unread' === $action ) {
600
- $response['feedback'] = __( 'Message(s) marked as unread.', 'buddypress' );
601
  } else {
602
- $response['feedback'] = __( 'Message(s) marked as read.', 'buddypress' );
603
  }
604
 
605
  foreach ( $thread_ids as $thread_id ) {
3
  * Messages Ajax functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
134
  wp_send_json_error( $response );
135
  }
136
 
137
+ // Get the message by pretending we're in the message loop.
138
  global $thread_template;
139
 
140
+ $bp = buddypress();
141
+ $reset_action = $bp->current_action;
142
+
143
+ // Override bp_current_action().
144
+ $bp->current_action = 'view';
145
+
146
  bp_thread_has_messages( array( 'thread_id' => (int) $_POST['thread_id'] ) );
147
 
148
  // Set the current message to the 2nd last.
188
  $reply['is_starred'] = array_search( 'unstar', explode( '/', $star_link ) );
189
  }
190
 
191
+ $extra_content = bp_nouveau_messages_catch_hook_content( array(
192
+ 'beforeMeta' => 'bp_before_message_meta',
193
+ 'afterMeta' => 'bp_after_message_meta',
194
+ 'beforeContent' => 'bp_before_message_content',
195
+ 'afterContent' => 'bp_after_message_content',
196
+ ) );
197
+
198
+ if ( array_filter( $extra_content ) ) {
199
+ $reply = array_merge( $reply, $extra_content );
200
+ }
201
+
202
  // Clean up the loop.
203
  bp_thread_messages();
204
 
205
+ // Remove the bp_current_action() override.
206
+ $bp->current_action = $reset_action;
207
+
208
  wp_send_json_success( array(
209
  'messages' => array( $reply ),
210
  'feedback' => __( 'Your reply was sent successfully', 'buddypress' ),
225
  ) );
226
  }
227
 
228
+ $bp = buddypress();
229
+ $reset_action = $bp->current_action;
230
 
231
+ // Override bp_current_action().
232
+ if ( isset( $_POST['box'] ) ) {
233
+ $bp->current_action = $_POST['box'];
234
+ }
235
+
236
+ // Add the message thread filter.
237
+ if ( 'starred' === $bp->current_action ) {
238
  add_filter( 'bp_after_has_message_threads_parse_args', 'bp_messages_filter_starred_message_threads' );
239
  }
240
 
241
  // Simulate the loop.
242
  if ( ! bp_has_message_threads( bp_ajax_querystring( 'messages' ) ) ) {
243
+ // Remove the bp_current_action() override.
244
+ $bp->current_action = $reset_action;
245
+
246
  wp_send_json_error( array(
247
  'feedback' => __( 'Sorry, no messages were found.', 'buddypress' ),
248
  'type' => 'info'
249
  ) );
250
  }
251
 
252
+ // remove the message thread filter.
253
+ if ( 'starred' === $bp->current_action ) {
254
  remove_filter( 'bp_after_has_message_threads_parse_args', 'bp_messages_filter_starred_message_threads' );
255
  }
256
 
264
  $i = 0;
265
 
266
  while ( bp_message_threads() ) : bp_message_thread();
267
+ $last_message_id = (int) $messages_template->thread->last_message_id;
268
+
269
  $threads->threads[ $i ] = array(
270
  'id' => bp_get_message_thread_id(),
271
+ 'message_id' => (int) $last_message_id,
272
  'subject' => html_entity_decode( bp_get_message_thread_subject() ),
273
  'excerpt' => html_entity_decode( bp_get_message_thread_excerpt() ),
274
  'content' => html_entity_decode( do_shortcode( bp_get_message_thread_content() ) ),
317
  $threads->threads[ $i ]['is_starred'] = array_search( 'unstar', $star_link_data );
318
 
319
  // Defaults to last
320
+ $sm_id = $last_message_id;
321
 
322
  if ( $threads->threads[ $i ]['is_starred'] ) {
323
  $sm_id = (int) $star_link_data[ $threads->threads[ $i ]['is_starred'] + 1 ];
327
  $threads->threads[ $i ]['starred_id'] = $sm_id;
328
  }
329
 
330
+ $thread_extra_content = bp_nouveau_messages_catch_hook_content( array(
331
+ 'inboxListItem' => 'bp_messages_inbox_list_item',
332
+ 'threadOptions' => 'bp_messages_thread_options',
333
+ ) );
334
+
335
+ if ( array_filter( $thread_extra_content ) ) {
336
+ $threads->threads[ $i ] = array_merge( $threads->threads[ $i ], $thread_extra_content );
337
+ }
338
+
339
  $i += 1;
340
  endwhile;
341
 
342
  $threads->threads = array_filter( $threads->threads );
343
 
344
+ $extra_content = bp_nouveau_messages_catch_hook_content( array(
345
+ 'beforeLoop' => 'bp_before_member_messages_loop',
346
+ 'afterLoop' => 'bp_after_member_messages_loop',
347
+ ) );
348
+
349
+ if ( array_filter( $extra_content ) ) {
350
+ $threads->extraContent = $extra_content;
351
+ }
352
+
353
+ // Remove the bp_current_action() override.
354
+ $bp->current_action = $reset_action;
355
+
356
+ // Return the successfull reply.
357
  wp_send_json_success( $threads );
358
  }
359
 
409
  wp_send_json_error( $response );
410
  }
411
 
412
+ $thread_id = (int) $_POST['id'];
413
+ $bp = buddypress();
414
+ $reset_action = $bp->current_action;
415
+
416
+ // Override bp_current_action().
417
+ $bp->current_action = 'view';
418
 
419
  // Simulate the loop.
420
  if ( ! bp_thread_has_messages( array( 'thread_id' => $thread_id ) ) ) {
421
+ // Remove the bp_current_action() override.
422
+ $bp->current_action = $reset_action;
423
+
424
  wp_send_json_error( $response );
425
  }
426
 
483
  $thread->messages[ $i ]['star_nonce'] = wp_create_nonce( 'bp-messages-star-' . bp_get_the_thread_message_id() );
484
  }
485
 
486
+ $extra_content = bp_nouveau_messages_catch_hook_content( array(
487
+ 'beforeMeta' => 'bp_before_message_meta',
488
+ 'afterMeta' => 'bp_after_message_meta',
489
+ 'beforeContent' => 'bp_before_message_content',
490
+ 'afterContent' => 'bp_after_message_content',
491
+ ) );
492
+
493
+ if ( array_filter( $extra_content ) ) {
494
+ $thread->messages[ $i ] = array_merge( $thread->messages[ $i ], $extra_content );
495
+ }
496
+
497
  $i += 1;
498
  endwhile;
499
 
500
  $thread->messages = array_filter( $thread->messages );
501
 
502
+ // Remove the bp_current_action() override.
503
+ $bp->current_action = $reset_action;
504
+
505
  wp_send_json_success( $thread );
506
  }
507
 
510
  */
511
  function bp_nouveau_ajax_delete_thread_messages() {
512
  $response = array(
513
+ 'feedback' => __( 'There was a problem deleting your messages. Please try again.', 'buddypress' ),
514
  'type' => 'error',
515
  );
516
 
533
  }
534
 
535
  wp_send_json_success( array(
536
+ 'feedback' => __( 'Messages deleted', 'buddypress' ),
537
  'type' => 'success',
538
  ) );
539
  }
549
  $action = str_replace( 'messages_', '', $_POST['action'] );
550
 
551
  if ( 'star' === $action ) {
552
+ $error_message = __( 'There was a problem starring your messages. Please try again.', 'buddypress' );
553
  } else {
554
+ $error_message = __( 'There was a problem unstarring your messages. Please try agian.', 'buddypress' );
555
  }
556
 
557
  $response = array(
625
  }
626
 
627
  if ( 'star' === $action ) {
628
+ $success_message = __( 'Messages successfully starred.', 'buddypress' );
629
  } else {
630
+ $success_message = __( 'Messages successfully unstarred.', 'buddypress' );
631
  }
632
 
633
  wp_send_json_success( array(
648
  $action = str_replace( 'messages_', '', $_POST['action'] );
649
 
650
  $response = array(
651
+ 'feedback' => __( 'There was a problem marking your messages as read. Please try again.', 'buddypress' ),
652
  'type' => 'error',
653
  );
654
 
655
  if ( 'unread' === $action ) {
656
  $response = array(
657
+ 'feedback' => __( 'There was a problem marking your messages as unread. Please try again.', 'buddypress' ),
658
  'type' => 'error',
659
  );
660
  }
672
  $response['messages'] = array();
673
 
674
  if ( 'unread' === $action ) {
675
+ $response['feedback'] = __( 'Messages marked as unread.', 'buddypress' );
676
  } else {
677
+ $response['feedback'] = __( 'Messages marked as read.', 'buddypress' );
678
  }
679
 
680
  foreach ( $thread_ids as $thread_id ) {
bp-templates/bp-nouveau/includes/messages/functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Messages functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -101,11 +101,11 @@ function bp_nouveau_messages_localize_scripts( $params = array() ) {
101
  ),
102
  'loading' => __( 'Loading messages. Please wait.', 'buddypress' ),
103
  'doingAction' => array(
104
- 'read' => __( 'Marking message(s) as read. Please wait.', 'buddypress' ),
105
- 'unread' => __( 'Marking message(s) as unread. Please wait.', 'buddypress' ),
106
- 'delete' => __( 'Deleting message(s). Please wait.', 'buddypress' ),
107
- 'star' => __( 'Starring message(s). Please wait.', 'buddypress' ),
108
- 'unstar' => __( 'Unstarring message(s). Please wait.', 'buddypress' ),
109
  ),
110
  'bulk_actions' => bp_nouveau_messages_get_bulk_actions(),
111
  'howto' => __( 'Click on the message title to preview it in the Active conversation box below.', 'buddypress' ),
@@ -114,6 +114,7 @@ function bp_nouveau_messages_localize_scripts( $params = array() ) {
114
  'one' => __( '(and 1 other)', 'buddypress' ),
115
  'more' => __( '(and %d others)', 'buddypress' ),
116
  ),
 
117
  );
118
 
119
  // Star private messages.
@@ -145,7 +146,7 @@ function bp_nouveau_message_search_form() {
145
 
146
  $search_form_html = '<form action="" method="get" id="search-messages-form">
147
  <label for="messages_search"><input type="text" name="' . esc_attr( $query_arg ) . '" id="messages_search" placeholder="' . esc_attr( $placeholder ) . '" /></label>
148
- <input type="submit" id="messages_search_submit" name="messages_search_submit" value="' . esc_attr_e( 'Search', 'buddypress' ) . '" />
149
  </form>';
150
 
151
  /**
@@ -178,15 +179,10 @@ function bp_nouveau_messages_adjust_nav() {
178
 
179
  if ( 'notices' === $secondary_nav_item->slug ) {
180
  bp_core_remove_subnav_item( bp_get_messages_slug(), $secondary_nav_item->slug, 'members' );
181
- } else {
182
- $params = array( 'link' => '#' . $secondary_nav_item->slug );
183
-
184
- // Make sure Admins won't write a messages from the user's account.
185
- if ( 'compose' === $secondary_nav_item->slug ) {
186
- $params['user_has_access'] = bp_is_my_profile();
187
- }
188
-
189
- $bp->members->nav->edit_nav( $params, $secondary_nav_item->slug, bp_get_messages_slug() );
190
  }
191
  }
192
  }
@@ -204,12 +200,10 @@ function bp_nouveau_messages_adjust_admin_nav( $admin_nav ) {
204
  foreach ( $admin_nav as $nav_iterator => $nav ) {
205
  $nav_id = str_replace( 'my-account-messages-', '', $nav['id'] );
206
 
207
- if ( 'my-account-messages' !== $nav_id ) {
208
- if ( 'notices' === $nav_id ) {
209
- $admin_nav[ $nav_iterator ]['href'] = esc_url( add_query_arg( array( 'page' => 'bp-notices' ), bp_get_admin_url( 'users.php' ) ) );
210
- } else {
211
- $admin_nav[ $nav_iterator ]['href'] = $user_messages_link . '#' . trim( $nav_id );
212
- }
213
  }
214
  }
215
 
@@ -260,7 +254,7 @@ function bp_nouveau_format_notice_notification_for_user( $array ) {
260
  }
261
 
262
  return array(
263
- 'text' => esc_html__( 'New sitewide notice', 'buddypress' ),
264
  'link' => bp_loggedin_user_domain(),
265
  );
266
  }
@@ -444,3 +438,35 @@ function bp_nouveau_messages_notification_filters() {
444
  )
445
  );
446
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  * Messages functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
101
  ),
102
  'loading' => __( 'Loading messages. Please wait.', 'buddypress' ),
103
  'doingAction' => array(
104
+ 'read' => __( 'Marking messages as read. Please wait.', 'buddypress' ),
105
+ 'unread' => __( 'Marking messages as unread. Please wait.', 'buddypress' ),
106
+ 'delete' => __( 'Deleting messages. Please wait.', 'buddypress' ),
107
+ 'star' => __( 'Starring messages. Please wait.', 'buddypress' ),
108
+ 'unstar' => __( 'Unstarring messages. Please wait.', 'buddypress' ),
109
  ),
110
  'bulk_actions' => bp_nouveau_messages_get_bulk_actions(),
111
  'howto' => __( 'Click on the message title to preview it in the Active conversation box below.', 'buddypress' ),
114
  'one' => __( '(and 1 other)', 'buddypress' ),
115
  'more' => __( '(and %d others)', 'buddypress' ),
116
  ),
117
+ 'rootUrl' => parse_url( trailingslashit( bp_displayed_user_domain() . bp_get_messages_slug() ), PHP_URL_PATH ),
118
  );
119
 
120
  // Star private messages.
146
 
147
  $search_form_html = '<form action="" method="get" id="search-messages-form">
148
  <label for="messages_search"><input type="text" name="' . esc_attr( $query_arg ) . '" id="messages_search" placeholder="' . esc_attr( $placeholder ) . '" /></label>
149
+ <input type="submit" id="messages_search_submit" name="messages_search_submit" value="' . esc_attr_x( 'Search', 'button', 'buddypress' ) . '" />
150
  </form>';
151
 
152
  /**
179
 
180
  if ( 'notices' === $secondary_nav_item->slug ) {
181
  bp_core_remove_subnav_item( bp_get_messages_slug(), $secondary_nav_item->slug, 'members' );
182
+ } elseif ( 'compose' === $secondary_nav_item->slug ) {
183
+ $bp->members->nav->edit_nav( array(
184
+ 'user_has_access' => bp_is_my_profile()
185
+ ), $secondary_nav_item->slug, bp_get_messages_slug() );
 
 
 
 
 
186
  }
187
  }
188
  }
200
  foreach ( $admin_nav as $nav_iterator => $nav ) {
201
  $nav_id = str_replace( 'my-account-messages-', '', $nav['id'] );
202
 
203
+ if ( 'notices' === $nav_id ) {
204
+ $admin_nav[ $nav_iterator ]['href'] = esc_url( add_query_arg( array(
205
+ 'page' => 'bp-notices'
206
+ ), bp_get_admin_url( 'users.php' ) ) );
 
 
207
  }
208
  }
209
 
254
  }
255
 
256
  return array(
257
+ 'text' => __( 'New sitewide notice', 'buddypress' ),
258
  'link' => bp_loggedin_user_domain(),
259
  );
260
  }
438
  )
439
  );
440
  }
441
+
442
+ /**
443
+ * Fires Messages Legacy hooks to catch the content and add them
444
+ * as extra keys to the JSON Messages UI reply.
445
+ *
446
+ * @since 3.0.1
447
+ *
448
+ * @param array $hooks The list of hooks to fire.
449
+ * @return array An associative containing the caught content.
450
+ */
451
+ function bp_nouveau_messages_catch_hook_content( $hooks = array() ) {
452
+ $content = array();
453
+
454
+ ob_start();
455
+ foreach ( $hooks as $js_key => $hook ) {
456
+ if ( ! has_action( $hook ) ) {
457
+ continue;
458
+ }
459
+
460
+ // Fire the hook.
461
+ do_action( $hook );
462
+
463
+ // Catch the sanitized content.
464
+ $content[ $js_key ] = bp_strip_script_and_style_tags( ob_get_contents() );
465
+
466
+ // Clean the buffer.
467
+ ob_clean();
468
+ }
469
+ ob_end_clean();
470
+
471
+ return $content;
472
+ }
bp-templates/bp-nouveau/includes/notifications/functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Notifications functions
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -200,11 +200,16 @@ function bp_nouveau_notifications_dashiconified_link( $link = '', $bp_tooltip =
200
  *
201
  * @since 3.0.0
202
  *
203
- * @param string $link The Mark Unread action link.
204
- * @return string Link Output.
 
205
  */
206
  function bp_nouveau_notifications_mark_unread_link( $link = '' ) {
207
- return bp_nouveau_notifications_dashiconified_link( $link, __( 'Mark Unread', 'buddypress' ), 'dashicons-hidden' );
 
 
 
 
208
  }
209
 
210
  /**
@@ -212,11 +217,16 @@ function bp_nouveau_notifications_mark_unread_link( $link = '' ) {
212
  *
213
  * @since 3.0.0
214
  *
215
- * @param string $link The Mark Read action link.
216
- * @return string Link Output.
 
217
  */
218
  function bp_nouveau_notifications_mark_read_link( $link = '' ) {
219
- return bp_nouveau_notifications_dashiconified_link( $link, __( 'Mark Read', 'buddypress' ), 'dashicons-visibility' );
 
 
 
 
220
  }
221
 
222
  /**
@@ -224,9 +234,14 @@ function bp_nouveau_notifications_mark_read_link( $link = '' ) {
224
  *
225
  * @since 3.0.0
226
  *
227
- * @param string $link The Delete action link.
228
- * @return string Link Output.
 
229
  */
230
  function bp_nouveau_notifications_delete_link( $link = '' ) {
231
- return bp_nouveau_notifications_dashiconified_link( $link, __( 'Delete', 'buddypress' ), 'dashicons-dismiss' );
 
 
 
 
232
  }
3
  * Notifications functions
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
200
  *
201
  * @since 3.0.0
202
  *
203
+ * @param string $link Optional. The Mark Unread action link.
204
+ *
205
+ * @return string Link Output.
206
  */
207
  function bp_nouveau_notifications_mark_unread_link( $link = '' ) {
208
+ return bp_nouveau_notifications_dashiconified_link(
209
+ $link,
210
+ _x( 'Mark Unread', 'link', 'buddypress' ),
211
+ 'dashicons-hidden'
212
+ );
213
  }
214
 
215
  /**
217
  *
218
  * @since 3.0.0
219
  *
220
+ * @param string $link Optional. The Mark Read action link.
221
+ *
222
+ * @return string Link Output.
223
  */
224
  function bp_nouveau_notifications_mark_read_link( $link = '' ) {
225
+ return bp_nouveau_notifications_dashiconified_link(
226
+ $link,
227
+ _x( 'Mark Read', 'link', 'buddypress' ),
228
+ 'dashicons-visibility'
229
+ );
230
  }
231
 
232
  /**
234
  *
235
  * @since 3.0.0
236
  *
237
+ * @param string $link Optional. The Delete action link.
238
+ *
239
+ * @return string Link Output.
240
  */
241
  function bp_nouveau_notifications_delete_link( $link = '' ) {
242
+ return bp_nouveau_notifications_dashiconified_link(
243
+ $link,
244
+ _x( 'Delete', 'link', 'buddypress' ),
245
+ 'dashicons-dismiss'
246
+ );
247
  }
bp-templates/bp-nouveau/includes/notifications/template-tags.php CHANGED
@@ -3,7 +3,7 @@
3
  * Notifications template tags
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -83,7 +83,7 @@ function bp_nouveau_notifications_sort_order_links() {
83
 
84
  <span class="notifications-order-actions">
85
  <a href="<?php echo esc_url( $desc ); ?>" class="bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Newest First', 'buddypress' ); ?>" aria-label="<?php esc_attr_e( 'Newest First', 'buddypress' ); ?>" data-bp-notifications-order="DESC"><span class="dashicons dashicons-arrow-down" aria-hidden="true"></span></a>
86
- <a href="<?php echo esc_url( $asc ); ?>" class="bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Older First', 'buddypress' ); ?>" aria-label="<?php esc_attr_e( 'Older First', 'buddypress' ); ?>" data-bp-notifications-order="ASC"><span class="dashicons dashicons-arrow-up" aria-hidden="true"></span></a>
87
  </span>
88
 
89
  <?php
@@ -100,25 +100,24 @@ function bp_nouveau_notifications_bulk_management_dropdown() {
100
  <div class="select-wrap">
101
 
102
  <label class="bp-screen-reader-text" for="notification-select"><?php
103
- /* translators: accessibility text */
104
- _e( 'Select Bulk Action', 'buddypress' );
105
  ?></label>
106
 
107
  <select name="notification_bulk_action" id="notification-select">
108
- <option value="" selected="selected"><?php _e( 'Bulk Actions', 'buddypress' ); ?></option>
109
 
110
  <?php if ( bp_is_current_action( 'unread' ) ) : ?>
111
- <option value="read"><?php _e( 'Mark read', 'buddypress' ); ?></option>
112
  <?php elseif ( bp_is_current_action( 'read' ) ) : ?>
113
- <option value="unread"><?php _e( 'Mark unread', 'buddypress' ); ?></option>
114
  <?php endif; ?>
115
- <option value="delete"><?php _e( 'Delete', 'buddypress' ); ?></option>
116
  </select>
117
 
118
  <span class="select-arrow"></span>
119
 
120
  </div><!-- // .select-wrap -->
121
 
122
- <input type="submit" id="notification-bulk-manage" class="button action" value="<?php esc_attr_e( 'Apply', 'buddypress' ); ?>">
123
  <?php
124
  }
3
  * Notifications template tags
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
83
 
84
  <span class="notifications-order-actions">
85
  <a href="<?php echo esc_url( $desc ); ?>" class="bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Newest First', 'buddypress' ); ?>" aria-label="<?php esc_attr_e( 'Newest First', 'buddypress' ); ?>" data-bp-notifications-order="DESC"><span class="dashicons dashicons-arrow-down" aria-hidden="true"></span></a>
86
+ <a href="<?php echo esc_url( $asc ); ?>" class="bp-tooltip" data-bp-tooltip="<?php esc_attr_e( 'Oldest First', 'buddypress' ); ?>" aria-label="<?php esc_attr_e( 'Oldest First', 'buddypress' ); ?>" data-bp-notifications-order="ASC"><span class="dashicons dashicons-arrow-up" aria-hidden="true"></span></a>
87
  </span>
88
 
89
  <?php
100
  <div class="select-wrap">
101
 
102
  <label class="bp-screen-reader-text" for="notification-select"><?php
103
+ esc_html_e( 'Select Bulk Action', 'buddypress' );
 
104
  ?></label>
105
 
106
  <select name="notification_bulk_action" id="notification-select">
107
+ <option value="" selected="selected"><?php echo esc_html( 'Bulk Actions', 'buddypress' ); ?></option>
108
 
109
  <?php if ( bp_is_current_action( 'unread' ) ) : ?>
110
+ <option value="read"><?php echo esc_html_x( 'Mark read', 'button', 'buddypress' ); ?></option>
111
  <?php elseif ( bp_is_current_action( 'read' ) ) : ?>
112
+ <option value="unread"><?php echo esc_html_x( 'Mark unread', 'button', 'buddypress' ); ?></option>
113
  <?php endif; ?>
114
+ <option value="delete"><?php echo esc_html_x( 'Delete', 'button', 'buddypress' ); ?></option>
115
  </select>
116
 
117
  <span class="select-arrow"></span>
118
 
119
  </div><!-- // .select-wrap -->
120
 
121
+ <input type="submit" id="notification-bulk-manage" class="button action" value="<?php echo esc_attr_x( 'Apply', 'button', 'buddypress' ); ?>">
122
  <?php
123
  }
bp-templates/bp-nouveau/includes/template-tags.php CHANGED
@@ -3,7 +3,7 @@
3
  * Common template tags
4
  *
5
  * @since 3.0.0
6
- * @version 3.0.0
7
  */
8
 
9
  // Exit if accessed directly.
@@ -2177,11 +2177,11 @@ function bp_nouveau_get_customizer_link( $args = array() ) {
2177
  function bp_nouveau_signup_hook( $when = '', $prefix = '' ) {
2178
  $hook = array( 'bp' );
2179
 
2180
- if ( ! $when ) {
2181
  $hook[] = $when;
2182
  }
2183
 
2184
- if ( ! $prefix ) {
2185
  if ( 'page' === $prefix ) {
2186
  $hook[] = 'register';
2187
  } elseif ( 'steps' === $prefix ) {
@@ -2241,21 +2241,25 @@ function bp_nouveau_signup_form( $section = 'account_details' ) {
2241
  }
2242
 
2243
  foreach ( $fields as $name => $attributes ) {
2244
- $classes = '';
2245
-
2246
  list( $label, $required, $value, $attribute_type, $type, $class ) = array_values( $attributes );
2247
 
2248
- if ( $required ) {
2249
- $required = ' ' . _x( '(required)', 'signup required field', 'buddypress' );
2250
- }
2251
-
2252
  // Text fields are using strings, radios are using their inputs
2253
  $label_output = '<label for="%1$s">%2$s</label>';
2254
  $id = $name;
 
 
 
 
 
 
2255
 
2256
  // Output the label for regular fields
2257
  if ( 'radio' !== $type ) {
2258
- printf( $label_output, esc_attr( $name ), esc_html( sprintf( $label, $required ) ) );
 
 
 
 
2259
 
2260
  if ( ! empty( $value ) && is_callable( $value ) ) {
2261
  $value = call_user_func( $value );
@@ -2415,15 +2419,24 @@ function bp_nouveau_submit_button( $action ) {
2415
  do_action( $submit_data['before'] );
2416
  }
2417
 
2418
- // Output the submit button.
2419
- printf(
2420
- '<div class="submit">
2421
- <input type="submit" %s/>
2422
- </div>',
2423
  bp_get_form_field_attributes( 'submit', $submit_data['attributes'] ) // Safe.
2424
  );
2425
 
2426
- wp_nonce_field( $submit_data['nonce'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
2427
 
2428
  if ( ! empty( $submit_data['after'] ) ) {
2429
 
3
  * Common template tags
4
  *
5
  * @since 3.0.0
6
+ * @version 3.1.0
7
  */
8
 
9
  // Exit if accessed directly.
2177
  function bp_nouveau_signup_hook( $when = '', $prefix = '' ) {
2178
  $hook = array( 'bp' );
2179
 
2180
+ if ( $when ) {
2181
  $hook[] = $when;
2182
  }
2183
 
2184
+ if ( $prefix ) {
2185
  if ( 'page' === $prefix ) {
2186
  $hook[] = 'register';
2187
  } elseif ( 'steps' === $prefix ) {
2241
  }
2242
 
2243
  foreach ( $fields as $name => $attributes ) {
 
 
2244
  list( $label, $required, $value, $attribute_type, $type, $class ) = array_values( $attributes );
2245
 
 
 
 
 
2246
  // Text fields are using strings, radios are using their inputs
2247
  $label_output = '<label for="%1$s">%2$s</label>';
2248
  $id = $name;
2249
+ $classes = '';
2250
+
2251
+ if ( $required ) {
2252
+ /* translators: Do not translate placeholders. 2 = form field name, 3 = "(required)". */
2253
+ $label_output = __( '<label for="%1$s">%2$s %3$s</label>', 'buddypress' );
2254
+ }
2255
 
2256
  // Output the label for regular fields
2257
  if ( 'radio' !== $type ) {
2258
+ if ( $required ) {
2259
+ printf( $label_output, esc_attr( $name ), esc_html( $label ), __( '(required)', 'buddypress' ) );
2260
+ } else {
2261
+ printf( $label_output, esc_attr( $name ), esc_html( $label ) );
2262
+ }
2263
 
2264
  if ( ! empty( $value ) && is_callable( $value ) ) {
2265
  $value = call_user_func( $value );
2419
  do_action( $submit_data['before'] );
2420
  }
2421
 
2422
+ $submit_input = sprintf( '<input type="submit" %s/>',
 
 
 
 
2423
  bp_get_form_field_attributes( 'submit', $submit_data['attributes'] ) // Safe.
2424
  );
2425
 
2426
+ // Output the submit button.
2427
+ if ( isset( $submit_data['wrapper'] ) && false === $submit_data['wrapper'] ) {
2428
+ echo $submit_input;
2429
+
2430
+ // Output the submit button into a wrapper.
2431
+ } else {
2432
+ printf( '<div class="submit">%s</div>', $submit_input );
2433
+ }
2434
+
2435
+ if ( empty( $submit_data['nonce_key'] ) ) {
2436
+ wp_nonce_field( $submit_data['nonce'] );
2437
+ } else {
2438
+ wp_nonce_field( $submit_data['nonce'], $submit_data['nonce_key'] );
2439
+ }
2440
 
2441
  if ( ! empty( $submit_data['after'] ) ) {
2442
 
bp-templates/bp-nouveau/js/buddypress-activity-post-form.js CHANGED
@@ -1,5 +1,5 @@
1
  /* global bp, BP_Nouveau, _, Backbone */
2
- /* @version 3.0.0 */
3
  window.wp = window.wp || {};
4
  window.bp = window.bp || {};
5
 
@@ -535,7 +535,7 @@ window.bp = window.bp || {};
535
  type : 'reset',
536
  id : 'aw-whats-new-reset',
537
  className : 'text-button small',
538
- value : 'Cancel'
539
  } );
540
 
541
  var submit = new bp.Views.ActivityInput( {
@@ -543,7 +543,7 @@ window.bp = window.bp || {};
543
  id : 'aw-whats-new-submit',
544
  className : 'button',
545
  name : 'aw-whats-new-submit',
546
- value : 'Post Update'
547
  } );
548
 
549
  this.views.set( [ submit, reset ] );
1
  /* global bp, BP_Nouveau, _, Backbone */
2
+ /* @version 3.1.0 */
3
  window.wp = window.wp || {};
4
  window.bp = window.bp || {};
5
 
535
  type : 'reset',
536
  id : 'aw-whats-new-reset',
537
  className : 'text-button small',
538
+ value : BP_Nouveau.activity.strings.cancelButton
539
  } );
540
 
541
  var submit = new bp.Views.ActivityInput( {
543
  id : 'aw-whats-new-submit',
544
  className : 'button',
545
  name : 'aw-whats-new-submit',
546
+ value : BP_Nouveau.activity.strings.postUpdateButton
547
  } );
548
 
549
  this.views.set( [ submit, reset ] );
bp-templates/bp-nouveau/js/buddypress-activity-post-form.min.js CHANGED
@@ -1 +1 @@
1
- window.wp=window.wp||{},window.bp=window.bp||{},function(e,t){bp.Nouveau=bp.Nouveau||{},void 0!==bp.Nouveau.Activity&&"undefined"!=typeof BP_Nouveau&&(_.extend(bp,_.pick(wp,"Backbone","ajax","template")),bp.Models=bp.Models||{},bp.Collections=bp.Collections||{},bp.Views=bp.Views||{},bp.Nouveau.Activity.postForm={start:function(){this.views=new Backbone.Collection,this.ActivityObjects=new bp.Collections.ActivityObjects,this.buttons=new Backbone.Collection,this.postFormView()},postFormView:function(){if(t("#bp-nouveau-activity-form").length){var e=new bp.Views.PostForm;this.views.add({id:"post_form",view:e}),e.inject("#bp-nouveau-activity-form")}}},void 0===bp.View&&(bp.View=bp.Backbone.View.extend({inject:function(e){this.render(),t(e).html(this.el),this.views.ready()},prepare:function(){return!_.isUndefined(this.model)&&_.isFunction(this.model.toJSON)?this.model.toJSON():{}}})),bp.Models.Activity=Backbone.Model.extend({defaults:{user_id:0,item_id:0,object:"",content:""}}),bp.Models.ActivityObject=Backbone.Model.extend({defaults:{id:0,name:"",avatar_url:"",object_type:"group"}}),bp.Collections.ActivityObjects=Backbone.Collection.extend({model:bp.Models.ActivityObject,sync:function(e,t,i){if("read"===e)return i=i||{},i.context=this,i.data=_.extend(i.data||{},{action:"bp_nouveau_get_activity_objects"}),bp.ajax.send(i)},parse:function(e){return _.isArray(e)||(e=[e]),e}}),bp.Views.activityFeedback=bp.View.extend({tagName:"div",id:"message",template:bp.template("activity-post-form-feedback"),initialize:function(){this.model=new Backbone.Model,this.options.value&&this.model.set("message",this.options.value,{silent:!0}),this.type="info",_.isUndefined(this.options.type)||"info"===this.options.type||(this.type=this.options.type),this.el.className="bp-messages bp-feedback "+this.type}}),bp.Views.ActivityInput=bp.View.extend({tagName:"input",attributes:{type:"text"},initialize:function(){_.isObject(this.options)&&_.each(this.options,function(e,t){this.$el.prop(t,e)},this)}}),bp.Views.WhatsNew=bp.View.extend({tagName:"textarea",className:"bp-suggestions",id:"whats-new",attributes:{name:"whats-new",cols:"50",rows:"4",placeholder:BP_Nouveau.activity.strings.whatsnewPlaceholder,"aria-label":BP_Nouveau.activity.strings.whatsnewLabel},initialize:function(){this.on("ready",this.adjustContent,this),this.options.activity.on("change:content",this.resetContent,this)},adjustContent:function(){this.$el.css({resize:"none",height:"50px"});var e=bp.Nouveau.getLinkParams(null,"r")||null;_.isNull(e)||(this.$el.text("@"+_.escape(e)+" "),this.$el.focus())},resetContent:function(e){_.isUndefined(e)||this.$el.val(e.get("content"))}}),bp.Views.WhatsNewPostIn=bp.View.extend({tagName:"select",id:"whats-new-post-in",attributes:{name:"whats-new-post-in","aria-label":BP_Nouveau.activity.strings.whatsnewpostinLabel},events:{change:"change"},keys:[],initialize:function(){this.model=new Backbone.Model,this.filters=this.options.filters||{},this.$el.html(_.chain(this.filters).map(function(e,i){return{el:t("<option></option>").val(i).html(e.text)[0],priority:e.priority||50}},this).sortBy("priority").pluck("el").value())},change:function(){var e=this.filters[this.el.value];e&&this.model.set({selected:this.el.value,placeholder:e.autocomplete_placeholder})}}),bp.Views.Item=bp.View.extend({tagName:"li",className:"bp-activity-object",template:bp.template("activity-target-item"),attributes:{role:"checkbox"},initialize:function(){this.model.get("selected")&&(this.el.className+=" selected")},events:{click:"setObject"},setObject:function(e){e.preventDefault(),!0===this.model.get("selected")?this.model.clear():this.model.set("selected",!0)}}),bp.Views.AutoComplete=bp.View.extend({tagName:"ul",id:"whats-new-post-in-box-items",events:{keyup:"autoComplete"},initialize:function(){var e=new bp.Views.ActivityInput({type:"text",id:"activity-autocomplete",placeholder:this.options.placeholder||""}).render();this.$el.prepend(t("<li></li>").html(e.$el)),this.on("ready",this.setFocus,this),this.collection.on("add",this.addItemView,this),this.collection.on("reset",this.cleanView,this)},setFocus:function(){this.$el.find("#activity-autocomplete").focus()},addItemView:function(e){this.views.add(new bp.Views.Item({model:e}))},autoComplete:function(){var e=t("#activity-autocomplete").val();this.collection.reset(),2>e.length||this.collection.fetch({data:{type:this.options.type,search:e,nonce:BP_Nouveau.nonces.activity},success:_.bind(this.itemFetched,this),error:_.bind(this.itemFetched,this)})},itemFetched:function(e){e.length||this.cleanView()},cleanView:function(){_.each(this.views._views[""],function(e){e.remove()})}}),bp.Views.FormAvatar=bp.View.extend({tagName:"div",id:"whats-new-avatar",template:bp.template("activity-post-form-avatar"),initialize:function(){this.model=new Backbone.Model(_.pick(BP_Nouveau.activity.params,["user_id","avatar_url","avatar_width","avatar_height","avatar_alt","user_domain"])),this.model.has("avatar_url")&&this.model.set("display_avatar",!0)}}),bp.Views.FormContent=bp.View.extend({tagName:"div",id:"whats-new-content",initialize:function(){this.$el.html(t("<div></div>").prop("id","whats-new-textarea")),this.views.set("#whats-new-textarea",new bp.Views.WhatsNew({activity:this.options.activity}))}}),bp.Views.FormOptions=bp.View.extend({tagName:"div",id:"whats-new-options",template:bp.template("activity-post-form-options")}),bp.Views.FormTarget=bp.View.extend({tagName:"div",id:"whats-new-post-in-box",className:"in-profile",initialize:function(){var e=new bp.Views.WhatsNewPostIn({filters:BP_Nouveau.activity.params.objects});this.views.add(e),e.model.on("change",this.attachAutocomplete,this),bp.Nouveau.Activity.postForm.ActivityObjects.on("change:selected",this.postIn,this)},attachAutocomplete:function(e){0!==bp.Nouveau.Activity.postForm.ActivityObjects.models.length&&bp.Nouveau.Activity.postForm.ActivityObjects.reset(),_.each(this.views._views[""],function(e){_.isUndefined(e.collection)||e.remove()}),"profile"!==e.get("selected")?(this.views.add(new bp.Views.AutoComplete({collection:bp.Nouveau.Activity.postForm.ActivityObjects,type:e.get("selected"),placeholder:e.get("placeholder")})),this.model.set("object",e.get("selected"))):this.model.set({object:"user",item_id:0}),this.updateDisplay()},postIn:function(e){if(_.isUndefined(e.get("id")))return this.model.set("item_id",0),void this.attachAutocomplete(new Backbone.Model({selected:this.model.get("object")}));this.model.set("item_id",e.get("id")),this.views.set("#whats-new-post-in-box-items",new bp.Views.Item({model:e}))},updateDisplay:function(){"user"!==this.model.get("object")?this.$el.removeClass():this.$el.hasClass("in-profile")||this.$el.addClass("in-profile")}}),bp.Views.FormButtons=bp.View.extend({tagName:"div",id:"whats-new-actions",initialize:function(){this.views.add(new bp.View({tagName:"ul",id:"whats-new-buttons"})),_.each(this.collection.models,function(e){this.addItemView(e)},this),this.collection.on("change:active",this.isActive,this)},addItemView:function(e){this.views.add("#whats-new-buttons",new bp.Views.FormButton({model:e}))},isActive:function(e){_.each(this.views._views[""],function(e,t){0!==t&&e.remove()}),!0===e.get("active")?(_.each(this.views._views["#whats-new-buttons"],function(t){t.model.get("id")!==e.get("id")&&(t.model.set("active",!1,{silent:!0}),t.$el.removeClass("active"),this.collection.trigger("reset:"+t.model.get("id"),this.model))},this),this.collection.trigger("display:"+e.get("id"),this)):this.collection.trigger("reset:"+e.get("id"),this.model)}}),bp.Views.FormButton=bp.View.extend({tagName:"li",className:"whats-new-button",template:bp.template("activity-post-form-buttons"),events:{click:"setActive"},setActive:function(e){var t=this.model.get("active")||!1;e.preventDefault(),!1===t?(this.$el.addClass("active"),this.model.set("active",!0)):(this.$el.removeClass("active"),this.model.set("active",!1))}}),bp.Views.FormSubmit=bp.View.extend({tagName:"div",id:"whats-new-submit",className:"in-profile",initialize:function(){var e=new bp.Views.ActivityInput({type:"reset",id:"aw-whats-new-reset",className:"text-button small",value:"Cancel"}),t=new bp.Views.ActivityInput({type:"submit",id:"aw-whats-new-submit",className:"button",name:"aw-whats-new-submit",value:"Post Update"});this.views.set([t,e]),this.model.on("change:object",this.updateDisplay,this)},updateDisplay:function(e){_.isUndefined(e)||("user"!==e.get("object")?this.$el.removeClass("in-profile"):this.$el.hasClass("in-profile")||this.$el.addClass("in-profile"))}}),bp.Views.PostForm=bp.View.extend({tagName:"form",className:"activity-form",id:"whats-new-form",attributes:{name:"whats-new-form",method:"post"},events:{"focus #whats-new":"displayFull",reset:"resetForm",submit:"postUpdate",keydown:"postUpdate"},initialize:function(){this.model=new bp.Models.Activity(_.pick(BP_Nouveau.activity.params,["user_id","item_id","object"])),this.resetModel=this.model.clone(),this.views.set([new bp.Views.FormAvatar,new bp.Views.FormContent({activity:this.model})]),this.model.on("change:errors",this.displayFeedback,this)},displayFull:function(e){this.cleanFeedback(),2===this.views._views[""].length&&(t(e.target).css({resize:"vertical",height:"auto"}),!0===BP_Nouveau.activity.params.backcompat&&this.views.add(new bp.Views.FormOptions({model:this.model})),_.isUndefined(BP_Nouveau.activity.params.buttons)||(bp.Nouveau.Activity.postForm.buttons.set(BP_Nouveau.activity.params.buttons),this.views.add(new bp.Views.FormButtons({collection:bp.Nouveau.Activity.postForm.buttons,model:this.model}))),!_.isUndefined(BP_Nouveau.activity.params.objects)&&1<_.keys(BP_Nouveau.activity.params.objects).length&&this.views.add(new bp.Views.FormTarget({model:this.model})),this.views.add(new bp.Views.FormSubmit({model:this.model})))},resetForm:function(){_.each(this.views._views[""],function(e,t){t>1&&e.remove()}),t("#whats-new").css({resize:"none",height:"50px"}),this.model.clear(),this.model.set(this.resetModel.attributes)},cleanFeedback:function(){_.each(this.views._views[""],function(e){"message"===e.$el.prop("id")&&e.remove()})},displayFeedback:function(e){_.isUndefined(this.model.get("errors"))?this.cleanFeedback():this.views.add(new bp.Views.activityFeedback(e.get("errors")))},postUpdate:function(e){var i=this,s={};if(e){if("keydown"===e.type&&(13!==e.keyCode||!e.ctrlKey))return e;e.preventDefault()}_.each(this.$el.serializeArray(),function(e){e.name=e.name.replace("[]",""),"whats-new"===e.name?i.model.set("content",e.value):-1===_.indexOf(["aw-whats-new-submit","whats-new-post-in"],e.name)&&(_.isUndefined(s[e.name])?s[e.name]=e.value:(_.isArray(s[e.name])||(s[e.name]=[s[e.name]]),s[e.name].push(e.value)))}),this.model.set(s,{silent:!0});var a={_wpnonce_post_update:BP_Nouveau.activity.params.post_nonce};t("#_bp_as_nonce").val()&&(a._bp_as_nonce=t("#_bp_as_nonce").val()),bp.ajax.post("post_update",_.extend(a,this.model.attributes)).done(function(e){var s=bp.Nouveau.getStorage("bp-activity"),a=t('[data-bp-search="activity"] input[type="search"]').val(),o={},n=!1;a&&(a=new RegExp(a,"im"),o=e.activity.match(a)),a&&!o||(n=!s.filter||0===parseInt(s.filter,10)||"activity_update"===s.filter),n&&e.is_directory&&(n="all"===s.scope&&("user"===i.model.get("object")||!1===e.is_private)||i.model.get("object")+"s"===s.scope),i.resetForm(),n?t("#activity-"+e.id).length||(t("#activity-stream ul.activity-list").length||t("#activity-stream").html(t("<ul></ul>").addClass("activity-list item-list bp-list")),bp.Nouveau.inject("#activity-stream ul.activity-list",e.activity,"prepend")):i.views.add(new bp.Views.activityFeedback({value:e.message,type:"updated"}))}).fail(function(e){i.model.set("errors",{type:"error",value:e.message})})}}),bp.Nouveau.Activity.postForm.start())}(bp,jQuery);
1
+ window.wp=window.wp||{},window.bp=window.bp||{},function(e,t){bp.Nouveau=bp.Nouveau||{},void 0!==bp.Nouveau.Activity&&"undefined"!=typeof BP_Nouveau&&(_.extend(bp,_.pick(wp,"Backbone","ajax","template")),bp.Models=bp.Models||{},bp.Collections=bp.Collections||{},bp.Views=bp.Views||{},bp.Nouveau.Activity.postForm={start:function(){this.views=new Backbone.Collection,this.ActivityObjects=new bp.Collections.ActivityObjects,this.buttons=new Backbone.Collection,this.postFormView()},postFormView:function(){if(t("#bp-nouveau-activity-form").length){var e=new bp.Views.PostForm;this.views.add({id:"post_form",view:e}),e.inject("#bp-nouveau-activity-form")}}},void 0===bp.View&&(bp.View=bp.Backbone.View.extend({inject:function(e){this.render(),t(e).html(this.el),this.views.ready()},prepare:function(){return!_.isUndefined(this.model)&&_.isFunction(this.model.toJSON)?this.model.toJSON():{}}})),bp.Models.Activity=Backbone.Model.extend({defaults:{user_id:0,item_id:0,object:"",content:""}}),bp.Models.ActivityObject=Backbone.Model.extend({defaults:{id:0,name:"",avatar_url:"",object_type:"group"}}),bp.Collections.ActivityObjects=Backbone.Collection.extend({model:bp.Models.ActivityObject,sync:function(e,t,i){if("read"===e)return i=i||{},i.context=this,i.data=_.extend(i.data||{},{action:"bp_nouveau_get_activity_objects"}),bp.ajax.send(i)},parse:function(e){return _.isArray(e)||(e=[e]),e}}),bp.Views.activityFeedback=bp.View.extend({tagName:"div",id:"message",template:bp.template("activity-post-form-feedback"),initialize:function(){this.model=new Backbone.Model,this.options.value&&this.model.set("message",this.options.value,{silent:!0}),this.type="info",_.isUndefined(this.options.type)||"info"===this.options.type||(this.type=this.options.type),this.el.className="bp-messages bp-feedback "+this.type}}),bp.Views.ActivityInput=bp.View.extend({tagName:"input",attributes:{type:"text"},initialize:function(){_.isObject(this.options)&&_.each(this.options,function(e,t){this.$el.prop(t,e)},this)}}),bp.Views.WhatsNew=bp.View.extend({tagName:"textarea",className:"bp-suggestions",id:"whats-new",attributes:{name:"whats-new",cols:"50",rows:"4",placeholder:BP_Nouveau.activity.strings.whatsnewPlaceholder,"aria-label":BP_Nouveau.activity.strings.whatsnewLabel},initialize:function(){this.on("ready",this.adjustContent,this),this.options.activity.on("change:content",this.resetContent,this)},adjustContent:function(){this.$el.css({resize:"none",height:"50px"});var e=bp.Nouveau.getLinkParams(null,"r")||null;_.isNull(e)||(this.$el.text("@"+_.escape(e)+" "),this.$el.focus())},resetContent:function(e){_.isUndefined(e)||this.$el.val(e.get("content"))}}),bp.Views.WhatsNewPostIn=bp.View.extend({tagName:"select",id:"whats-new-post-in",attributes:{name:"whats-new-post-in","aria-label":BP_Nouveau.activity.strings.whatsnewpostinLabel},events:{change:"change"},keys:[],initialize:function(){this.model=new Backbone.Model,this.filters=this.options.filters||{},this.$el.html(_.chain(this.filters).map(function(e,i){return{el:t("<option></option>").val(i).html(e.text)[0],priority:e.priority||50}},this).sortBy("priority").pluck("el").value())},change:function(){var e=this.filters[this.el.value];e&&this.model.set({selected:this.el.value,placeholder:e.autocomplete_placeholder})}}),bp.Views.Item=bp.View.extend({tagName:"li",className:"bp-activity-object",template:bp.template("activity-target-item"),attributes:{role:"checkbox"},initialize:function(){this.model.get("selected")&&(this.el.className+=" selected")},events:{click:"setObject"},setObject:function(e){e.preventDefault(),!0===this.model.get("selected")?this.model.clear():this.model.set("selected",!0)}}),bp.Views.AutoComplete=bp.View.extend({tagName:"ul",id:"whats-new-post-in-box-items",events:{keyup:"autoComplete"},initialize:function(){var e=new bp.Views.ActivityInput({type:"text",id:"activity-autocomplete",placeholder:this.options.placeholder||""}).render();this.$el.prepend(t("<li></li>").html(e.$el)),this.on("ready",this.setFocus,this),this.collection.on("add",this.addItemView,this),this.collection.on("reset",this.cleanView,this)},setFocus:function(){this.$el.find("#activity-autocomplete").focus()},addItemView:function(e){this.views.add(new bp.Views.Item({model:e}))},autoComplete:function(){var e=t("#activity-autocomplete").val();this.collection.reset(),2>e.length||this.collection.fetch({data:{type:this.options.type,search:e,nonce:BP_Nouveau.nonces.activity},success:_.bind(this.itemFetched,this),error:_.bind(this.itemFetched,this)})},itemFetched:function(e){e.length||this.cleanView()},cleanView:function(){_.each(this.views._views[""],function(e){e.remove()})}}),bp.Views.FormAvatar=bp.View.extend({tagName:"div",id:"whats-new-avatar",template:bp.template("activity-post-form-avatar"),initialize:function(){this.model=new Backbone.Model(_.pick(BP_Nouveau.activity.params,["user_id","avatar_url","avatar_width","avatar_height","avatar_alt","user_domain"])),this.model.has("avatar_url")&&this.model.set("display_avatar",!0)}}),bp.Views.FormContent=bp.View.extend({tagName:"div",id:"whats-new-content",initialize:function(){this.$el.html(t("<div></div>").prop("id","whats-new-textarea")),this.views.set("#whats-new-textarea",new bp.Views.WhatsNew({activity:this.options.activity}))}}),bp.Views.FormOptions=bp.View.extend({tagName:"div",id:"whats-new-options",template:bp.template("activity-post-form-options")}),bp.Views.FormTarget=bp.View.extend({tagName:"div",id:"whats-new-post-in-box",className:"in-profile",initialize:function(){var e=new bp.Views.WhatsNewPostIn({filters:BP_Nouveau.activity.params.objects});this.views.add(e),e.model.on("change",this.attachAutocomplete,this),bp.Nouveau.Activity.postForm.ActivityObjects.on("change:selected",this.postIn,this)},attachAutocomplete:function(e){0!==bp.Nouveau.Activity.postForm.ActivityObjects.models.length&&bp.Nouveau.Activity.postForm.ActivityObjects.reset(),_.each(this.views._views[""],function(e){_.isUndefined(e.collection)||e.remove()}),"profile"!==e.get("selected")?(this.views.add(new bp.Views.AutoComplete({collection:bp.Nouveau.Activity.postForm.ActivityObjects,type:e.get("selected"),placeholder:e.get("placeholder")})),this.model.set("object",e.get("selected"))):this.model.set({object:"user",item_id:0}),this.updateDisplay()},postIn:function(e){if(_.isUndefined(e.get("id")))return this.model.set("item_id",0),void this.attachAutocomplete(new Backbone.Model({selected:this.model.get("object")}));this.model.set("item_id",e.get("id")),this.views.set("#whats-new-post-in-box-items",new bp.Views.Item({model:e}))},updateDisplay:function(){"user"!==this.model.get("object")?this.$el.removeClass():this.$el.hasClass("in-profile")||this.$el.addClass("in-profile")}}),bp.Views.FormButtons=bp.View.extend({tagName:"div",id:"whats-new-actions",initialize:function(){this.views.add(new bp.View({tagName:"ul",id:"whats-new-buttons"})),_.each(this.collection.models,function(e){this.addItemView(e)},this),this.collection.on("change:active",this.isActive,this)},addItemView:function(e){this.views.add("#whats-new-buttons",new bp.Views.FormButton({model:e}))},isActive:function(e){_.each(this.views._views[""],function(e,t){0!==t&&e.remove()}),!0===e.get("active")?(_.each(this.views._views["#whats-new-buttons"],function(t){t.model.get("id")!==e.get("id")&&(t.model.set("active",!1,{silent:!0}),t.$el.removeClass("active"),this.collection.trigger("reset:"+t.model.get("id"),this.model))},this),this.collection.trigger("display:"+e.get("id"),this)):this.collection.trigger("reset:"+e.get("id"),this.model)}}),bp.Views.FormButton=bp.View.extend({tagName:"li",className:"whats-new-button",template:bp.template("activity-post-form-buttons"),events:{click:"setActive"},setActive:function(e){var t=this.model.get("active")||!1;e.preventDefault(),!1===t?(this.$el.addClass("active"),this.model.set("active",!0)):(this.$el.removeClass("active"),this.model.set("active",!1))}}),bp.Views.FormSubmit=bp.View.extend({tagName:"div",id:"whats-new-submit",className:"in-profile",initialize:function(){var e=new bp.Views.ActivityInput({type:"reset",id:"aw-whats-new-reset",className:"text-button small",value:BP_Nouveau.activity.strings.cancelButton}),t=new bp.Views.ActivityInput({type:"submit",id:"aw-whats-new-submit",className:"button",name:"aw-whats-new-submit",value:BP_Nouveau.activity.strings.postUpdateButton});this.views.set([t,e]),this.model.on("change:object",this.updateDisplay,this)},updateDisplay:function(e){_.isUndefined(e)||("user"!==e.get("object")?this.$el.removeClass("in-profile"):this.$el.hasClass("in-profile")||this.$el.addClass("in-profile"))}}),bp.Views.PostForm=bp.View.extend({tagName:"form",className:"activity-form",id:"whats-new-form",attributes:{name:"whats-new-form",method:"post"},events:{"focus #whats-new":"displayFull",reset:"resetForm",submit:"postUpdate",keydown:"postUpdate"},initialize:function(){this.model=new bp.Models.Activity(_.pick(BP_Nouveau.activity.params,["user_id","item_id","object"])),this.resetModel=this.model.clone(),this.views.set([new bp.Views.FormAvatar,new bp.Views.FormContent({activity:this.model})]),this.model.on("change:errors",this.displayFeedback,this)},displayFull:function(e){this.cleanFeedback(),2===this.views._views[""].length&&(t(e.target).css({resize:"vertical",height:"auto"}),!0===BP_Nouveau.activity.params.backcompat&&this.views.add(new bp.Views.FormOptions({model:this.model})),_.isUndefined(BP_Nouveau.activity.params.buttons)||(bp.Nouveau.Activity.postForm.buttons.set(BP_Nouveau.activity.params.buttons),this.views.add(new bp.Views.FormButtons({collection:bp.Nouveau.Activity.postForm.buttons,model:this.model}))),!_.isUndefined(BP_Nouveau.activity.params.objects)&&1<_.keys(BP_Nouveau.activity.params.objects).length&&this.views.add(new bp.Views.FormTarget({model:this.model})),this.views.add(new bp.Views.FormSubmit({model:this.model})))},resetForm:function(){_.each(this.views._views[""],function(e,t){t>1&&e.remove()}),t("#whats-new").css({resize:"none",height:"50px"}),this.model.clear(),this.model.set(this.resetModel.attributes)},cleanFeedback:function(){_.each(this.views._views[""],function(e){"message"===e.$el.prop("id")&&e.remove()})},displayFeedback:function(e){_.isUndefined(this.model.get("errors"))?this.cleanFeedback():this.views.add(new bp.Views.activityFeedback(e.get("errors")))},postUpdate:function(e){var i=this,s={};if(e){if("keydown"===e.type&&(13!==e.keyCode||!e.ctrlKey))return e;e.preventDefault()}_.each(this.$el.serializeArray(),function(e){e.name=e.name.replace("[]",""),"whats-new"===e.name?i.model.set("content",e.value):-1===_.indexOf(["aw-whats-new-submit","whats-new-post-in"],e.name)&&(_.isUndefined(s[e.name])?s[e.name]=e.value:(_.isArray(s[e.name])||(s[e.name]=[s[e.name]]),s[e.name].push(e.value)))}),this.model.set(s,{silent:!0});var a={_wpnonce_post_update:BP_Nouveau.activity.params.post_nonce};t("#_bp_as_nonce").val()&&(a._bp_as_nonce=t("#_bp_as_nonce").val()),bp.ajax.post("post_update",_.extend(a,this.model.attributes)).done(function(e){var s=bp.Nouveau.getStorage("bp-activity"),a=t('[data-bp-search="activity"] input[type="search"]').val(),o={},n=!1;a&&(a=new RegExp(a,"im"),o=e.activity.match(a)),a&&!o||(n=!s.filter||0===parseInt(s.filter,10)||"activity_update"===s.filter),n&&e.is_directory&&(n="all"===s.scope&&("user"===i.model.get("object")||!1===e.is_private)||i.model.get("object")+"s"===s.scope),i.resetForm(),n?t("#activity-"+e.id).length||(t("#activity-stream ul.activity-list").length||t("#activity-stream").html(t("<ul></ul>").addClass("activity-list item-list bp-list")),bp.Nouveau.inject("#activity-stream ul.activity-list",e.activity,"prepend")):i.views.add(new bp.Views.activityFeedback({value:e.message,type:"updated"}))}).fail(function(e){i.model.set("errors",{type:"error",value:e.message})})}}),bp.Nouveau.Activity.postForm.start())}(bp,jQuery);
bp-templates/bp-nouveau/js/buddypress-activity.js CHANGED
@@ -1,6 +1,6 @@
1
  /* jshint browser: true */
2
  /* global bp, BP_Nouveau */
3
- /* @version 3.0.0 */
4
  window.bp = window.bp || {};
5
 
6
  ( function( exports, $ ) {
@@ -351,7 +351,7 @@ window.bp = window.bp || {};
351
  } );
352
 
353
  // If all parents are hidden, reveal at least one. It seems very risky to manipulate the DOM to keep exactly 5 comments!
354
- if ( $( comment_parents ).children( '.bp-hidden' ).length === $( comment_parents ).children( 'li' ).length - 1 && $( comment_parents ).find( 'li.show-all' ) ) {
355
  $( comment_parents ).children( 'li' ).removeClass( 'bp-hidden' ).toggle();
356
  }
357
  } );
1
  /* jshint browser: true */
2
  /* global bp, BP_Nouveau */
3
+ /* @version 3.1.0 */
4
  window.bp = window.bp || {};
5
 
6
  ( function( exports, $ ) {
351
  } );
352
 
353
  // If all parents are hidden, reveal at least one. It seems very risky to manipulate the DOM to keep exactly 5 comments!
354
+ if ( $( comment_parents ).children( '.bp-hidden' ).length === $( comment_parents ).children( 'li' ).length - 1 && $( comment_parents ).find( 'li.show-all' ).length ) {
355
  $( comment_parents ).children( 'li' ).removeClass( 'bp-hidden' ).toggle();
356
  }
357
  } );
bp-templates/bp-nouveau/js/buddypress-activity.min.js CHANGED
@@ -1 +1 @@
1
- window.bp=window.bp||{},function(t,a){"undefined"!=typeof BP_Nouveau&&(bp.Nouveau=bp.Nouveau||{},bp.Nouveau.Activity={start:function(){this.setupGlobals(),this.addListeners()},setupGlobals:function(){this.just_posted=[],this.current_page=1,this.mentions_count=Number(a(bp.Nouveau.objectNavParent+' [data-bp-scope="mentions"]').find("a span").html())||0,this.heartbeat_data={newest:"",highlights:{},last_recorded:0,first_recorded:0,document_title:a(document).prop("title")}},addListeners:function(){a("#buddypress").on("bp_heartbeat_send",this.heartbeatSend.bind(this)),a("#buddypress").on("bp_heartbeat_tick",this.heartbeatTick.bind(this)),a('#buddypress [data-bp-list="activity"]').on("click","li.load-newest, li.load-more",this.injectActivities.bind(this)),a("#buddypress").on("bp_ajax_request",'[data-bp-list="activity"]',this.scopeLoaded.bind(this)),a('#buddypress [data-bp-list="activity"]').on("bp_ajax_append",this.hideComments),a('#buddypress [data-bp-list="activity"]').on("click",".show-all",this.showComments),a('#buddypress [data-bp-list="activity"]').on("click",".activity-item",bp.Nouveau,this.activityActions),a(document).keydown(this.commentFormAction)},heartbeatSend:function(t,e){this.heartbeat_data.first_recorded=a("#buddypress [data-bp-list] [data-bp-activity-id]").first().data("bp-timestamp")||0,(0===this.heartbeat_data.last_recorded||this.heartbeat_data.first_recorded>this.heartbeat_data.last_recorded)&&(this.heartbeat_data.last_recorded=this.heartbeat_data.first_recorded),e.bp_activity_last_recorded=this.heartbeat_data.last_recorded,a("#buddypress .dir-search input[type=search]").length&&(e.bp_activity_last_recorded_search_terms=a("#buddypress .dir-search input[type=search]").val()),a.extend(e,{bp_heartbeat:bp.Nouveau.getStorage("bp-activity")})},heartbeatTick:function(t,e){var i,s,n=bp.Nouveau.objects,d=bp.Nouveau.getStorage("bp-activity","scope"),o=this;if(void 0!==e&&e.bp_activity_newest_activities){if(this.heartbeat_data.newest=a.trim(e.bp_activity_newest_activities.activities)+this.heartbeat_data.newest,this.heartbeat_data.last_recorded=Number(e.bp_activity_newest_activities.last_recorded),s=a(this.heartbeat_data.newest).filter(".activity-item"),i=Number(s.length),n.push("mentions"),"all"===d){a.each(s,function(t,e){e=a(e),a.each(n,function(t,i){-1!==a.inArray("bp-my-"+i,e.get(0).classList)&&(void 0===o.heartbeat_data.highlights[i]?o.heartbeat_data.highlights[i]=[e.data("bp-activity-id")]:-1===a.inArray(e.data("bp-activity-id"),o.heartbeat_data.highlights[i])&&o.heartbeat_data.highlights[i].push(e.data("bp-activity-id")))})});var r=new RegExp("bp-my-("+n.join("|")+")","g");this.heartbeat_data.newest=this.heartbeat_data.newest.replace(r,""),a(bp.Nouveau.objectNavParent+' [data-bp-scope="all"]').find("a span").html(i)}else this.heartbeat_data.highlights[d]=[],a.each(s,function(t,e){o.heartbeat_data.highlights[d].push(a(e).data("bp-activity-id"))});if(a.each(n,function(t,e){if(void 0!==o.heartbeat_data.highlights[e]&&o.heartbeat_data.highlights[e].length){var i=0;"mentions"===e&&(i=o.mentions_count),a(bp.Nouveau.objectNavParent+' [data-bp-scope="'+e+'"]').find("a span").html(Number(o.heartbeat_data.highlights[e].length)+i)}}),n.pop(),a(document).prop("title","("+i+") "+this.heartbeat_data.document_title),a('#buddypress [data-bp-list="activity"] li').first().hasClass("load-newest")){var c=a('#buddypress [data-bp-list="activity"] .load-newest a').html();a('#buddypress [data-bp-list="activity"] .load-newest a').html(c.replace(/([0-9]+)/,i))}else a('#buddypress [data-bp-list="activity"] ul.activity-list').prepend('<li class="load-newest"><a href="#newest">'+BP_Nouveau.newest+" ("+i+")</a></li>");a('#buddypress [data-bp-list="activity"]').trigger("bp_heartbeat_pending",this.heartbeat_data)}},injectActivities:function(t){var e=bp.Nouveau.getStorage("bp-activity"),i=e.scope||null,s=e.filter||null;if(a(t.currentTarget).hasClass("load-newest")){t.preventDefault(),a(t.currentTarget).remove();var n=a.parseHTML(this.heartbeat_data.newest);a.each(n,function(t,e){"LI"===e.nodeName&&a(e).hasClass("just-posted")&&a("#"+a(e).prop("id")).length&&a("#"+a(e).prop("id")).remove()}),a(t.delegateTarget).find(".activity-list").prepend(this.heartbeat_data.newest).trigger("bp_heartbeat_prepend",this.heartbeat_data),this.heartbeat_data.newest="","all"===i&&a(bp.Nouveau.objectNavParent+' [data-bp-scope="all"]').find("a span").html(""),"mentions"===i&&(bp.Nouveau.ajax({action:"activity_clear_new_mentions"},"activity"),this.mentions_count=0),a(bp.Nouveau.objectNavParent+' [data-bp-scope="'+i+'"]').find("a span").html(""),void 0!==this.heartbeat_data.highlights[i]&&(this.heartbeat_data.highlights[i]=[]),setTimeout(function(){a(t.delegateTarget).find("[data-bp-activity-id]").removeClass("newest_"+i+"_activity")},3e3),a(document).prop("title",this.heartbeat_data.document_title)}else if(a(t.currentTarget).hasClass("load-more")){var d=1*Number(this.current_page)+1,o=this,r="";t.preventDefault(),a(t.currentTarget).find("a").first().addClass("loading"),this.just_posted=[],a(t.delegateTarget).children(".just-posted").each(function(){o.just_posted.push(a(this).data("bp-activity-id"))}),a("#buddypress .dir-search input[type=search]").length&&(r=a("#buddypress .dir-search input[type=search]").val()),bp.Nouveau.objectRequest({object:"activity",scope:i,filter:s,search_terms:r,page:d,method:"append",exclude_just_posted:this.just_posted.join(","),target:"#buddypress [data-bp-list] ul.bp-list"}).done(function(e){!0===e.success&&(a(t.currentTarget).remove(),o.current_page=d)})}},hideComments:function(t){var e,i,s,n,d=a(t.target).find(".activity-comments");d.length&&d.each(function(t,d){n=a(d).children("ul"),(i=a(n).find("li")).length&&(e=a(d).closest(".activity-item"),s=a("#acomment-comment-"+e.data("bp-activity-id")+" span.comment-count").html()||" ",i.each(function(t,n){t<i.length-5&&(a(n).addClass("bp-hidden").hide(),t||a(n).before('<li class="show-all"><button class="text-button" type="button" data-bp-show-comments-id="#'+e.prop("id")+'/show-all/"><span class="icon dashicons dashicons-visibility" aria-hidden="true"></span> '+BP_Nouveau.show_x_comments.replace("%d",s)+"</button></li>"))}),a(n).children(".bp-hidden").length===a(n).children("li").length-1&&a(n).find("li.show-all")&&a(n).children("li").removeClass("bp-hidden").toggle())})},showComments:function(t){t.preventDefault(),a(t.target).addClass("loading"),setTimeout(function(){a(t.target).closest("ul").find("li").removeClass("bp-hidden").fadeIn(300,function(){a(t.target).parent("li").remove()})},600)},scopeLoaded:function(t,e){this.hideComments(t),this.current_page=1,"mentions"===e.scope&&void 0!==e.response.new_mentions?(a.each(e.response.new_mentions,function(t,e){a("#buddypress #activity-stream").find('[data-bp-activity-id="'+e+'"]').addClass("newest_mentions_activity")}),this.mentions_count=0):void 0!==this.heartbeat_data.highlights[e.scope]&&this.heartbeat_data.highlights[e.scope].length&&a.each(this.heartbeat_data.highlights[e.scope],function(t,i){a("#buddypress #activity-stream").find('[data-bp-activity-id="'+i+'"]').length&&a("#buddypress #activity-stream").find('[data-bp-activity-id="'+i+'"]').addClass("newest_"+e.scope+"_activity")}),this.heartbeat_data.newest="",a.each(a(bp.Nouveau.objectNavParent+" [data-bp-scope]").find("a span"),function(t,e){0===parseInt(a(e).html(),10)&&a(e).html("")}),void 0!==this.heartbeat_data.highlights[e.scope]&&(this.heartbeat_data.highlights[e.scope]=[]),a(document).prop("title",this.heartbeat_data.document_title),setTimeout(function(){a("#buddypress #activity-stream .activity-item").removeClass("newest_"+e.scope+"_activity")},3e3)},activityActions:function(t){var e,i,s=t.data,n=a(t.target),d=a(t.currentTarget),o=d.data("bp-activity-id"),r=a(t.delegateTarget);if(a(n).is("span")&&(n=a(n).closest("a")),n.hasClass("fav")||n.hasClass("unfav")){var c=n.hasClass("fav")?"fav":"unfav";t.preventDefault(),n.addClass("loading"),s.ajax({action:"activity_mark_"+c,id:o},"activity").done(function(t){if(n.removeClass("loading"),!1!==t.success)if(n.fadeOut(200,function(){a(this).find("span").first().length?a(this).find("span").first().html(t.data.content):a(this).html(t.data.content),a(this).prop("title",t.data.content),"false"===a(this).attr("aria-pressed")?a(this).attr("aria-pressed","true"):a(this).attr("aria-pressed","false"),a(this).fadeIn(200)}),"fav"===c)void 0!==t.data.directory_tab&&(a(s.objectNavParent+' [data-bp-scope="favorites"]').length||a(s.objectNavParent+' [data-bp-scope="all"]').after(t.data.directory_tab)),n.removeClass("fav"),n.addClass("unfav");else if("unfav"===c){var e=a('[data-bp-user-scope="favorites"]').hasClass("selected")||a(s.objectNavParent+' [data-bp-scope="favorites"]').hasClass("selected");e&&d.remove(),void 0!==t.data.no_favorite&&(a(s.objectNavParent+' [data-bp-scope="all"]').length&&a(s.objectNavParent+' [data-bp-scope="all"]').hasClass("selected")?a(s.objectNavParent+' [data-bp-scope="favorites"]').remove():e&&r.append(t.data.no_favorite)),n.removeClass("unfav"),n.addClass("fav")}})}if(n.hasClass("delete-activity")||n.hasClass("acomment-delete")||n.hasClass("spam-activity")||n.hasClass("spam-activity-comment")){var l,p,h,b,m=n.closest("[data-bp-activity-comment-id]"),u=m.data("bp-activity-comment-id"),v=0;if(t.preventDefault(),void 0!==BP_Nouveau.confirm&&!1===window.confirm(BP_Nouveau.confirm))return!1;n.addClass("loading");var _={action:"delete_activity",id:o,_wpnonce:s.getLinkParams(n.prop("href"),"_wpnonce"),is_single:n.closest("[data-bp-single]").length};(n.hasClass("spam-activity")||n.hasClass("spam-activity-comment"))&&(_.action="bp_spam_activity"),l=d,u&&(delete _.is_single,_.id=u,_.is_comment=!0,l=m),s.ajax(_,"activity").done(function(t){if(n.removeClass("loading"),!1===t.success)l.prepend(t.data.feedback),l.find(".bp-feedback").hide().fadeIn(300);else{if(t.data.redirect)return window.location.href=t.data.redirect;u&&(v=1,d.append(m.find("form")),a.each(m.find("li"),function(){v+=1}),p=d.find(".acomment-reply span.comment-count"),h=Number(p.html()-v),p.html(h),(b=d.find("li.show-all a")).length&&b.html(BP_Nouveau.show_x_comments.replace("%d",h)),0===h&&d.removeClass("has-comments")),l.slideUp(300,function(){l.remove()}),u||d.data("bp-timestamp")!==s.Activity.heartbeat_data.last_recorded||(s.Activity.heartbeat_data.newest="",s.Activity.heartbeat_data.last_recorded=0)}})}if(n.closest("span").hasClass("activity-read-more")){var f=n.closest("div"),y=n.closest("span");if(e=null,a(f).hasClass("activity-inner")?e=o:a(f).hasClass("acomment-content")&&(e=n.closest("li").data("bp-activity-comment-id")),!e)return t;t.preventDefault(),a(y).addClass("loading"),s.ajax({action:"get_single_activity_content",id:e},"activity").done(function(t){a(y).removeClass("loading"),f.parent().find(".bp-feedback").length&&f.parent().find(".bp-feedback").remove(),!1===t.success?(f.after(t.data.feedback),f.parent().find(".bp-feedback").hide().fadeIn(300)):a(f).slideUp(300).html(t.data.contents).slideDown(300)})}if(n.hasClass("acomment-reply")||n.parent().hasClass("acomment-reply")){i=a("#ac-form-"+o),e=o,t.preventDefault(),n.parent().hasClass("acomment-reply")&&n.parent(),n.closest("li").data("bp-activity-comment-id")&&(e=n.closest("li").data("bp-activity-comment-id")),i.removeClass("root"),a(".ac-form").hide(),a.each(i.children("div"),function(t,e){a(e).hasClass("error")&&a(e).remove()}),e===o?(a('[data-bp-activity-id="'+e+'"] .activity-comments').append(i),i.addClass("root")):a('[data-bp-activity-comment-id="'+e+'"]').append(i),i.slideDown(200),n.attr("aria-expanded","true"),a.scrollTo(i,500,{offset:-100,easing:"swing"}),a("#ac-form-"+o+" textarea").focus()}if(n.hasClass("ac-reply-cancel")&&(a(n).closest(".ac-form").slideUp(200),a(".acomment-reply").attr("aria-expanded","false"),t.preventDefault()),"ac_form_submit"===n.prop("name")){var g,w;i=n.closest("form"),e=o,t.preventDefault(),n.closest("li").data("bp-activity-comment-id")&&(e=n.closest("li").data("bp-activity-comment-id")),g=a(i).find("textarea").first(),n.addClass("loading").prop("disabled",!0),g.addClass("loading").prop("disabled",!0),w={action:"new_activity_comment",_wpnonce_new_activity_comment:a("#_wpnonce_new_activity_comment").val(),comment_id:e,form_id:o,content:g.val()},a("#_bp_as_nonce_"+o).val()&&(w["_bp_as_nonce_"+o]=a("#_bp_as_nonce_"+o).val()),s.ajax(w,"activity").done(function(t){if(n.removeClass("loading"),g.removeClass("loading"),a(".acomment-reply").attr("aria-expanded","false"),!1===t.success)i.append(a(t.data.feedback).hide().fadeIn(200));else{var e=i.parent(),s=a.trim(t.data.contents);i.fadeOut(200,function(){0===e.children("ul").length&&(e.hasClass("activity-comments")?e.prepend("<ul></ul>"):e.append("<ul></ul>")),e.children("ul").append(a(s).hide().fadeIn(200)),a(i).find("textarea").first().val(""),e.parent().addClass("has-comments")}),h=Number(a(d).find("a span.comment-count").html()||0)+1,a(d).find("a span.comment-count").html(h),(b=a(d).find(".show-all a"))&&b.html(BP_Nouveau.show_x_comments.replace("%d",h))}n.prop("disabled",!1),g.prop("disabled",!1)})}},commentFormAction:function(t){var e,i;return t=t||window.event,t.target?e=t.target:t.srcElement&&(e=t.srcElement),3===e.nodeType&&(e=e.parentNode),!0===t.altKey||!0===t.metaKey?t:"TEXTAREA"===e.tagName&&a(e).hasClass("ac-input")?void(27===(i=t.keyCode?t.keyCode:t.which)&&!1===t.ctrlKey?"TEXTAREA"===e.tagName&&a(e).closest("form").slideUp(200):t.ctrlKey&&13===i&&a(e).val()&&a(e).closest("form").find("[type=submit]").first().trigger("click")):t}},bp.Nouveau.Activity.start())}(bp,jQuery);
1
+ window.bp=window.bp||{},function(t,a){"undefined"!=typeof BP_Nouveau&&(bp.Nouveau=bp.Nouveau||{},bp.Nouveau.Activity={start:function(){this.setupGlobals(),this.addListeners()},setupGlobals:function(){this.just_posted=[],this.current_page=1,this.mentions_count=Number(a(bp.Nouveau.objectNavParent+' [data-bp-scope="mentions"]').find("a span").html())||0,this.heartbeat_data={newest:"",highlights:{},last_recorded:0,first_recorded:0,document_title:a(document).prop("title")}},addListeners:function(){a("#buddypress").on("bp_heartbeat_send",this.heartbeatSend.bind(this)),a("#buddypress").on("bp_heartbeat_tick",this.heartbeatTick.bind(this)),a('#buddypress [data-bp-list="activity"]').on("click","li.load-newest, li.load-more",this.injectActivities.bind(this)),a("#buddypress").on("bp_ajax_request",'[data-bp-list="activity"]',this.scopeLoaded.bind(this)),a('#buddypress [data-bp-list="activity"]').on("bp_ajax_append",this.hideComments),a('#buddypress [data-bp-list="activity"]').on("click",".show-all",this.showComments),a('#buddypress [data-bp-list="activity"]').on("click",".activity-item",bp.Nouveau,this.activityActions),a(document).keydown(this.commentFormAction)},heartbeatSend:function(t,e){this.heartbeat_data.first_recorded=a("#buddypress [data-bp-list] [data-bp-activity-id]").first().data("bp-timestamp")||0,(0===this.heartbeat_data.last_recorded||this.heartbeat_data.first_recorded>this.heartbeat_data.last_recorded)&&(this.heartbeat_data.last_recorded=this.heartbeat_data.first_recorded),e.bp_activity_last_recorded=this.heartbeat_data.last_recorded,a("#buddypress .dir-search input[type=search]").length&&(e.bp_activity_last_recorded_search_terms=a("#buddypress .dir-search input[type=search]").val()),a.extend(e,{bp_heartbeat:bp.Nouveau.getStorage("bp-activity")})},heartbeatTick:function(t,e){var i,s,n=bp.Nouveau.objects,d=bp.Nouveau.getStorage("bp-activity","scope"),o=this;if(void 0!==e&&e.bp_activity_newest_activities){if(this.heartbeat_data.newest=a.trim(e.bp_activity_newest_activities.activities)+this.heartbeat_data.newest,this.heartbeat_data.last_recorded=Number(e.bp_activity_newest_activities.last_recorded),s=a(this.heartbeat_data.newest).filter(".activity-item"),i=Number(s.length),n.push("mentions"),"all"===d){a.each(s,function(t,e){e=a(e),a.each(n,function(t,i){-1!==a.inArray("bp-my-"+i,e.get(0).classList)&&(void 0===o.heartbeat_data.highlights[i]?o.heartbeat_data.highlights[i]=[e.data("bp-activity-id")]:-1===a.inArray(e.data("bp-activity-id"),o.heartbeat_data.highlights[i])&&o.heartbeat_data.highlights[i].push(e.data("bp-activity-id")))})});var r=new RegExp("bp-my-("+n.join("|")+")","g");this.heartbeat_data.newest=this.heartbeat_data.newest.replace(r,""),a(bp.Nouveau.objectNavParent+' [data-bp-scope="all"]').find("a span").html(i)}else this.heartbeat_data.highlights[d]=[],a.each(s,function(t,e){o.heartbeat_data.highlights[d].push(a(e).data("bp-activity-id"))});if(a.each(n,function(t,e){if(void 0!==o.heartbeat_data.highlights[e]&&o.heartbeat_data.highlights[e].length){var i=0;"mentions"===e&&(i=o.mentions_count),a(bp.Nouveau.objectNavParent+' [data-bp-scope="'+e+'"]').find("a span").html(Number(o.heartbeat_data.highlights[e].length)+i)}}),n.pop(),a(document).prop("title","("+i+") "+this.heartbeat_data.document_title),a('#buddypress [data-bp-list="activity"] li').first().hasClass("load-newest")){var c=a('#buddypress [data-bp-list="activity"] .load-newest a').html();a('#buddypress [data-bp-list="activity"] .load-newest a').html(c.replace(/([0-9]+)/,i))}else a('#buddypress [data-bp-list="activity"] ul.activity-list').prepend('<li class="load-newest"><a href="#newest">'+BP_Nouveau.newest+" ("+i+")</a></li>");a('#buddypress [data-bp-list="activity"]').trigger("bp_heartbeat_pending",this.heartbeat_data)}},injectActivities:function(t){var e=bp.Nouveau.getStorage("bp-activity"),i=e.scope||null,s=e.filter||null;if(a(t.currentTarget).hasClass("load-newest")){t.preventDefault(),a(t.currentTarget).remove();var n=a.parseHTML(this.heartbeat_data.newest);a.each(n,function(t,e){"LI"===e.nodeName&&a(e).hasClass("just-posted")&&a("#"+a(e).prop("id")).length&&a("#"+a(e).prop("id")).remove()}),a(t.delegateTarget).find(".activity-list").prepend(this.heartbeat_data.newest).trigger("bp_heartbeat_prepend",this.heartbeat_data),this.heartbeat_data.newest="","all"===i&&a(bp.Nouveau.objectNavParent+' [data-bp-scope="all"]').find("a span").html(""),"mentions"===i&&(bp.Nouveau.ajax({action:"activity_clear_new_mentions"},"activity"),this.mentions_count=0),a(bp.Nouveau.objectNavParent+' [data-bp-scope="'+i+'"]').find("a span").html(""),void 0!==this.heartbeat_data.highlights[i]&&(this.heartbeat_data.highlights[i]=[]),setTimeout(function(){a(t.delegateTarget).find("[data-bp-activity-id]").removeClass("newest_"+i+"_activity")},3e3),a(document).prop("title",this.heartbeat_data.document_title)}else if(a(t.currentTarget).hasClass("load-more")){var d=1*Number(this.current_page)+1,o=this,r="";t.preventDefault(),a(t.currentTarget).find("a").first().addClass("loading"),this.just_posted=[],a(t.delegateTarget).children(".just-posted").each(function(){o.just_posted.push(a(this).data("bp-activity-id"))}),a("#buddypress .dir-search input[type=search]").length&&(r=a("#buddypress .dir-search input[type=search]").val()),bp.Nouveau.objectRequest({object:"activity",scope:i,filter:s,search_terms:r,page:d,method:"append",exclude_just_posted:this.just_posted.join(","),target:"#buddypress [data-bp-list] ul.bp-list"}).done(function(e){!0===e.success&&(a(t.currentTarget).remove(),o.current_page=d)})}},hideComments:function(t){var e,i,s,n,d=a(t.target).find(".activity-comments");d.length&&d.each(function(t,d){n=a(d).children("ul"),(i=a(n).find("li")).length&&(e=a(d).closest(".activity-item"),s=a("#acomment-comment-"+e.data("bp-activity-id")+" span.comment-count").html()||" ",i.each(function(t,n){t<i.length-5&&(a(n).addClass("bp-hidden").hide(),t||a(n).before('<li class="show-all"><button class="text-button" type="button" data-bp-show-comments-id="#'+e.prop("id")+'/show-all/"><span class="icon dashicons dashicons-visibility" aria-hidden="true"></span> '+BP_Nouveau.show_x_comments.replace("%d",s)+"</button></li>"))}),a(n).children(".bp-hidden").length===a(n).children("li").length-1&&a(n).find("li.show-all").length&&a(n).children("li").removeClass("bp-hidden").toggle())})},showComments:function(t){t.preventDefault(),a(t.target).addClass("loading"),setTimeout(function(){a(t.target).closest("ul").find("li").removeClass("bp-hidden").fadeIn(300,function(){a(t.target).parent("li").remove()})},600)},scopeLoaded:function(t,e){this.hideComments(t),this.current_page=1,"mentions"===e.scope&&void 0!==e.response.new_mentions?(a.each(e.response.new_mentions,function(t,e){a("#buddypress #activity-stream").find('[data-bp-activity-id="'+e+'"]').addClass("newest_mentions_activity")}),this.mentions_count=0):void 0!==this.heartbeat_data.highlights[e.scope]&&this.heartbeat_data.highlights[e.scope].length&&a.each(this.heartbeat_data.highlights[e.scope],function(t,i){a("#buddypress #activity-stream").find('[data-bp-activity-id="'+i+'"]').length&&a("#buddypress #activity-stream").find('[data-bp-activity-id="'+i+'"]').addClass("newest_"+e.scope+"_activity")}),this.heartbeat_data.newest="",a.each(a(bp.Nouveau.objectNavParent+" [data-bp-scope]").find("a span"),function(t,e){0===parseInt(a(e).html(),10)&&a(e).html("")}),void 0!==this.heartbeat_data.highlights[e.scope]&&(this.heartbeat_data.highlights[e.scope]=[]),a(document).prop("title",this.heartbeat_data.document_title),setTimeout(function(){a("#buddypress #activity-stream .activity-item").removeClass("newest_"+e.scope+"_activity")},3e3)},activityActions:function(t){var e,i,s=t.data,n=a(t.target),d=a(t.currentTarget),o=d.data("bp-activity-id"),r=a(t.delegateTarget);if(a(n).is("span")&&(n=a(n).closest("a")),n.hasClass("fav")||n.hasClass("unfav")){var c=n.hasClass("fav")?"fav":"unfav";t.preventDefault(),n.addClass("loading"),s.ajax({action:"activity_mark_"+c,id:o},"activity").done(function(t){if(n.removeClass("loading"),!1!==t.success)if(n.fadeOut(200,function(){a(this).find("span").first().length?a(this).find("span").first().html(t.data.content):a(this).html(t.data.content),a(this).prop("title",t.data.content),"false"===a(this).attr("aria-pressed")?a(this).attr("aria-pressed","true"):a(this).attr("aria-pressed","false"),a(this).fadeIn(200)}),"fav"===c)void 0!==t.data.directory_tab&&(a(s.objectNavParent+' [data-bp-scope="favorites"]').length||a(s.objectNavParent+' [data-bp-scope="all"]').after(t.data.directory_tab)),n.removeClass("fav"),n.addClass("unfav");else if("unfav"===c){var e=a('[data-bp-user-scope="favorites"]').hasClass("selected")||a(s.objectNavParent+' [data-bp-scope="favorites"]').hasClass("selected");e&&d.remove(),void 0!==t.data.no_favorite&&(a(s.objectNavParent+' [data-bp-scope="all"]').length&&a(s.objectNavParent+' [data-bp-scope="all"]').hasClass("selected")?a(s.objectNavParent+' [data-bp-scope="favorites"]').remove():e&&r.append(t.data.no_favorite)),n.removeClass("unfav"),n.addClass("fav")}})}if(n.hasClass("delete-activity")||n.hasClass("acomment-delete")||n.hasClass("spam-activity")||n.hasClass("spam-activity-comment")){var l,p,h,b,m=n.closest("[data-bp-activity-comment-id]"),u=m.data("bp-activity-comment-id"),v=0;if(t.preventDefault(),void 0!==BP_Nouveau.confirm&&!1===window.confirm(BP_Nouveau.confirm))return!1;n.addClass("loading");var _={action:"delete_activity",id:o,_wpnonce:s.getLinkParams(n.prop("href"),"_wpnonce"),is_single:n.closest("[data-bp-single]").length};(n.hasClass("spam-activity")||n.hasClass("spam-activity-comment"))&&(_.action="bp_spam_activity"),l=d,u&&(delete _.is_single,_.id=u,_.is_comment=!0,l=m),s.ajax(_,"activity").done(function(t){if(n.removeClass("loading"),!1===t.success)l.prepend(t.data.feedback),l.find(".bp-feedback").hide().fadeIn(300);else{if(t.data.redirect)return window.location.href=t.data.redirect;u&&(v=1,d.append(m.find("form")),a.each(m.find("li"),function(){v+=1}),p=d.find(".acomment-reply span.comment-count"),h=Number(p.html()-v),p.html(h),(b=d.find("li.show-all a")).length&&b.html(BP_Nouveau.show_x_comments.replace("%d",h)),0===h&&d.removeClass("has-comments")),l.slideUp(300,function(){l.remove()}),u||d.data("bp-timestamp")!==s.Activity.heartbeat_data.last_recorded||(s.Activity.heartbeat_data.newest="",s.Activity.heartbeat_data.last_recorded=0)}})}if(n.closest("span").hasClass("activity-read-more")){var f=n.closest("div"),y=n.closest("span");if(e=null,a(f).hasClass("activity-inner")?e=o:a(f).hasClass("acomment-content")&&(e=n.closest("li").data("bp-activity-comment-id")),!e)return t;t.preventDefault(),a(y).addClass("loading"),s.ajax({action:"get_single_activity_content",id:e},"activity").done(function(t){a(y).removeClass("loading"),f.parent().find(".bp-feedback").length&&f.parent().find(".bp-feedback").remove(),!1===t.success?(f.after(t.data.feedback),f.parent().find(".bp-feedback").hide().fadeIn(300)):a(f).slideUp(300).html(t.data.contents).slideDown(300)})}if(n.hasClass("acomment-reply")||n.parent().hasClass("acomment-reply")){i=a("#ac-form-"+o),e=o,t.preventDefault(),n.parent().hasClass("acomment-reply")&&n.parent(),n.closest("li").data("bp-activity-comment-id")&&(e=n.closest("li").data("bp-activity-comment-id")),i.removeClass("root"),a(".ac-form").hide(),a.each(i.children("div"),function(t,e){a(e).hasClass("error")&&a(e).remove()}),e===o?(a('[data-bp-activity-id="'+e+'"] .activity-comments').append(i),i.addClass("root")):a('[data-bp-activity-comment-id="'+e+'"]').append(i),i.slideDown(200),n.attr("aria-expanded","true"),a.scrollTo(i,500,{offset:-100,easing:"swing"}),a("#ac-form-"+o+" textarea").focus()}if(n.hasClass("ac-reply-cancel")&&(a(n).closest(".ac-form").slideUp(200),a(".acomment-reply").attr("aria-expanded","false"),t.preventDefault()),"ac_form_submit"===n.prop("name")){var g,w;i=n.closest("form"),e=o,t.preventDefault(),n.closest("li").data("bp-activity-comment-id")&&(e=n.closest("li").data("bp-activity-comment-id")),g=a(i).find("textarea").first(),n.addClass("loading").prop("disabled",!0),g.addClass("loading").prop("disabled",!0),w={action:"new_activity_comment",_wpnonce_new_activity_comment:a("#_wpnonce_new_activity_comment").val(),comment_id:e,form_id:o,content:g.val()},a("#_bp_as_nonce_"+o).val()&&(w["_bp_as_nonce_"+o]=a("#_bp_as_nonce_"+o).val()),s.ajax(w,"activity").done(function(t){if(n.removeClass("loading"),g.removeClass("loading"),a(".acomment-reply").attr("aria-expanded","false"),!1===t.success)i.append(a(t.data.feedback).hide().fadeIn(200));else{var e=i.parent(),s=a.trim(t.data.contents);i.fadeOut(200,function(){0===e.children("ul").length&&(e.hasClass("activity-comments")?e.prepend("<ul></ul>"):e.append("<ul></ul>")),e.children("ul").append(a(s).hide().fadeIn(200)),a(i).find("textarea").first().val(""),e.parent().addClass("has-comments")}),h=Number(a(d).find("a span.comment-count").html()||0)+1,a(d).find("a span.comment-count").html(h),(b=a(d).find(".show-all a"))&&b.html(BP_Nouveau.show_x_comments.replace("%d",h))}n.prop("disabled",!1),g.prop("disabled",!1)})}},commentFormAction:function(t){var e,i;return t=t||window.event,t.target?e=t.target:t.srcElement&&(e=t.srcElement),3===e.nodeType&&(e=e.parentNode),!0===t.altKey||!0===t.metaKey?t:"TEXTAREA"===e.tagName&&a(e).hasClass("ac-input")?void(27===(i=t.keyCode?t.keyCode:t.which)&&!1===t.ctrlKey?"TEXTAREA"===e.tagName&&a(e).closest("form").slideUp(200):t.ctrlKey&&13===i&&a(e).val()&&a(e).closest("form").find("[type=submit]").first().trigger("click")):t}},bp.Nouveau.Activity.start())}(bp,jQuery);
bp-templates/bp-nouveau/js/buddypress-messages.js CHANGED
@@ -1,6 +1,6 @@
1
  /* global wp, bp, BP_Nouveau, _, Backbone, tinymce, tinyMCE */
2
  /* jshint devel: true */
3
- /* @version 3.0.0 */
4
  window.wp = window.wp || {};
5
  window.bp = window.bp || {};
6
 
@@ -37,7 +37,10 @@ window.bp = window.bp || {};
37
 
38
  this.setupNav();
39
 
40
- Backbone.history.start();
 
 
 
41
  },
42
 
43
  setupNav: function() {
@@ -69,11 +72,11 @@ window.bp = window.bp || {};
69
  }
70
 
71
  // Navigate back to current box
72
- self.router.navigate( self.box, { trigger: true } );
73
 
74
  // Otherwise load it
75
  } else {
76
- self.router.navigate( 'compose', { trigger: true } );
77
  }
78
 
79
  // Other views are classic.
@@ -82,7 +85,7 @@ window.bp = window.bp || {};
82
  if ( self.box !== view_id || ! _.isUndefined( self.views.get( 'compose' ) ) ) {
83
  self.clearViews();
84
 
85
- self.router.navigate( view_id, { trigger: true } );
86
  }
87
  }
88
  } );
@@ -351,6 +354,13 @@ window.bp = window.bp || {};
351
  this.options.box = bp.Nouveau.Messages.box;
352
  }
353
 
 
 
 
 
 
 
 
354
  return resp.threads;
355
  },
356
 
@@ -463,6 +473,24 @@ window.bp = window.bp || {};
463
  }
464
  } );
465
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
466
  bp.Views.messageEditor = bp.Nouveau.Messages.View.extend( {
467
  template : bp.template( 'bp-messages-editor' ),
468
 
@@ -616,7 +644,7 @@ window.bp = window.bp || {};
616
  form.get( 'view' ).remove();
617
  bp.Nouveau.Messages.views.remove( { id: 'compose', view: form } );
618
 
619
- bp.Nouveau.Messages.router.navigate( 'sentbox', { trigger: true } );
620
  } ).fail( function( response ) {
621
  if ( response.feedback ) {
622
  bp.Nouveau.Messages.displayFeedback( response.feedback, response.type );
@@ -639,11 +667,14 @@ window.bp = window.bp || {};
639
  },
640
 
641
  initialize: function() {
642
- // Add the threads parent view
643
- this.views.add( new bp.Nouveau.Messages.View( { tagName: 'ul', id: 'message-threads', className: 'message-lists' } ) );
 
 
644
 
645
- // Add the preview Active Thread view
646
- this.views.add( new bp.Views.previewThread( { collection: this.collection } ) );
 
647
 
648
  // Load threads for the active view
649
  this.requestThreads();
@@ -659,7 +690,7 @@ window.bp = window.bp || {};
659
 
660
  this.collection.fetch( {
661
  data : _.pick( this.options, 'box' ),
662
- success : this.threadsFetched,
663
  error : this.threadsFetchError
664
  } );
665
  },
@@ -667,6 +698,16 @@ window.bp = window.bp || {};
667
  threadsFetched: function() {
668
  bp.Nouveau.Messages.removeFeedback();
669
 
 
 
 
 
 
 
 
 
 
 
670
  // Inform the user about how to use the UI.
671
  bp.Nouveau.Messages.displayFeedback( BP_Nouveau.messages.howto, 'info' );
672
  },
@@ -712,8 +753,11 @@ window.bp = window.bp || {};
712
  bp.Nouveau.Messages.removeFeedback();
713
 
714
  // If the click is done on an active conversation, open it.
715
- if ( $( event.currentTarget ).closest( '.thread-item' ).hasClass( 'selected' ) ) {
716
- this.loadSingleView( event );
 
 
 
717
 
718
  // Otherwise activate the conversation and display its preview.
719
  } else {
@@ -721,15 +765,6 @@ window.bp = window.bp || {};
721
 
722
  $( '.message-action-view' ).focus();
723
  }
724
- },
725
-
726
- loadSingleView: function( event ) {
727
- event.preventDefault();
728
-
729
- bp.Nouveau.Messages.router.navigate(
730
- 'view/' + $( event.currentTarget ).closest( '.thread-content' ).data( 'thread-id' ),
731
- { trigger: true }
732
- );
733
  }
734
  } );
735
 
@@ -895,7 +930,17 @@ window.bp = window.bp || {};
895
 
896
  mid = model.get( 'id' );
897
 
898
- if ( 'star' === action || 'unstar' === action ) {
 
 
 
 
 
 
 
 
 
 
899
  options.data = {
900
  'star_nonce' : model.get( 'star_nonce' )
901
  };
@@ -1323,11 +1368,11 @@ window.bp = window.bp || {};
1323
 
1324
  bp.Nouveau.Messages.Router = Backbone.Router.extend( {
1325
  routes: {
1326
- 'compose' : 'composeMessage',
1327
- 'view/:id': 'viewMessage',
1328
- 'sentbox' : 'sentboxView',
1329
- 'starred' : 'starredView',
1330
- 'inbox' : 'inboxView',
1331
  '' : 'inboxView'
1332
  },
1333
 
1
  /* global wp, bp, BP_Nouveau, _, Backbone, tinymce, tinyMCE */
2
  /* jshint devel: true */
3
+ /* @version 3.1.0 */
4
  window.wp = window.wp || {};
5
  window.bp = window.bp || {};
6
 
37
 
38
  this.setupNav();
39
 
40
+ Backbone.history.start( {
41
+ pushState: true,
42
+ root: BP_Nouveau.messages.rootUrl
43
+ } );
44
  },
45
 
46
  setupNav: function() {
72
  }
73
 
74
  // Navigate back to current box
75
+ self.router.navigate( self.box + '/', { trigger: true } );
76
 
77
  // Otherwise load it
78
  } else {
79
+ self.router.navigate( 'compose/', { trigger: true } );
80
  }
81
 
82
  // Other views are classic.
85
  if ( self.box !== view_id || ! _.isUndefined( self.views.get( 'compose' ) ) ) {
86
  self.clearViews();
87
 
88
+ self.router.navigate( view_id + '/', { trigger: true } );
89
  }
90
  }
91
  } );
354
  this.options.box = bp.Nouveau.Messages.box;
355
  }
356
 
357
+ if ( ! _.isUndefined( resp.extraContent ) ) {
358
+ _.extend( this.options, _.pick( resp.extraContent, [
359
+ 'beforeLoop',
360
+ 'afterLoop'
361
+ ] ) );
362
+ }
363
+
364
  return resp.threads;
365
  },
366
 
473
  }
474
  } );
475
 
476
+ // Hook view
477
+ bp.Views.Hook = bp.Nouveau.Messages.View.extend( {
478
+ tagName: 'div',
479
+ template : bp.template( 'bp-messages-hook' ),
480
+
481
+ initialize: function() {
482
+ this.model = new Backbone.Model( {
483
+ extraContent: this.options.extraContent
484
+ } );
485
+
486
+ this.el.className = 'bp-messages-hook';
487
+
488
+ if ( this.options.className ) {
489
+ this.el.className += ' ' + this.options.className;
490
+ }
491
+ }
492
+ } );
493
+
494
  bp.Views.messageEditor = bp.Nouveau.Messages.View.extend( {
495
  template : bp.template( 'bp-messages-editor' ),
496
 
644
  form.get( 'view' ).remove();
645
  bp.Nouveau.Messages.views.remove( { id: 'compose', view: form } );
646
 
647
+ bp.Nouveau.Messages.router.navigate( 'sentbox/', { trigger: true } );
648
  } ).fail( function( response ) {
649
  if ( response.feedback ) {
650
  bp.Nouveau.Messages.displayFeedback( response.feedback, response.type );
667
  },
668
 
669
  initialize: function() {
670
+ var Views = [
671
+ new bp.Nouveau.Messages.View( { tagName: 'ul', id: 'message-threads', className: 'message-lists' } ),
672
+ new bp.Views.previewThread( { collection: this.collection } )
673
+ ];
674
 
675
+ _.each( Views, function( view ) {
676
+ this.views.add( view );
677
+ }, this );
678
 
679
  // Load threads for the active view
680
  this.requestThreads();
690
 
691
  this.collection.fetch( {
692
  data : _.pick( this.options, 'box' ),
693
+ success : _.bind( this.threadsFetched, this ),
694
  error : this.threadsFetchError
695
  } );
696
  },
698
  threadsFetched: function() {
699
  bp.Nouveau.Messages.removeFeedback();
700
 
701
+ // Display the bp_after_member_messages_loop hook.
702
+ if ( this.collection.options.afterLoop ) {
703
+ this.views.add( new bp.Views.Hook( { extraContent: this.collection.options.afterLoop, className: 'after-messages-loop' } ), { at: 1 } );
704
+ }
705
+
706
+ // Display the bp_before_member_messages_loop hook.
707
+ if ( this.collection.options.beforeLoop ) {
708
+ this.views.add( new bp.Views.Hook( { extraContent: this.collection.options.beforeLoop, className: 'before-messages-loop' } ), { at: 0 } );
709
+ }
710
+
711
  // Inform the user about how to use the UI.
712
  bp.Nouveau.Messages.displayFeedback( BP_Nouveau.messages.howto, 'info' );
713
  },
753
  bp.Nouveau.Messages.removeFeedback();
754
 
755
  // If the click is done on an active conversation, open it.
756
+ if ( target.closest( '.thread-item' ).hasClass( 'selected' ) ) {
757
+ bp.Nouveau.Messages.router.navigate(
758
+ 'view/' + target.closest( '.thread-content' ).data( 'thread-id' ) + '/',
759
+ { trigger: true }
760
+ );
761
 
762
  // Otherwise activate the conversation and display its preview.
763
  } else {
765
 
766
  $( '.message-action-view' ).focus();
767
  }
 
 
 
 
 
 
 
 
 
768
  }
769
  } );
770
 
930
 
931
  mid = model.get( 'id' );
932
 
933
+ // Open the full conversation
934
+ if ( 'view' === action ) {
935
+ bp.Nouveau.Messages.router.navigate(
936
+ 'view/' + mid + '/',
937
+ { trigger: true }
938
+ );
939
+
940
+ return;
941
+
942
+ // Star/Unstar actions needs to use a specific id and nonce.
943
+ } else if ( 'star' === action || 'unstar' === action ) {
944
  options.data = {
945
  'star_nonce' : model.get( 'star_nonce' )
946
  };
1368
 
1369
  bp.Nouveau.Messages.Router = Backbone.Router.extend( {
1370
  routes: {
1371
+ 'compose/' : 'composeMessage',
1372
+ 'view/:id/': 'viewMessage',
1373
+ 'sentbox/' : 'sentboxView',
1374
+ 'starred/' : 'starredView',
1375
+ 'inbox/' : 'inboxView',
1376
  '' : 'inboxView'
1377
  },
1378
 
bp-templates/bp-nouveau/js/buddypress-messages.min.js CHANGED
@@ -1 +1 @@
1
- window.wp=window.wp||{},window.bp=window.bp||{},function(e,s){"undefined"!=typeof BP_Nouveau&&(_.extend(bp,_.pick(wp,"Backbone","ajax","template")),bp.Models=bp.Models||{},bp.Collections=bp.Collections||{},bp.Views=bp.Views||{},bp.Nouveau=bp.Nouveau||{},bp.Nouveau.Messages={start:function(){this.views=new Backbone.Collection,this.threads=new bp.Collections.Threads,this.messages=new bp.Collections.Messages,this.router=new bp.Nouveau.Messages.Router,this.box="inbox",this.setupNav(),Backbone.history.start()},setupNav:function(){var e=this;s("#compose-personal-li").addClass("last"),s("#subnav a").on("click",function(t){t.preventDefault();var a=s(t.target).prop("id");if(e.removeTinyMCE(),"compose"===a)if(_.isUndefined(e.views.get("compose")))e.router.navigate("compose",{trigger:!0});else{var i=e.views.get("compose");i.get("view").remove(),e.views.remove({id:"compose",view:i}),"single"===e.box&&(e.box="inbox"),e.router.navigate(e.box,{trigger:!0})}else e.box===a&&_.isUndefined(e.views.get("compose"))||(e.clearViews(),e.router.navigate(a,{trigger:!0}))})},removeTinyMCE:function(){"undefined"!=typeof tinymce&&null!==tinymce.get("message_content")&&tinymce.EditorManager.execCommand("mceRemoveEditor",!0,"message_content")},tinyMCEinit:function(){void 0!==window.tinyMCE&&null!==window.tinyMCE.activeEditor&&void 0!==window.tinyMCE.activeEditor&&s(window.tinyMCE.activeEditor.contentDocument.activeElement).atwho("setIframe",s("#message_content_ifr")[0]).bp_mentions({data:[],suffix:" "})},removeFeedback:function(){var e;_.isUndefined(this.views.get("feedback"))||((e=this.views.get("feedback")).get("view").remove(),this.views.remove({id:"feedback",view:e}))},displayFeedback:function(e,s){var t;this.removeFeedback(),e&&(t=new bp.Views.Feedback({value:e,type:s||"info"}),this.views.add({id:"feedback",view:t}),t.inject(".bp-messages-feedback"))},clearViews:function(){_.isUndefined(this.views.models)||(_.each(this.views.models,function(e){e.get("view").remove()},this),this.views.reset())},composeView:function(){this.clearViews();var e=new bp.Views.messageForm({model:new bp.Models.Message});this.views.add({id:"compose",view:e}),e.inject(".bp-messages-content")},threadsView:function(){s("#subnav ul li").each(function(e,t){s(t).removeClass("current selected")}),s("#subnav a#"+this.box).closest("li").addClass("current selected");var e=new bp.Views.userThreads({collection:this.threads,box:this.box});this.views.add({id:"threads",view:e}),e.inject(".bp-messages-content"),this.displayFilters(this.threads)},displayFilters:function(e){var s;this.filters=new Backbone.Model({page:1,total_page:0,search_terms:"",box:this.box}),s=new bp.Views.messageFilters({model:this.filters,threads:e}),this.views.add({id:"filters",view:s}),s.inject(".bp-messages-filters")},singleView:function(e){this.clearViews(),this.box="single";var s=new bp.Views.userMessages({collection:this.messages,thread:e});this.views.add({id:"single",view:s}),s.inject(".bp-messages-content")}},bp.Models.Message=Backbone.Model.extend({defaults:{send_to:[],subject:"",message_content:"",meta:{}},sendMessage:function(){if(!0!==this.get("sending")){this.set("sending",!0,{silent:!0});var e=bp.ajax.post("messages_send_message",_.extend({nonce:BP_Nouveau.messages.nonces.send},this.attributes));return this.set("sending",!1,{silent:!0}),e}}}),bp.Models.Thread=Backbone.Model.extend({defaults:{id:0,message_id:0,subject:"",excerpt:"",content:"",unread:!0,sender_name:"",sender_link:"",sender_avatar:"",count:0,date:0,display_date:"",recipients:[]},updateReadState:function(e){return e=e||{},e.data=_.extend(_.pick(this.attributes,["id","message_id"]),{action:"messages_thread_read",nonce:BP_Nouveau.nonces.messages}),bp.ajax.send(e)}}),bp.Models.messageThread=Backbone.Model.extend({defaults:{id:0,content:"",sender_id:0,sender_name:"",sender_link:"",sender_avatar:"",date:0,display_date:""}}),bp.Collections.Threads=Backbone.Collection.extend({model:bp.Models.Thread,initialize:function(){this.options={page:1,total_page:0}},sync:function(e,s,t){if(t=t||{},t.context=this,t.data=t.data||{},t.data.nonce=BP_Nouveau.nonces.messages,"read"===e)return t.data=_.extend(t.data,{action:"messages_get_user_message_threads"}),bp.ajax.send(t)},parse:function(e){return _.isArray(e.threads)||(e.threads=[e.threads]),_.each(e.threads,function(s,t){_.isNull(s)||(e.threads[t].id=s.id,e.threads[t].message_id=s.message_id,e.threads[t].subject=s.subject,e.threads[t].excerpt=s.excerpt,e.threads[t].content=s.content,e.threads[t].unread=s.unread,e.threads[t].sender_name=s.sender_name,e.threads[t].sender_link=s.sender_link,e.threads[t].sender_avatar=s.sender_avatar,e.threads[t].count=s.count,e.threads[t].date=new Date(s.date),e.threads[t].display_date=s.display_date,e.threads[t].recipients=s.recipients,e.threads[t].star_link=s.star_link,e.threads[t].is_starred=s.is_starred)}),_.isUndefined(e.meta)||(this.options.page=e.meta.page,this.options.total_page=e.meta.total_page),bp.Nouveau.Messages.box&&(this.options.box=bp.Nouveau.Messages.box),e.threads},doAction:function(e,s,t){return t=t||{},t.context=this,t.data=t.data||{},t.data=_.extend(t.data,{action:"messages_"+e,nonce:BP_Nouveau.nonces.messages,id:s}),bp.ajax.send(t)}}),bp.Collections.Messages=Backbone.Collection.extend({model:bp.Models.messageThread,options:{},sync:function(e,s,t){return t=t||{},t.context=this,t.data=t.data||{},t.data.nonce=BP_Nouveau.nonces.messages,"read"===e?(t.data=_.extend(t.data,{action:"messages_get_thread_messages"}),bp.ajax.send(t)):"create"===e?(t.data=_.extend(t.data,{action:"messages_send_reply",nonce:BP_Nouveau.messages.nonces.send},s||{}),bp.ajax.send(t)):void 0},parse:function(e){return _.isArray(e.messages)||(e.messages=[e.messages]),_.each(e.messages,function(s,t){_.isNull(s)||(e.messages[t].id=s.id,e.messages[t].content=s.content,e.messages[t].sender_id=s.sender_id,e.messages[t].sender_name=s.sender_name,e.messages[t].sender_link=s.sender_link,e.messages[t].sender_avatar=s.sender_avatar,e.messages[t].date=new Date(s.date),e.messages[t].display_date=s.display_date,e.messages[t].star_link=s.star_link,e.messages[t].is_starred=s.is_starred)}),_.isUndefined(e.thread)||(this.options.thread_id=e.thread.id,this.options.thread_subject=e.thread.subject,this.options.recipients=e.thread.recipients),e.messages}}),bp.Nouveau.Messages.View=bp.Backbone.View.extend({inject:function(e){this.render(),s(e).html(this.el),this.views.ready()},prepare:function(){return!_.isUndefined(this.model)&&_.isFunction(this.model.toJSON)?this.model.toJSON():{}}}),bp.Views.Feedback=bp.Nouveau.Messages.View.extend({tagName:"div",className:"bp-messages bp-user-messages-feedback",template:bp.template("bp-messages-feedback"),initialize:function(){this.model=new Backbone.Model({type:this.options.type||"info",message:this.options.value})}}),bp.Views.messageEditor=bp.Nouveau.Messages.View.extend({template:bp.template("bp-messages-editor"),initialize:function(){this.on("ready",this.activateTinyMce,this)},activateTinyMce:function(){"undefined"!=typeof tinymce&&tinymce.EditorManager.execCommand("mceAddEditor",!0,"message_content")}}),bp.Views.messageForm=bp.Nouveau.Messages.View.extend({tagName:"form",id:"send_message_form",className:"standard-form",template:bp.template("bp-messages-form"),events:{"click #bp-messages-send":"sendMessage","click #bp-messages-reset":"resetForm"},initialize:function(){this.resetModel=this.model.clone(),this.views.add("#bp-message-content",new bp.Views.messageEditor),this.model.on("change",this.resetFields,this),this.on("ready",this.addMentions,this)},addMentions:function(){s(this.el).find("#send-to-input").bp_mentions({data:[],suffix:" "})},resetFields:function(e){_.each(e.previousAttributes(),function(e,t){"message_content"===t?void 0!==tinyMCE.activeEditor&&null!==tinyMCE.activeEditor&&tinyMCE.activeEditor.setContent(""):"meta"!==t&&!1!==e&&s('input[name="'+t+'"]').val("")}),s(this.el).trigger("message:reset",_.pick(e.previousAttributes(),"meta"))},sendMessage:function(e){var t={},a=[],i=this;if(e.preventDefault(),bp.Nouveau.Messages.removeFeedback(),_.each(this.$el.serializeArray(),function(e){if(e.name=e.name.replace("[]",""),-1===_.indexOf(["send_to","subject","message_content"],e.name))_.isUndefined(t[e.name])?t[e.name]=e.value:(_.isArray(t[e.name])||(t[e.name]=[t[e.name]]),t[e.name].push(e.value));else if("send_to"===e.name){var i=e.value.match(/(^|[^@\w\-])@([a-zA-Z0-9_\-]{1,50})\b/g);i?((i=i.map(function(e){return e=s.trim(e)}))&&s.isArray(i)||a.push("send_to"),this.model.set("send_to",i,{silent:!0})):a.push("send_to")}else"message_content"===e.name&&void 0!==tinyMCE.activeEditor&&(e.value=tinyMCE.activeEditor.getContent()),e.value?this.model.set(e.name,e.value,{silent:!0}):a.push(e.name)},this),a.length){var n="";return _.each(a,function(e){n+='<div class="bp-feedback error"><span class="bp-icon" aria-hidden="true"></span><p>'+BP_Nouveau.messages.errors[e]+"</p></div>"}),void bp.Nouveau.Messages.displayFeedback(n,"error")}this.model.set("meta",t,{silent:!0}),this.model.sendMessage().done(function(e){i.model.set(i.resetModel),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type),bp.Nouveau.Messages.removeTinyMCE();var s=bp.Nouveau.Messages.views.get("compose");s.get("view").remove(),bp.Nouveau.Messages.views.remove({id:"compose",view:s}),bp.Nouveau.Messages.router.navigate("sentbox",{trigger:!0})}).fail(function(e){e.feedback&&bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)})},resetForm:function(e){e.preventDefault(),this.model.set(this.resetModel)}}),bp.Views.userThreads=bp.Nouveau.Messages.View.extend({tagName:"div",events:{"click .subject":"changePreview"},initialize:function(){this.views.add(new bp.Nouveau.Messages.View({tagName:"ul",id:"message-threads",className:"message-lists"})),this.views.add(new bp.Views.previewThread({collection:this.collection})),this.requestThreads(),this.collection.on("reset",this.cleanContent,this),this.collection.on("add",this.addThread,this)},requestThreads:function(){this.collection.reset(),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.loading,"loading"),this.collection.fetch({data:_.pick(this.options,"box"),success:this.threadsFetched,error:this.threadsFetchError})},threadsFetched:function(){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.howto,"info")},threadsFetchError:function(e,s){bp.Nouveau.Messages.displayFeedback(s.feedback,s.type)},cleanContent:function(){_.each(this.views._views["#message-threads"],function(e){e.remove()})},addThread:function(e){var s=this.collection.findWhere({active:!0});_.isUndefined(s)&&e.set("active",!0),this.views.add("#message-threads",new bp.Views.userThread({model:e}))},setActiveThread:function(e){e&&_.each(this.collection.models,function(s){s.id===e?s.set("active",!0):s.unset("active")},this)},changePreview:function(e){var t=s(e.currentTarget);e.preventDefault(),bp.Nouveau.Messages.removeFeedback(),s(e.currentTarget).closest(".thread-item").hasClass("selected")?this.loadSingleView(e):(this.setActiveThread(t.closest(".thread-content").data("thread-id")),s(".message-action-view").focus())},loadSingleView:function(e){e.preventDefault(),bp.Nouveau.Messages.router.navigate("view/"+s(e.currentTarget).closest(".thread-content").data("thread-id"),{trigger:!0})}}),bp.Views.userThread=bp.Nouveau.Messages.View.extend({tagName:"li",template:bp.template("bp-messages-thread"),className:"thread-item",events:{"click .message-check":"singleSelect"},initialize:function(){if(this.model.get("active")&&(this.el.className+=" selected"),this.model.get("unread")&&(this.el.className+=" unread"),"sentbox"===bp.Nouveau.Messages.box){var e=this.model.get("recipients").length,s="";2===e?s=BP_Nouveau.messages.toOthers.one:2<e&&(s=BP_Nouveau.messages.toOthers.more.replace("%d",Number(e-1))),this.model.set({recipientsCount:e,toOthers:s},{silent:!0})}else this.model.get("recipientsCount")&&this.model.unset("recipientsCount",{silent:!0});this.model.on("change:active",this.toggleClass,this),this.model.on("change:unread",this.updateReadState,this),this.model.on("change:checked",this.bulkSelect,this),this.model.on("remove",this.cleanView,this)},toggleClass:function(e){!0===e.get("active")?s(this.el).addClass("selected"):s(this.el).removeClass("selected")},updateReadState:function(e,t){!1===t?s(this.el).removeClass("unread"):s(this.el).addClass("unread")},bulkSelect:function(e){s("#bp-message-thread-"+e.get("id")).length&&s("#bp-message-thread-"+e.get("id")).prop("checked",e.get("checked"))},singleSelect:function(e){var t=s(e.currentTarget).prop("checked");this.model.set("checked",t,{silent:!0});var a=!1;_.each(this.model.collection.models,function(e){!0===e.get("checked")&&(a=!0)}),a?(s("#user-messages-bulk-actions").closest(".bulk-actions-wrap").removeClass("bp-hide"),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.howtoBulk,"info")):(s("#user-messages-bulk-actions").closest(".bulk-actions-wrap").addClass("bp-hide"),bp.Nouveau.Messages.removeFeedback())},cleanView:function(){this.views.view.remove()}}),bp.Views.previewThread=bp.Nouveau.Messages.View.extend({tagName:"div",id:"thread-preview",template:bp.template("bp-messages-preview"),events:{"click .actions button":"doAction","click .actions a":"doAction"},initialize:function(){this.collection.on("change:active",this.setPreview,this),this.collection.on("change:is_starred",this.updatePreview,this),this.collection.on("reset",this.emptyPreview,this),this.collection.on("remove",this.emptyPreview,this)},render:function(){_.isUndefined(this.model)||!0!==this.model.get("active")||bp.Nouveau.Messages.View.prototype.render.apply(this,arguments)},setPreview:function(e){var s=this;this.model=e,!0===e.get("unread")&&this.model.updateReadState().done(function(){s.model.set("unread",!1)}),this.render()},updatePreview:function(e){!0===e.get("active")&&this.render()},emptyPreview:function(){s(this.el).html("")},doAction:function(e){var t,a=s(e.currentTarget).data("bp-action"),i=this,n={},o=BP_Nouveau.messages.doingAction;if(!a)return e;e.preventDefault();var d=this.collection.findWhere({active:!0});d.get("id")&&(t=d.get("id"),"star"!==a&&"unstar"!==a||(n.data={star_nonce:d.get("star_nonce")},t=d.get("starred_id")),_.isUndefined(o[a])||bp.Nouveau.Messages.displayFeedback(o[a],"loading"),this.collection.doAction(a,t,n).done(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type),"delete"===a||"starred"===i.collection.options.box&&"unstar"===a?(i.collection.remove(d.get("id")),i.collection.fetch({data:_.pick(i.collection.options,["box","search_terms","page"])})):"unstar"===a||"star"===a?(_.each(e.messages,function(e){d.set(e)}),d.set(_.first(e.messages))):e.messages&&d.set(_.first(e.messages))}).fail(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)}))}}),bp.Views.Pagination=bp.Nouveau.Messages.View.extend({tagName:"li",className:"last filter",template:bp.template("bp-messages-paginate")}),bp.Views.BulkActions=bp.Nouveau.Messages.View.extend({tagName:"div",template:bp.template("bp-bulk-actions"),events:{"click #user_messages_select_all":"bulkSelect","click .bulk-apply":"doBulkAction"},bulkSelect:function(e){var t=s(e.currentTarget).prop("checked");t?(s(this.el).find(".bulk-actions-wrap").removeClass("bp-hide").addClass("bp-show"),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.howtoBulk,"info")):(s(this.el).find(".bulk-actions-wrap").addClass("bp-hide"),bp.Nouveau.Messages.removeFeedback()),_.each(this.collection.models,function(e){e.set("checked",t)})},doBulkAction:function(e){var t,a=this,i={},n="id",o=BP_Nouveau.messages.doingAction;e.preventDefault();var d=s("#user-messages-bulk-actions").val();if(d){var r=this.collection.where({checked:!0}),c=_.map(r,function(e){return e.get("id")});t=c,"star"!==d&&"unstar"!==d||(1===(t=_.map(r,function(e){return e.get("starred_id")})).length&&(i.data={star_nonce:r[0].get("star_nonce")}),n="starred_id");var l=_.object(_.map(r,function(e){return[e.get(n),e.get("id")]}));_.isUndefined(o[d])||bp.Nouveau.Messages.displayFeedback(o[d],"loading"),this.collection.doAction(d,t,i).done(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type),"delete"===d||"starred"===a.collection.options.box&&"unstar"===d?(a.collection.remove(c),a.collection.fetch({data:_.pick(a.collection.options,["box","search_terms","page"])})):e.messages&&_.each(e.messages,function(e,s){a.collection.get(l[s]).set(e)})}).fail(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)})}}}),bp.Views.messageFilters=bp.Nouveau.Messages.View.extend({tagName:"ul",template:bp.template("bp-messages-filters"),events:{"search #user_messages_search":"resetSearchTerms","submit #user_messages_search_form":"setSearchTerms","click #bp-messages-next-page":"nextPage","click #bp-messages-prev-page":"prevPage"},initialize:function(){this.model.on("change",this.filterThreads,this),this.options.threads.on("sync",this.addPaginatation,this)},addPaginatation:function(e){_.each(this.views._views,function(e){_.isUndefined(e)||_.first(e).remove()}),this.views.add(new bp.Views.Pagination({model:new Backbone.Model(e.options)})),this.views.add(".user-messages-bulk-actions",new bp.Views.BulkActions({model:new Backbone.Model(BP_Nouveau.messages.bulk_actions),collection:e}))},filterThreads:function(){bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.loading,"loading"),this.options.threads.reset(),_.extend(this.options.threads.options,_.pick(this.model.attributes,["box","search_terms"])),this.options.threads.fetch({data:_.pick(this.model.attributes,["box","search_terms","page"]),success:this.threadsFiltered,error:this.threadsFilterError})},threadsFiltered:function(){bp.Nouveau.Messages.removeFeedback()},threadsFilterError:function(e,s){bp.Nouveau.Messages.displayFeedback(s.feedback,s.type)},resetSearchTerms:function(e){e.preventDefault(),s(e.target).val()?s(e.target).closest("form").find("[type=submit]").addClass("bp-show").removeClass("bp-hide"):s(e.target).closest("form").submit()},setSearchTerms:function(e){e.preventDefault(),this.model.set({search_terms:s(e.target).find("input[type=search]").val()||"",page:1})},nextPage:function(e){e.preventDefault(),this.model.set("page",this.model.get("page")+1)},prevPage:function(e){e.preventDefault(),this.model.set("page",this.model.get("page")-1)}}),bp.Views.userMessagesHeader=bp.Nouveau.Messages.View.extend({tagName:"div",template:bp.template("bp-messages-single-header"),events:{"click .actions a":"doAction","click .actions button":"doAction"},doAction:function(e){var t=s(e.currentTarget).data("bp-action"),a=this,i={},n=BP_Nouveau.messages.doingAction;if(!t)return e;if(e.preventDefault(),this.model.get("id")){if("star"===t||"unstar"===t){var o={star:"unstar",unstar:"star"};i.data={star_nonce:this.model.get("star_nonce")},s(e.currentTarget).addClass("bp-hide"),s(e.currentTarget).parent().find('[data-bp-action="'+o[t]+'"]').removeClass("bp-hide")}_.isUndefined(n[t])||bp.Nouveau.Messages.displayFeedback(n[t],"loading"),bp.Nouveau.Messages.threads.doAction(t,this.model.get("id"),i).done(function(e){"delete"===t?bp.Nouveau.Messages.clearViews():e.messages&&a.model.set(_.first(e.messages)),bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)}).fail(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)})}}}),bp.Views.userMessagesEntry=bp.Views.userMessagesHeader.extend({tagName:"li",template:bp.template("bp-messages-single-list"),events:{"click [data-bp-action]":"doAction"},initialize:function(){this.model.on("change:is_starred",this.updateMessage,this)},updateMessage:function(e){this.model.get("id")===e.get("id")&&this.render()}}),bp.Views.userMessages=bp.Nouveau.Messages.View.extend({tagName:"div",template:bp.template("bp-messages-single"),initialize:function(){this.requestMessages(),this.reply=new bp.Models.messageThread,this.collection.on("add",this.addMessage,this),this.views.add("#bp-message-content",new bp.Views.messageEditor)},events:{"click #send_reply_button":"sendReply"},requestMessages:function(){var e={};this.collection.reset(),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.loading,"loading"),_.isUndefined(this.options.thread.attributes)?e.id=this.options.thread.id:(e.id=this.options.thread.get("id"),e.js_thread=!_.isEmpty(this.options.thread.get("subject"))),this.collection.fetch({data:e,success:_.bind(this.messagesFetched,this),error:this.messagesFetchError})},messagesFetched:function(e,s){_.isUndefined(s.thread)||(this.options.thread=new Backbone.Model(s.thread)),bp.Nouveau.Messages.removeFeedback(),this.views.add("#bp-message-thread-header",new bp.Views.userMessagesHeader({model:this.options.thread}))},messagesFetchError:function(e,s){s.feedback&&s.type&&bp.Nouveau.Messages.displayFeedback(s.feedback,s.type)},addMessage:function(e){this.views.add("#bp-message-thread-list",new bp.Views.userMessagesEntry({model:e}))},addEditor:function(){this.views.add("#bp-message-content",new bp.Views.messageEditor)},sendReply:function(e){e.preventDefault(),!0!==this.reply.get("sending")&&(this.reply.set({thread_id:this.options.thread.get("id"),content:tinyMCE.activeEditor.getContent(),sending:!0}),this.collection.sync("create",_.pick(this.reply.attributes,["thread_id","content"]),{success:_.bind(this.replySent,this),error:_.bind(this.replyError,this)}))},replySent:function(e){var s=this.collection.parse(e);tinyMCE.activeEditor.setContent(""),this.reply.set("sending",!1),this.collection.add(_.first(s))},replyError:function(e){e.feedback&&e.type&&bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)}}),bp.Nouveau.Messages.Router=Backbone.Router.extend({routes:{compose:"composeMessage","view/:id":"viewMessage",sentbox:"sentboxView",starred:"starredView",inbox:"inboxView","":"inboxView"},composeMessage:function(){bp.Nouveau.Messages.composeView()},viewMessage:function(e){if(e){var s=bp.Nouveau.Messages.threads.get(e);void 0===s&&((s={}).id=e),bp.Nouveau.Messages.singleView(s)}},sentboxView:function(){bp.Nouveau.Messages.box="sentbox",bp.Nouveau.Messages.threadsView()},starredView:function(){bp.Nouveau.Messages.box="starred",bp.Nouveau.Messages.threadsView()},inboxView:function(){bp.Nouveau.Messages.box="inbox",bp.Nouveau.Messages.threadsView()}}),bp.Nouveau.Messages.start())}(bp,jQuery);
1
+ window.wp=window.wp||{},window.bp=window.bp||{},function(e,s){"undefined"!=typeof BP_Nouveau&&(_.extend(bp,_.pick(wp,"Backbone","ajax","template")),bp.Models=bp.Models||{},bp.Collections=bp.Collections||{},bp.Views=bp.Views||{},bp.Nouveau=bp.Nouveau||{},bp.Nouveau.Messages={start:function(){this.views=new Backbone.Collection,this.threads=new bp.Collections.Threads,this.messages=new bp.Collections.Messages,this.router=new bp.Nouveau.Messages.Router,this.box="inbox",this.setupNav(),Backbone.history.start({pushState:!0,root:BP_Nouveau.messages.rootUrl})},setupNav:function(){var e=this;s("#compose-personal-li").addClass("last"),s("#subnav a").on("click",function(t){t.preventDefault();var a=s(t.target).prop("id");if(e.removeTinyMCE(),"compose"===a)if(_.isUndefined(e.views.get("compose")))e.router.navigate("compose/",{trigger:!0});else{var i=e.views.get("compose");i.get("view").remove(),e.views.remove({id:"compose",view:i}),"single"===e.box&&(e.box="inbox"),e.router.navigate(e.box+"/",{trigger:!0})}else e.box===a&&_.isUndefined(e.views.get("compose"))||(e.clearViews(),e.router.navigate(a+"/",{trigger:!0}))})},removeTinyMCE:function(){"undefined"!=typeof tinymce&&null!==tinymce.get("message_content")&&tinymce.EditorManager.execCommand("mceRemoveEditor",!0,"message_content")},tinyMCEinit:function(){void 0!==window.tinyMCE&&null!==window.tinyMCE.activeEditor&&void 0!==window.tinyMCE.activeEditor&&s(window.tinyMCE.activeEditor.contentDocument.activeElement).atwho("setIframe",s("#message_content_ifr")[0]).bp_mentions({data:[],suffix:" "})},removeFeedback:function(){var e;_.isUndefined(this.views.get("feedback"))||((e=this.views.get("feedback")).get("view").remove(),this.views.remove({id:"feedback",view:e}))},displayFeedback:function(e,s){var t;this.removeFeedback(),e&&(t=new bp.Views.Feedback({value:e,type:s||"info"}),this.views.add({id:"feedback",view:t}),t.inject(".bp-messages-feedback"))},clearViews:function(){_.isUndefined(this.views.models)||(_.each(this.views.models,function(e){e.get("view").remove()},this),this.views.reset())},composeView:function(){this.clearViews();var e=new bp.Views.messageForm({model:new bp.Models.Message});this.views.add({id:"compose",view:e}),e.inject(".bp-messages-content")},threadsView:function(){s("#subnav ul li").each(function(e,t){s(t).removeClass("current selected")}),s("#subnav a#"+this.box).closest("li").addClass("current selected");var e=new bp.Views.userThreads({collection:this.threads,box:this.box});this.views.add({id:"threads",view:e}),e.inject(".bp-messages-content"),this.displayFilters(this.threads)},displayFilters:function(e){var s;this.filters=new Backbone.Model({page:1,total_page:0,search_terms:"",box:this.box}),s=new bp.Views.messageFilters({model:this.filters,threads:e}),this.views.add({id:"filters",view:s}),s.inject(".bp-messages-filters")},singleView:function(e){this.clearViews(),this.box="single";var s=new bp.Views.userMessages({collection:this.messages,thread:e});this.views.add({id:"single",view:s}),s.inject(".bp-messages-content")}},bp.Models.Message=Backbone.Model.extend({defaults:{send_to:[],subject:"",message_content:"",meta:{}},sendMessage:function(){if(!0!==this.get("sending")){this.set("sending",!0,{silent:!0});var e=bp.ajax.post("messages_send_message",_.extend({nonce:BP_Nouveau.messages.nonces.send},this.attributes));return this.set("sending",!1,{silent:!0}),e}}}),bp.Models.Thread=Backbone.Model.extend({defaults:{id:0,message_id:0,subject:"",excerpt:"",content:"",unread:!0,sender_name:"",sender_link:"",sender_avatar:"",count:0,date:0,display_date:"",recipients:[]},updateReadState:function(e){return e=e||{},e.data=_.extend(_.pick(this.attributes,["id","message_id"]),{action:"messages_thread_read",nonce:BP_Nouveau.nonces.messages}),bp.ajax.send(e)}}),bp.Models.messageThread=Backbone.Model.extend({defaults:{id:0,content:"",sender_id:0,sender_name:"",sender_link:"",sender_avatar:"",date:0,display_date:""}}),bp.Collections.Threads=Backbone.Collection.extend({model:bp.Models.Thread,initialize:function(){this.options={page:1,total_page:0}},sync:function(e,s,t){if(t=t||{},t.context=this,t.data=t.data||{},t.data.nonce=BP_Nouveau.nonces.messages,"read"===e)return t.data=_.extend(t.data,{action:"messages_get_user_message_threads"}),bp.ajax.send(t)},parse:function(e){return _.isArray(e.threads)||(e.threads=[e.threads]),_.each(e.threads,function(s,t){_.isNull(s)||(e.threads[t].id=s.id,e.threads[t].message_id=s.message_id,e.threads[t].subject=s.subject,e.threads[t].excerpt=s.excerpt,e.threads[t].content=s.content,e.threads[t].unread=s.unread,e.threads[t].sender_name=s.sender_name,e.threads[t].sender_link=s.sender_link,e.threads[t].sender_avatar=s.sender_avatar,e.threads[t].count=s.count,e.threads[t].date=new Date(s.date),e.threads[t].display_date=s.display_date,e.threads[t].recipients=s.recipients,e.threads[t].star_link=s.star_link,e.threads[t].is_starred=s.is_starred)}),_.isUndefined(e.meta)||(this.options.page=e.meta.page,this.options.total_page=e.meta.total_page),bp.Nouveau.Messages.box&&(this.options.box=bp.Nouveau.Messages.box),_.isUndefined(e.extraContent)||_.extend(this.options,_.pick(e.extraContent,["beforeLoop","afterLoop"])),e.threads},doAction:function(e,s,t){return t=t||{},t.context=this,t.data=t.data||{},t.data=_.extend(t.data,{action:"messages_"+e,nonce:BP_Nouveau.nonces.messages,id:s}),bp.ajax.send(t)}}),bp.Collections.Messages=Backbone.Collection.extend({model:bp.Models.messageThread,options:{},sync:function(e,s,t){return t=t||{},t.context=this,t.data=t.data||{},t.data.nonce=BP_Nouveau.nonces.messages,"read"===e?(t.data=_.extend(t.data,{action:"messages_get_thread_messages"}),bp.ajax.send(t)):"create"===e?(t.data=_.extend(t.data,{action:"messages_send_reply",nonce:BP_Nouveau.messages.nonces.send},s||{}),bp.ajax.send(t)):void 0},parse:function(e){return _.isArray(e.messages)||(e.messages=[e.messages]),_.each(e.messages,function(s,t){_.isNull(s)||(e.messages[t].id=s.id,e.messages[t].content=s.content,e.messages[t].sender_id=s.sender_id,e.messages[t].sender_name=s.sender_name,e.messages[t].sender_link=s.sender_link,e.messages[t].sender_avatar=s.sender_avatar,e.messages[t].date=new Date(s.date),e.messages[t].display_date=s.display_date,e.messages[t].star_link=s.star_link,e.messages[t].is_starred=s.is_starred)}),_.isUndefined(e.thread)||(this.options.thread_id=e.thread.id,this.options.thread_subject=e.thread.subject,this.options.recipients=e.thread.recipients),e.messages}}),bp.Nouveau.Messages.View=bp.Backbone.View.extend({inject:function(e){this.render(),s(e).html(this.el),this.views.ready()},prepare:function(){return!_.isUndefined(this.model)&&_.isFunction(this.model.toJSON)?this.model.toJSON():{}}}),bp.Views.Feedback=bp.Nouveau.Messages.View.extend({tagName:"div",className:"bp-messages bp-user-messages-feedback",template:bp.template("bp-messages-feedback"),initialize:function(){this.model=new Backbone.Model({type:this.options.type||"info",message:this.options.value})}}),bp.Views.Hook=bp.Nouveau.Messages.View.extend({tagName:"div",template:bp.template("bp-messages-hook"),initialize:function(){this.model=new Backbone.Model({extraContent:this.options.extraContent}),this.el.className="bp-messages-hook",this.options.className&&(this.el.className+=" "+this.options.className)}}),bp.Views.messageEditor=bp.Nouveau.Messages.View.extend({template:bp.template("bp-messages-editor"),initialize:function(){this.on("ready",this.activateTinyMce,this)},activateTinyMce:function(){"undefined"!=typeof tinymce&&tinymce.EditorManager.execCommand("mceAddEditor",!0,"message_content")}}),bp.Views.messageForm=bp.Nouveau.Messages.View.extend({tagName:"form",id:"send_message_form",className:"standard-form",template:bp.template("bp-messages-form"),events:{"click #bp-messages-send":"sendMessage","click #bp-messages-reset":"resetForm"},initialize:function(){this.resetModel=this.model.clone(),this.views.add("#bp-message-content",new bp.Views.messageEditor),this.model.on("change",this.resetFields,this),this.on("ready",this.addMentions,this)},addMentions:function(){s(this.el).find("#send-to-input").bp_mentions({data:[],suffix:" "})},resetFields:function(e){_.each(e.previousAttributes(),function(e,t){"message_content"===t?void 0!==tinyMCE.activeEditor&&null!==tinyMCE.activeEditor&&tinyMCE.activeEditor.setContent(""):"meta"!==t&&!1!==e&&s('input[name="'+t+'"]').val("")}),s(this.el).trigger("message:reset",_.pick(e.previousAttributes(),"meta"))},sendMessage:function(e){var t={},a=[],i=this;if(e.preventDefault(),bp.Nouveau.Messages.removeFeedback(),_.each(this.$el.serializeArray(),function(e){if(e.name=e.name.replace("[]",""),-1===_.indexOf(["send_to","subject","message_content"],e.name))_.isUndefined(t[e.name])?t[e.name]=e.value:(_.isArray(t[e.name])||(t[e.name]=[t[e.name]]),t[e.name].push(e.value));else if("send_to"===e.name){var i=e.value.match(/(^|[^@\w\-])@([a-zA-Z0-9_\-]{1,50})\b/g);i?((i=i.map(function(e){return e=s.trim(e)}))&&s.isArray(i)||a.push("send_to"),this.model.set("send_to",i,{silent:!0})):a.push("send_to")}else"message_content"===e.name&&void 0!==tinyMCE.activeEditor&&(e.value=tinyMCE.activeEditor.getContent()),e.value?this.model.set(e.name,e.value,{silent:!0}):a.push(e.name)},this),a.length){var n="";return _.each(a,function(e){n+='<div class="bp-feedback error"><span class="bp-icon" aria-hidden="true"></span><p>'+BP_Nouveau.messages.errors[e]+"</p></div>"}),void bp.Nouveau.Messages.displayFeedback(n,"error")}this.model.set("meta",t,{silent:!0}),this.model.sendMessage().done(function(e){i.model.set(i.resetModel),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type),bp.Nouveau.Messages.removeTinyMCE();var s=bp.Nouveau.Messages.views.get("compose");s.get("view").remove(),bp.Nouveau.Messages.views.remove({id:"compose",view:s}),bp.Nouveau.Messages.router.navigate("sentbox/",{trigger:!0})}).fail(function(e){e.feedback&&bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)})},resetForm:function(e){e.preventDefault(),this.model.set(this.resetModel)}}),bp.Views.userThreads=bp.Nouveau.Messages.View.extend({tagName:"div",events:{"click .subject":"changePreview"},initialize:function(){var e=[new bp.Nouveau.Messages.View({tagName:"ul",id:"message-threads",className:"message-lists"}),new bp.Views.previewThread({collection:this.collection})];_.each(e,function(e){this.views.add(e)},this),this.requestThreads(),this.collection.on("reset",this.cleanContent,this),this.collection.on("add",this.addThread,this)},requestThreads:function(){this.collection.reset(),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.loading,"loading"),this.collection.fetch({data:_.pick(this.options,"box"),success:_.bind(this.threadsFetched,this),error:this.threadsFetchError})},threadsFetched:function(){bp.Nouveau.Messages.removeFeedback(),this.collection.options.afterLoop&&this.views.add(new bp.Views.Hook({extraContent:this.collection.options.afterLoop,className:"after-messages-loop"}),{at:1}),this.collection.options.beforeLoop&&this.views.add(new bp.Views.Hook({extraContent:this.collection.options.beforeLoop,className:"before-messages-loop"}),{at:0}),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.howto,"info")},threadsFetchError:function(e,s){bp.Nouveau.Messages.displayFeedback(s.feedback,s.type)},cleanContent:function(){_.each(this.views._views["#message-threads"],function(e){e.remove()})},addThread:function(e){var s=this.collection.findWhere({active:!0});_.isUndefined(s)&&e.set("active",!0),this.views.add("#message-threads",new bp.Views.userThread({model:e}))},setActiveThread:function(e){e&&_.each(this.collection.models,function(s){s.id===e?s.set("active",!0):s.unset("active")},this)},changePreview:function(e){var t=s(e.currentTarget);e.preventDefault(),bp.Nouveau.Messages.removeFeedback(),t.closest(".thread-item").hasClass("selected")?bp.Nouveau.Messages.router.navigate("view/"+t.closest(".thread-content").data("thread-id")+"/",{trigger:!0}):(this.setActiveThread(t.closest(".thread-content").data("thread-id")),s(".message-action-view").focus())}}),bp.Views.userThread=bp.Nouveau.Messages.View.extend({tagName:"li",template:bp.template("bp-messages-thread"),className:"thread-item",events:{"click .message-check":"singleSelect"},initialize:function(){if(this.model.get("active")&&(this.el.className+=" selected"),this.model.get("unread")&&(this.el.className+=" unread"),"sentbox"===bp.Nouveau.Messages.box){var e=this.model.get("recipients").length,s="";2===e?s=BP_Nouveau.messages.toOthers.one:2<e&&(s=BP_Nouveau.messages.toOthers.more.replace("%d",Number(e-1))),this.model.set({recipientsCount:e,toOthers:s},{silent:!0})}else this.model.get("recipientsCount")&&this.model.unset("recipientsCount",{silent:!0});this.model.on("change:active",this.toggleClass,this),this.model.on("change:unread",this.updateReadState,this),this.model.on("change:checked",this.bulkSelect,this),this.model.on("remove",this.cleanView,this)},toggleClass:function(e){!0===e.get("active")?s(this.el).addClass("selected"):s(this.el).removeClass("selected")},updateReadState:function(e,t){!1===t?s(this.el).removeClass("unread"):s(this.el).addClass("unread")},bulkSelect:function(e){s("#bp-message-thread-"+e.get("id")).length&&s("#bp-message-thread-"+e.get("id")).prop("checked",e.get("checked"))},singleSelect:function(e){var t=s(e.currentTarget).prop("checked");this.model.set("checked",t,{silent:!0});var a=!1;_.each(this.model.collection.models,function(e){!0===e.get("checked")&&(a=!0)}),a?(s("#user-messages-bulk-actions").closest(".bulk-actions-wrap").removeClass("bp-hide"),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.howtoBulk,"info")):(s("#user-messages-bulk-actions").closest(".bulk-actions-wrap").addClass("bp-hide"),bp.Nouveau.Messages.removeFeedback())},cleanView:function(){this.views.view.remove()}}),bp.Views.previewThread=bp.Nouveau.Messages.View.extend({tagName:"div",id:"thread-preview",template:bp.template("bp-messages-preview"),events:{"click .actions button":"doAction","click .actions a":"doAction"},initialize:function(){this.collection.on("change:active",this.setPreview,this),this.collection.on("change:is_starred",this.updatePreview,this),this.collection.on("reset",this.emptyPreview,this),this.collection.on("remove",this.emptyPreview,this)},render:function(){_.isUndefined(this.model)||!0!==this.model.get("active")||bp.Nouveau.Messages.View.prototype.render.apply(this,arguments)},setPreview:function(e){var s=this;this.model=e,!0===e.get("unread")&&this.model.updateReadState().done(function(){s.model.set("unread",!1)}),this.render()},updatePreview:function(e){!0===e.get("active")&&this.render()},emptyPreview:function(){s(this.el).html("")},doAction:function(e){var t,a=s(e.currentTarget).data("bp-action"),i=this,n={},o=BP_Nouveau.messages.doingAction;if(!a)return e;e.preventDefault();var d=this.collection.findWhere({active:!0});d.get("id")&&(t=d.get("id"),"view"!==a?("star"!==a&&"unstar"!==a||(n.data={star_nonce:d.get("star_nonce")},t=d.get("starred_id")),_.isUndefined(o[a])||bp.Nouveau.Messages.displayFeedback(o[a],"loading"),this.collection.doAction(a,t,n).done(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type),"delete"===a||"starred"===i.collection.options.box&&"unstar"===a?(i.collection.remove(d.get("id")),i.collection.fetch({data:_.pick(i.collection.options,["box","search_terms","page"])})):"unstar"===a||"star"===a?(_.each(e.messages,function(e){d.set(e)}),d.set(_.first(e.messages))):e.messages&&d.set(_.first(e.messages))}).fail(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)})):bp.Nouveau.Messages.router.navigate("view/"+t+"/",{trigger:!0}))}}),bp.Views.Pagination=bp.Nouveau.Messages.View.extend({tagName:"li",className:"last filter",template:bp.template("bp-messages-paginate")}),bp.Views.BulkActions=bp.Nouveau.Messages.View.extend({tagName:"div",template:bp.template("bp-bulk-actions"),events:{"click #user_messages_select_all":"bulkSelect","click .bulk-apply":"doBulkAction"},bulkSelect:function(e){var t=s(e.currentTarget).prop("checked");t?(s(this.el).find(".bulk-actions-wrap").removeClass("bp-hide").addClass("bp-show"),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.howtoBulk,"info")):(s(this.el).find(".bulk-actions-wrap").addClass("bp-hide"),bp.Nouveau.Messages.removeFeedback()),_.each(this.collection.models,function(e){e.set("checked",t)})},doBulkAction:function(e){var t,a=this,i={},n="id",o=BP_Nouveau.messages.doingAction;e.preventDefault();var d=s("#user-messages-bulk-actions").val();if(d){var r=this.collection.where({checked:!0}),c=_.map(r,function(e){return e.get("id")});t=c,"star"!==d&&"unstar"!==d||(1===(t=_.map(r,function(e){return e.get("starred_id")})).length&&(i.data={star_nonce:r[0].get("star_nonce")}),n="starred_id");var l=_.object(_.map(r,function(e){return[e.get(n),e.get("id")]}));_.isUndefined(o[d])||bp.Nouveau.Messages.displayFeedback(o[d],"loading"),this.collection.doAction(d,t,i).done(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type),"delete"===d||"starred"===a.collection.options.box&&"unstar"===d?(a.collection.remove(c),a.collection.fetch({data:_.pick(a.collection.options,["box","search_terms","page"])})):e.messages&&_.each(e.messages,function(e,s){a.collection.get(l[s]).set(e)})}).fail(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)})}}}),bp.Views.messageFilters=bp.Nouveau.Messages.View.extend({tagName:"ul",template:bp.template("bp-messages-filters"),events:{"search #user_messages_search":"resetSearchTerms","submit #user_messages_search_form":"setSearchTerms","click #bp-messages-next-page":"nextPage","click #bp-messages-prev-page":"prevPage"},initialize:function(){this.model.on("change",this.filterThreads,this),this.options.threads.on("sync",this.addPaginatation,this)},addPaginatation:function(e){_.each(this.views._views,function(e){_.isUndefined(e)||_.first(e).remove()}),this.views.add(new bp.Views.Pagination({model:new Backbone.Model(e.options)})),this.views.add(".user-messages-bulk-actions",new bp.Views.BulkActions({model:new Backbone.Model(BP_Nouveau.messages.bulk_actions),collection:e}))},filterThreads:function(){bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.loading,"loading"),this.options.threads.reset(),_.extend(this.options.threads.options,_.pick(this.model.attributes,["box","search_terms"])),this.options.threads.fetch({data:_.pick(this.model.attributes,["box","search_terms","page"]),success:this.threadsFiltered,error:this.threadsFilterError})},threadsFiltered:function(){bp.Nouveau.Messages.removeFeedback()},threadsFilterError:function(e,s){bp.Nouveau.Messages.displayFeedback(s.feedback,s.type)},resetSearchTerms:function(e){e.preventDefault(),s(e.target).val()?s(e.target).closest("form").find("[type=submit]").addClass("bp-show").removeClass("bp-hide"):s(e.target).closest("form").submit()},setSearchTerms:function(e){e.preventDefault(),this.model.set({search_terms:s(e.target).find("input[type=search]").val()||"",page:1})},nextPage:function(e){e.preventDefault(),this.model.set("page",this.model.get("page")+1)},prevPage:function(e){e.preventDefault(),this.model.set("page",this.model.get("page")-1)}}),bp.Views.userMessagesHeader=bp.Nouveau.Messages.View.extend({tagName:"div",template:bp.template("bp-messages-single-header"),events:{"click .actions a":"doAction","click .actions button":"doAction"},doAction:function(e){var t=s(e.currentTarget).data("bp-action"),a=this,i={},n=BP_Nouveau.messages.doingAction;if(!t)return e;if(e.preventDefault(),this.model.get("id")){if("star"===t||"unstar"===t){var o={star:"unstar",unstar:"star"};i.data={star_nonce:this.model.get("star_nonce")},s(e.currentTarget).addClass("bp-hide"),s(e.currentTarget).parent().find('[data-bp-action="'+o[t]+'"]').removeClass("bp-hide")}_.isUndefined(n[t])||bp.Nouveau.Messages.displayFeedback(n[t],"loading"),bp.Nouveau.Messages.threads.doAction(t,this.model.get("id"),i).done(function(e){"delete"===t?bp.Nouveau.Messages.clearViews():e.messages&&a.model.set(_.first(e.messages)),bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)}).fail(function(e){bp.Nouveau.Messages.removeFeedback(),bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)})}}}),bp.Views.userMessagesEntry=bp.Views.userMessagesHeader.extend({tagName:"li",template:bp.template("bp-messages-single-list"),events:{"click [data-bp-action]":"doAction"},initialize:function(){this.model.on("change:is_starred",this.updateMessage,this)},updateMessage:function(e){this.model.get("id")===e.get("id")&&this.render()}}),bp.Views.userMessages=bp.Nouveau.Messages.View.extend({tagName:"div",template:bp.template("bp-messages-single"),initialize:function(){this.requestMessages(),this.reply=new bp.Models.messageThread,this.collection.on("add",this.addMessage,this),this.views.add("#bp-message-content",new bp.Views.messageEditor)},events:{"click #send_reply_button":"sendReply"},requestMessages:function(){var e={};this.collection.reset(),bp.Nouveau.Messages.displayFeedback(BP_Nouveau.messages.loading,"loading"),_.isUndefined(this.options.thread.attributes)?e.id=this.options.thread.id:(e.id=this.options.thread.get("id"),e.js_thread=!_.isEmpty(this.options.thread.get("subject"))),this.collection.fetch({data:e,success:_.bind(this.messagesFetched,this),error:this.messagesFetchError})},messagesFetched:function(e,s){_.isUndefined(s.thread)||(this.options.thread=new Backbone.Model(s.thread)),bp.Nouveau.Messages.removeFeedback(),this.views.add("#bp-message-thread-header",new bp.Views.userMessagesHeader({model:this.options.thread}))},messagesFetchError:function(e,s){s.feedback&&s.type&&bp.Nouveau.Messages.displayFeedback(s.feedback,s.type)},addMessage:function(e){this.views.add("#bp-message-thread-list",new bp.Views.userMessagesEntry({model:e}))},addEditor:function(){this.views.add("#bp-message-content",new bp.Views.messageEditor)},sendReply:function(e){e.preventDefault(),!0!==this.reply.get("sending")&&(this.reply.set({thread_id:this.options.thread.get("id"),content:tinyMCE.activeEditor.getContent(),sending:!0}),this.collection.sync("create",_.pick(this.reply.attributes,["thread_id","content"]),{success:_.bind(this.replySent,this),error:_.bind(this.replyError,this)}))},replySent:function(e){var s=this.collection.parse(e);tinyMCE.activeEditor.setContent(""),this.reply.set("sending",!1),this.collection.add(_.first(s))},replyError:function(e){e.feedback&&e.type&&bp.Nouveau.Messages.displayFeedback(e.feedback,e.type)}}),bp.Nouveau.Messages.Router=Backbone.Router.extend({routes:{"compose/":"composeMessage","view/:id/":"viewMessage","sentbox/":"sentboxView","starred/":"starredView","inbox/":"inboxView","":"inboxView"},composeMessage:function(){bp.Nouveau.Messages.composeView()},viewMessage:function(e){if(e){var s=bp.Nouveau.Messages.threads.get(e);void 0===s&&((s={}).id=e),bp.Nouveau.Messages.singleView(s)}},sentboxView:function(){bp.Nouveau.Messages.box="sentbox",bp.Nouveau.Messages.threadsView()},starredView:function(){bp.Nouveau.Messages.box="starred",bp.Nouveau.Messages.threadsView()},inboxView:function(){bp.Nouveau.Messages.box="inbox",bp.Nouveau.Messages.threadsView()}}),bp.Nouveau.Messages.start())}(bp,jQuery);
bp-themes/bp-default/registration/activate.php CHANGED
@@ -29,10 +29,10 @@
29
 
30
  <p><?php _e( 'Please provide a valid activation key.', 'buddypress' ); ?></p>
31
 
32
- <form action="" method="get" class="standard-form" id="activation-form">
33
 
34
  <label for="key"><?php _e( 'Activation Key:', 'buddypress' ); ?></label>
35
- <input type="text" name="key" id="key" value="" />
36
 
37
  <p class="submit">
38
  <input type="submit" name="submit" value="<?php esc_attr_e( 'Activate', 'buddypress' ); ?>" />
29
 
30
  <p><?php _e( 'Please provide a valid activation key.', 'buddypress' ); ?></p>
31
 
32
+ <form action="" method="post" class="standard-form" id="activation-form">
33
 
34
  <label for="key"><?php _e( 'Activation Key:', 'buddypress' ); ?></label>
35
+ <input type="text" name="key" id="key" value="<?php echo esc_attr( bp_get_current_activation_key() ); ?>" />
36
 
37
  <p class="submit">
38
  <input type="submit" name="submit" value="<?php esc_attr_e( 'Activate', 'buddypress' ); ?>" />
buddypress.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the GPLv2 or later (license.txt).
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: BuddyPress 3.0.0\n"
6
  "Report-Msgid-Bugs-To: https://buddypress.trac.wordpress.org\n"
7
- "POT-Creation-Date: 2018-05-17 23:05:12+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -121,7 +121,6 @@ msgid "There was an error posting that reply. Please try again."
121
  msgstr ""
122
 
123
  #: bp-activity/actions/spam.php:59
124
- #: bp-templates/bp-nouveau/includes/activity/ajax.php:631
125
  msgid "The activity item has been marked as spam and is no longer visible."
126
  msgstr ""
127
 
@@ -327,9 +326,6 @@ msgstr ""
327
  #: bp-activity/classes/class-bp-akismet.php:205
328
  #: bp-activity/classes/class-bp-akismet.php:234
329
  #: bp-core/admin/bp-core-admin-functions.php:1015
330
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:502
331
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:507
332
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:838
333
  msgid "Spam"
334
  msgstr ""
335
 
@@ -455,7 +451,6 @@ msgstr ""
455
  #: bp-activity/bp-activity-admin.php:1049
456
  #: bp-activity/classes/class-bp-activity-list-table.php:593
457
  #: bp-templates/bp-legacy/buddypress/activity/comment.php:40
458
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:797
459
  #. translators: accessibility text
460
  msgid "Reply"
461
  msgstr ""
@@ -463,7 +458,7 @@ msgstr ""
463
  #: bp-activity/bp-activity-admin.php:1048 bp-groups/bp-groups-admin.php:722
464
  #: bp-members/classes/class-bp-members-admin.php:2188
465
  #: bp-templates/bp-legacy/buddypress/activity/entry.php:130
466
- #: bp-templates/bp-nouveau/buddypress/activity/comment-form.php:21
467
  #: bp-xprofile/classes/class-bp-xprofile-field.php:1355
468
  #: bp-xprofile/classes/class-bp-xprofile-group.php:831
469
  msgid "Cancel"
@@ -537,7 +532,7 @@ msgstr ""
537
  msgid "The item you were replying to no longer exists."
538
  msgstr ""
539
 
540
- #: bp-activity/bp-activity-functions.php:3218
541
  msgid "Thumbnail"
542
  msgstr ""
543
 
@@ -715,11 +710,6 @@ msgstr ""
715
  #: bp-templates/bp-legacy/buddypress/activity/comment.php:46
716
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:148
717
  #: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:45
718
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:456
719
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:457
720
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:811
721
- #: bp-templates/bp-nouveau/includes/notifications/functions.php:231
722
- #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:115
723
  #: bp-xprofile/classes/class-bp-xprofile-field-type.php:405
724
  msgid "Delete"
725
  msgstr ""
@@ -753,7 +743,7 @@ msgstr ""
753
 
754
  #: bp-activity/classes/class-bp-activity-activity.php:365
755
  #: bp-activity/classes/class-bp-activity-template.php:144
756
- #: bp-groups/bp-groups-functions.php:245 bp-groups/bp-groups-functions.php:668
757
  #: bp-groups/classes/class-bp-groups-group-members-template.php:99
758
  #: bp-groups/classes/class-bp-groups-group.php:1051
759
  #: bp-groups/classes/class-bp-groups-invite-template.php:84
@@ -996,9 +986,10 @@ msgstr ""
996
  #: bp-templates/bp-legacy/buddypress/groups/groups-loop.php:67
997
  #: bp-templates/bp-legacy/buddypress/groups/single/cover-image-header.php:63
998
  #: bp-templates/bp-legacy/buddypress/groups/single/group-header.php:72
999
- #: bp-templates/bp-nouveau/buddypress/groups/groups-loop.php:47
1000
- #: bp-templates/bp-nouveau/buddypress/groups/single/cover-image-header.php:30
1001
- #: bp-templates/bp-nouveau/buddypress/groups/single/group-header.php:26
 
1002
  msgid "active %s"
1003
  msgstr ""
1004
 
@@ -1105,12 +1096,6 @@ msgstr ""
1105
  #: bp-members/bp-members-template.php:1273
1106
  #: bp-messages/bp-messages-template.php:859
1107
  #: bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php:15
1108
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:130
1109
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:134
1110
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:90
1111
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:93
1112
- #: bp-templates/bp-nouveau/buddypress/common/search/search-form.php:19
1113
- #: bp-templates/bp-nouveau/includes/messages/functions.php:148
1114
  msgid "Search"
1115
  msgstr ""
1116
 
@@ -1175,7 +1160,7 @@ msgstr ""
1175
  #: bp-core/admin/bp-core-admin-components.php:24
1176
  #: bp-core/admin/bp-core-admin-settings.php:267
1177
  #: bp-core/admin/bp-core-admin-slugs.php:24
1178
- #: bp-core/classes/class-bp-admin.php:714
1179
  msgid "BuddyPress Settings"
1180
  msgstr ""
1181
 
@@ -1320,7 +1305,6 @@ msgstr ""
1320
  #: bp-members/classes/class-bp-members-ms-list-table.php:308
1321
  #: bp-messages/bp-messages-template.php:1276
1322
  #: bp-templates/bp-legacy/buddypress/members/activate.php:60
1323
- #: bp-templates/bp-nouveau/buddypress/members/activate.php:35
1324
  msgid "Activate"
1325
  msgstr ""
1326
 
@@ -1360,7 +1344,7 @@ msgid "Pages"
1360
  msgstr ""
1361
 
1362
  #: bp-core/admin/bp-core-admin-functions.php:434
1363
- #: bp-core/classes/class-bp-admin.php:716
1364
  msgid "Credits"
1365
  msgstr ""
1366
 
@@ -1700,7 +1684,7 @@ msgid ""
1700
  "the \"Repopulate site tracking records\" option."
1701
  msgstr ""
1702
 
1703
- #: bp-core/bp-core-admin.php:25
1704
  msgid "Maintenance Release"
1705
  msgid_plural "Maintenance Releases"
1706
  msgstr[0] ""
@@ -1725,7 +1709,7 @@ msgid_plural "<strong>Version %1$s</strong> addressed some security issues."
1725
  msgstr[0] ""
1726
  msgstr[1] ""
1727
 
1728
- #: bp-core/bp-core-admin.php:37
1729
  #. translators: 1: BuddyPress version number, 2: plural number of bugs.
1730
  msgid "<strong>Version %1$s</strong> addressed %2$s bug."
1731
  msgid_plural "<strong>Version %1$s</strong> addressed %2$s bugs."
@@ -2279,12 +2263,12 @@ msgid ""
2279
  "{{{activate.url}}}"
2280
  msgstr ""
2281
 
2282
- #: bp-core/bp-core-functions.php:3397
2283
  #. translators: do not remove {} brackets or translate its contents.
2284
  msgid "[{{{site.name}}}] Activate {{{user-site.url}}}"
2285
  msgstr ""
2286
 
2287
- #: bp-core/bp-core-functions.php:3399
2288
  #. translators: do not remove {} brackets or translate its contents.
2289
  msgid ""
2290
  "Thanks for registering!\n"
@@ -2296,7 +2280,7 @@ msgid ""
2296
  "href=\"{{{user-site.url}}}\">{{{user-site.url}}}</a>."
2297
  msgstr ""
2298
 
2299
- #: bp-core/bp-core-functions.php:3401
2300
  #. translators: do not remove {} brackets or translate its contents.
2301
  msgid ""
2302
  "Thanks for registering!\n"
@@ -2307,12 +2291,12 @@ msgid ""
2307
  "After you activate, you can visit your site at {{{user-site.url}}}."
2308
  msgstr ""
2309
 
2310
- #: bp-core/bp-core-functions.php:3408
2311
  #. translators: do not remove {} brackets or translate its contents.
2312
  msgid "[{{{site.name}}}] New friendship request from {{initiator.name}}"
2313
  msgstr ""
2314
 
2315
- #: bp-core/bp-core-functions.php:3410
2316
  #. translators: do not remove {} brackets or translate its contents.
2317
  msgid ""
2318
  "<a href=\"{{{initiator.url}}}\">{{initiator.name}}</a> wants to add you as "
@@ -2322,7 +2306,7 @@ msgid ""
2322
  "href=\"{{{friend-requests.url}}}\">{{{friend-requests.url}}}</a>"
2323
  msgstr ""
2324
 
2325
- #: bp-core/bp-core-functions.php:3412
2326
  #. translators: do not remove {} brackets or translate its contents.
2327
  msgid ""
2328
  "{{initiator.name}} wants to add you as a friend.\n"
@@ -2333,19 +2317,19 @@ msgid ""
2333
  "To view {{initiator.name}}'s profile, visit: {{{initiator.url}}}"
2334
  msgstr ""
2335
 
2336
- #: bp-core/bp-core-functions.php:3416
2337
  #. translators: do not remove {} brackets or translate its contents.
2338
  msgid "[{{{site.name}}}] {{friend.name}} accepted your friendship request"
2339
  msgstr ""
2340
 
2341
- #: bp-core/bp-core-functions.php:3418
2342
  #. translators: do not remove {} brackets or translate its contents.
2343
  msgid ""
2344
  "<a href=\"{{{friendship.url}}}\">{{friend.name}}</a> accepted your friend "
2345
  "request."
2346
  msgstr ""
2347
 
2348
- #: bp-core/bp-core-functions.php:3420
2349
  #. translators: do not remove {} brackets or translate its contents.
2350
  msgid ""
2351
  "{{friend.name}} accepted your friend request.\n"
@@ -2353,12 +2337,12 @@ msgid ""
2353
  "To learn more about them, visit their profile: {{{friendship.url}}}"
2354
  msgstr ""
2355
 
2356
- #: bp-core/bp-core-functions.php:3424
2357
  #. translators: do not remove {} brackets or translate its contents.
2358
  msgid "[{{{site.name}}}] Group details updated"
2359
  msgstr ""
2360
 
2361
- #: bp-core/bp-core-functions.php:3426
2362
  #. translators: do not remove {} brackets or translate its contents.
2363
  msgid ""
2364
  "Group details for the group &quot;<a "
@@ -2366,7 +2350,7 @@ msgid ""
2366
  "<blockquote>{{changed_text}}</blockquote>"
2367
  msgstr ""
2368
 
2369
- #: bp-core/bp-core-functions.php:3428
2370
  #. translators: do not remove {} brackets or translate its contents.
2371
  msgid ""
2372
  "Group details for the group \"{{group.name}}\" were updated:\n"
@@ -2376,12 +2360,12 @@ msgid ""
2376
  "To view the group, visit: {{{group.url}}}"
2377
  msgstr ""
2378
 
2379
- #: bp-core/bp-core-functions.php:3432
2380
  #. translators: do not remove {} brackets or translate its contents.
2381
  msgid "[{{{site.name}}}] You have an invitation to the group: \"{{group.name}}\""
2382
  msgstr ""
2383
 
2384
- #: bp-core/bp-core-functions.php:3434
2385
  #. translators: do not remove {} brackets or translate its contents.
2386
  msgid ""
2387
  "<a href=\"{{{inviter.url}}}\">{{inviter.name}}</a> has invited you to join "
@@ -2390,7 +2374,7 @@ msgid ""
2390
  "href=\"{{{group.url}}}\">visit the group</a> to learn more."
2391
  msgstr ""
2392
 
2393
- #: bp-core/bp-core-functions.php:3436
2394
  #. translators: do not remove {} brackets or translate its contents.
2395
  msgid ""
2396
  "{{inviter.name}} has invited you to join the group: \"{{group.name}}\".\n"
@@ -2401,19 +2385,19 @@ msgid ""
2401
  "To view {{inviter.name}}'s profile, visit: {{{inviter.url}}}"
2402
  msgstr ""
2403
 
2404
- #: bp-core/bp-core-functions.php:3440
2405
  #. translators: do not remove {} brackets or translate its contents.
2406
  msgid "[{{{site.name}}}] You have been promoted in the group: \"{{group.name}}\""
2407
  msgstr ""
2408
 
2409
- #: bp-core/bp-core-functions.php:3442
2410
  #. translators: do not remove {} brackets or translate its contents.
2411
  msgid ""
2412
  "You have been promoted to <b>{{promoted_to}}</b> in the group &quot;<a "
2413
  "href=\"{{{group.url}}}\">{{group.name}}</a>&quot;."
2414
  msgstr ""
2415
 
2416
- #: bp-core/bp-core-functions.php:3444
2417
  #. translators: do not remove {} brackets or translate its contents.
2418
  msgid ""
2419
  "You have been promoted to {{promoted_to}} in the group: \"{{group.name}}\".\n"
@@ -2421,12 +2405,12 @@ msgid ""
2421
  "To visit the group, go to: {{{group.url}}}"
2422
  msgstr ""
2423
 
2424
- #: bp-core/bp-core-functions.php:3448
2425
  #. translators: do not remove {} brackets or translate its contents.
2426
  msgid "[{{{site.name}}}] Membership request for group: {{group.name}}"
2427
  msgstr ""
2428
 
2429
- #: bp-core/bp-core-functions.php:3450
2430
  #. translators: do not remove {} brackets or translate its contents.
2431
  msgid ""
2432
  "<a href=\"{{{profile.url}}}\">{{requesting-user.name}}</a> wants to join "
@@ -2437,7 +2421,7 @@ msgid ""
2437
  "other pending requests."
2438
  msgstr ""
2439
 
2440
- #: bp-core/bp-core-functions.php:3452
2441
  #. translators: do not remove {} brackets or translate its contents.
2442
  msgid ""
2443
  "{{requesting-user.name}} wants to join the group \"{{group.name}}\". As you "
@@ -2450,12 +2434,12 @@ msgid ""
2450
  "To view {{requesting-user.name}}'s profile, visit: {{{profile.url}}}"
2451
  msgstr ""
2452
 
2453
- #: bp-core/bp-core-functions.php:3456
2454
  #. translators: do not remove {} brackets or translate its contents.
2455
  msgid "[{{{site.name}}}] New message from {{sender.name}}"
2456
  msgstr ""
2457
 
2458
- #: bp-core/bp-core-functions.php:3458
2459
  #. translators: do not remove {} brackets or translate its contents.
2460
  msgid ""
2461
  "{{sender.name}} sent you a new message: &quot;{{usersubject}}&quot;\n"
@@ -2466,7 +2450,7 @@ msgid ""
2466
  "on the conversation."
2467
  msgstr ""
2468
 
2469
- #: bp-core/bp-core-functions.php:3460
2470
  #. translators: do not remove {} brackets or translate its contents.
2471
  msgid ""
2472
  "{{sender.name}} sent you a new message: \"{{usersubject}}\"\n"
@@ -2477,12 +2461,12 @@ msgid ""
2477
  "{{{message.url}}}"
2478
  msgstr ""
2479
 
2480
- #: bp-core/bp-core-functions.php:3464
2481
  #. translators: do not remove {} brackets or translate its contents.
2482
  msgid "[{{{site.name}}}] Verify your new email address"
2483
  msgstr ""
2484
 
2485
- #: bp-core/bp-core-functions.php:3466
2486
  #. translators: do not remove {} brackets or translate its contents.
2487
  msgid ""
2488
  "You recently changed the email address associated with your account on "
@@ -2493,7 +2477,7 @@ msgid ""
2493
  "your mind, or if you think you have received this email in error."
2494
  msgstr ""
2495
 
2496
- #: bp-core/bp-core-functions.php:3468
2497
  #. translators: do not remove {} brackets or translate its contents.
2498
  msgid ""
2499
  "You recently changed the email address associated with your account on "
@@ -2504,19 +2488,19 @@ msgid ""
2504
  "your mind, or if you think you have received this email in error."
2505
  msgstr ""
2506
 
2507
- #: bp-core/bp-core-functions.php:3472
2508
  #. translators: do not remove {} brackets or translate its contents.
2509
  msgid "[{{{site.name}}}] Membership request for group \"{{group.name}}\" accepted"
2510
  msgstr ""
2511
 
2512
- #: bp-core/bp-core-functions.php:3474
2513
  #. translators: do not remove {} brackets or translate its contents.
2514
  msgid ""
2515
  "Your membership request for the group &quot;<a "
2516
  "href=\"{{{group.url}}}\">{{group.name}}</a>&quot; has been accepted."
2517
  msgstr ""
2518
 
2519
- #: bp-core/bp-core-functions.php:3476
2520
  #. translators: do not remove {} brackets or translate its contents.
2521
  msgid ""
2522
  "Your membership request for the group \"{{group.name}}\" has been accepted.\n"
@@ -2524,19 +2508,19 @@ msgid ""
2524
  "To view the group, visit: {{{group.url}}}"
2525
  msgstr ""
2526
 
2527
- #: bp-core/bp-core-functions.php:3480
2528
  #. translators: do not remove {} brackets or translate its contents.
2529
  msgid "[{{{site.name}}}] Membership request for group \"{{group.name}}\" rejected"
2530
  msgstr ""
2531
 
2532
- #: bp-core/bp-core-functions.php:3482
2533
  #. translators: do not remove {} brackets or translate its contents.
2534
  msgid ""
2535
  "Your membership request for the group &quot;<a "
2536
  "href=\"{{{group.url}}}\">{{group.name}}</a>&quot; has been rejected."
2537
  msgstr ""
2538
 
2539
- #: bp-core/bp-core-functions.php:3484
2540
  #. translators: do not remove {} brackets or translate its contents.
2541
  msgid ""
2542
  "Your membership request for the group \"{{group.name}}\" has been rejected.\n"
@@ -2544,136 +2528,136 @@ msgid ""
2544
  "To request membership again, visit: {{{group.url}}}"
2545
  msgstr ""
2546
 
2547
- #: bp-core/bp-core-functions.php:3509
2548
  msgid "A member has replied to an activity update that the recipient posted."
2549
  msgstr ""
2550
 
2551
- #: bp-core/bp-core-functions.php:3512 bp-core/bp-core-functions.php:3520
2552
  msgid ""
2553
  "You will no longer receive emails when someone replies to an update or "
2554
  "comment you posted."
2555
  msgstr ""
2556
 
2557
- #: bp-core/bp-core-functions.php:3517
2558
  msgid ""
2559
  "A member has replied to a comment on an activity update that the recipient "
2560
  "posted."
2561
  msgstr ""
2562
 
2563
- #: bp-core/bp-core-functions.php:3525
2564
  msgid "Recipient was mentioned in an activity update."
2565
  msgstr ""
2566
 
2567
- #: bp-core/bp-core-functions.php:3528 bp-core/bp-core-functions.php:3536
2568
  msgid "You will no longer receive emails when someone mentions you in an update."
2569
  msgstr ""
2570
 
2571
- #: bp-core/bp-core-functions.php:3533
2572
  msgid "Recipient was mentioned in a group activity update."
2573
  msgstr ""
2574
 
2575
- #: bp-core/bp-core-functions.php:3541
2576
  msgid "Recipient has registered for an account."
2577
  msgstr ""
2578
 
2579
- #: bp-core/bp-core-functions.php:3546
2580
  msgid "Recipient has registered for an account and site."
2581
  msgstr ""
2582
 
2583
- #: bp-core/bp-core-functions.php:3551
2584
  msgid "A member has sent a friend request to the recipient."
2585
  msgstr ""
2586
 
2587
- #: bp-core/bp-core-functions.php:3554
2588
  msgid "You will no longer receive emails when someone sends you a friend request."
2589
  msgstr ""
2590
 
2591
- #: bp-core/bp-core-functions.php:3559
2592
  msgid "Recipient has had a friend request accepted by a member."
2593
  msgstr ""
2594
 
2595
- #: bp-core/bp-core-functions.php:3562
2596
  msgid ""
2597
  "You will no longer receive emails when someone accepts your friendship "
2598
  "request."
2599
  msgstr ""
2600
 
2601
- #: bp-core/bp-core-functions.php:3567
2602
  msgid "A group's details were updated."
2603
  msgstr ""
2604
 
2605
- #: bp-core/bp-core-functions.php:3570
2606
  msgid "You will no longer receive emails when one of your groups is updated."
2607
  msgstr ""
2608
 
2609
- #: bp-core/bp-core-functions.php:3575
2610
  msgid "A member has sent a group invitation to the recipient."
2611
  msgstr ""
2612
 
2613
- #: bp-core/bp-core-functions.php:3578
2614
  msgid "You will no longer receive emails when you are invited to join a group."
2615
  msgstr ""
2616
 
2617
- #: bp-core/bp-core-functions.php:3583
2618
  msgid "Recipient's status within a group has changed."
2619
  msgstr ""
2620
 
2621
- #: bp-core/bp-core-functions.php:3586
2622
  msgid "You will no longer receive emails when you have been promoted in a group."
2623
  msgstr ""
2624
 
2625
- #: bp-core/bp-core-functions.php:3591
2626
  msgid "A member has requested permission to join a group."
2627
  msgstr ""
2628
 
2629
- #: bp-core/bp-core-functions.php:3594
2630
  msgid ""
2631
  "You will no longer receive emails when someone requests to be a member of "
2632
  "your group."
2633
  msgstr ""
2634
 
2635
- #: bp-core/bp-core-functions.php:3599
2636
  msgid "Recipient has received a private message."
2637
  msgstr ""
2638
 
2639
- #: bp-core/bp-core-functions.php:3602
2640
  msgid "You will no longer receive emails when someone sends you a message."
2641
  msgstr ""
2642
 
2643
- #: bp-core/bp-core-functions.php:3607
2644
  msgid "Recipient has changed their email address."
2645
  msgstr ""
2646
 
2647
- #: bp-core/bp-core-functions.php:3612
2648
  msgid "Recipient had requested to join a group, which was accepted."
2649
  msgstr ""
2650
 
2651
- #: bp-core/bp-core-functions.php:3615 bp-core/bp-core-functions.php:3623
2652
  msgid ""
2653
  "You will no longer receive emails when your request to join a group has "
2654
  "been accepted or denied."
2655
  msgstr ""
2656
 
2657
- #: bp-core/bp-core-functions.php:3620
2658
  msgid "Recipient had requested to join a group, which was rejected."
2659
  msgstr ""
2660
 
2661
- #: bp-core/bp-core-functions.php:3668 bp-core/bp-core-functions.php:3674
2662
- #: bp-core/bp-core-functions.php:3679
2663
  msgid "Something has gone wrong."
2664
  msgstr ""
2665
 
2666
- #: bp-core/bp-core-functions.php:3669 bp-core/bp-core-functions.php:3675
2667
  msgid ""
2668
  "Please log in and go to your settings to unsubscribe from notification "
2669
  "emails."
2670
  msgstr ""
2671
 
2672
- #: bp-core/bp-core-functions.php:3680
2673
  msgid "Please go to your notifications settings to unsubscribe from emails."
2674
  msgstr ""
2675
 
2676
- #: bp-core/bp-core-functions.php:3708
2677
  msgid ""
2678
  "You can change this or any other email notification preferences in your "
2679
  "email settings."
@@ -2694,7 +2678,8 @@ msgstr ""
2694
  #: bp-groups/classes/class-bp-groups-invite-template.php:234
2695
  #: bp-groups/classes/class-bp-groups-invite-template.php:235
2696
  #: bp-groups/classes/class-bp-groups-invite-template.php:236
2697
- #: bp-templates/bp-nouveau/includes/activity/functions.php:87
 
2698
  msgid "Profile photo of %s"
2699
  msgstr ""
2700
 
@@ -2721,7 +2706,7 @@ msgid "Activate Your Account"
2721
  msgstr ""
2722
 
2723
  #: bp-core/bp-core-template.php:3127 bp-groups/bp-groups-template.php:3394
2724
- #: bp-templates/bp-nouveau/includes/groups/functions.php:531
2725
  msgid "Create a Group"
2726
  msgstr ""
2727
 
@@ -2830,7 +2815,7 @@ msgstr ""
2830
  msgid "Close pop-up"
2831
  msgstr ""
2832
 
2833
- #: bp-core/classes/class-bp-admin.php:578
2834
  msgid ""
2835
  "A bold reimagining of our legacy templates, Nouveau is our celebration of "
2836
  "<a href=\"%s\">10 years of BuddyPress</a>! Nouveau delivers modern markup "
@@ -2839,14 +2824,14 @@ msgid ""
2839
  "BuddyPress content than ever before."
2840
  msgstr ""
2841
 
2842
- #: bp-core/classes/class-bp-admin.php:583
2843
  msgid ""
2844
  "Nouveau provides vertical and horizontal layout options for BuddyPress "
2845
  "navigation, and for the component directories, you can choose between a "
2846
  "grid layout, and a classic flat list."
2847
  msgstr ""
2848
 
2849
- #: bp-core/classes/class-bp-admin.php:587
2850
  msgid ""
2851
  "Nouveau is fully compatible with WordPress. Existing BuddyPress themes have "
2852
  "been written for our legacy template pack, and until they are updated, "
@@ -2854,7 +2839,7 @@ msgid ""
2854
  "option in <a href=\"%s\">Settings &gt; BuddyPress</a>."
2855
  msgstr ""
2856
 
2857
- #: bp-core/classes/class-bp-admin.php:599
2858
  msgid ""
2859
  "<a href=\"%s\">WP-CLI</a> is the command-line interface for WordPress. You "
2860
  "can update plugins, configure multisite installs, and much more, without "
@@ -2862,7 +2847,7 @@ msgid ""
2862
  "your BuddyPress content from WP-CLI."
2863
  msgstr ""
2864
 
2865
- #: bp-core/classes/class-bp-admin.php:606
2866
  msgid ""
2867
  "Site Notices are a feature within the Private Messaging component that "
2868
  "allows community managers to share important messages with all members of "
@@ -2870,13 +2855,13 @@ msgid ""
2870
  "has been removed from the front-end theme templates."
2871
  msgstr ""
2872
 
2873
- #: bp-core/classes/class-bp-admin.php:612
2874
  msgid ""
2875
  "Explore the new management interface at <a href=\"%s\">Users &gt; Site "
2876
  "Notices</a>."
2877
  msgstr ""
2878
 
2879
- #: bp-core/classes/class-bp-admin.php:620
2880
  msgid ""
2881
  "A new telephone number field type has been added to the Extended Profiles "
2882
  "component, with support for all international number formats. With a modern "
@@ -2884,7 +2869,7 @@ msgid ""
2884
  "directly."
2885
  msgstr ""
2886
 
2887
- #: bp-core/classes/class-bp-admin.php:623
2888
  msgid ""
2889
  "With every BuddyPress version, we strive to make performance improvements "
2890
  "alongside new features and fixes; this version is no exception. Memory use "
@@ -2892,20 +2877,20 @@ msgid ""
2892
  "individual code file when it's needed, not before."
2893
  msgstr ""
2894
 
2895
- #: bp-core/classes/class-bp-admin.php:627
2896
  msgid ""
2897
  "Most notably, the <a href=\"%s\">Legacy Forums component has been "
2898
  "removed</a> after 9 years of service. If your site was using Legacy Forums, "
2899
  "you need to <a href=\"%s\">migrate to the bbPress plugin</a>."
2900
  msgstr ""
2901
 
2902
- #: bp-core/classes/class-bp-admin.php:637
2903
  msgid ""
2904
  "To read the full list of features, fixes, and changes in this version of "
2905
  "BuddyPress, <a href=\"%s\">visit Trac</a>."
2906
  msgstr ""
2907
 
2908
- #: bp-core/classes/class-bp-admin.php:647
2909
  msgid ""
2910
  " How are you using BuddyPress? Receiving your feedback and suggestions for "
2911
  "future versions of BuddyPress genuinely motivates and encourages our "
@@ -2913,80 +2898,80 @@ msgid ""
2913
  "version of BuddyPress on our website. "
2914
  msgstr ""
2915
 
2916
- #: bp-core/classes/class-bp-admin.php:652
2917
  msgid "Thank you for using BuddyPress! 😊"
2918
  msgstr ""
2919
 
2920
- #: bp-core/classes/class-bp-admin.php:662
2921
  msgid "Built by <a href=\"%s\">%s volunteer</a>."
2922
  msgid_plural "Built by <a href=\"%s\">%s volunteers</a>."
2923
  msgstr[0] ""
2924
  msgstr[1] ""
2925
 
2926
- #: bp-core/classes/class-bp-admin.php:718
2927
  msgid "Meet the contributors behind BuddyPress:"
2928
  msgstr ""
2929
 
2930
- #: bp-core/classes/class-bp-admin.php:720
2931
  msgid "Project Leaders"
2932
  msgstr ""
2933
 
2934
- #: bp-core/classes/class-bp-admin.php:725
2935
  msgid "Project Lead"
2936
  msgstr ""
2937
 
2938
- #: bp-core/classes/class-bp-admin.php:730
2939
  msgid "Lead Developer"
2940
  msgstr ""
2941
 
2942
- #: bp-core/classes/class-bp-admin.php:735
2943
  msgid "Release Lead"
2944
  msgstr ""
2945
 
2946
- #: bp-core/classes/class-bp-admin.php:739
2947
  msgid "BuddyPress Team"
2948
  msgstr ""
2949
 
2950
- #: bp-core/classes/class-bp-admin.php:744
2951
- #: bp-core/classes/class-bp-admin.php:749
2952
- #: bp-core/classes/class-bp-admin.php:754
2953
- #: bp-core/classes/class-bp-admin.php:764
2954
- #: bp-core/classes/class-bp-admin.php:769
2955
- #: bp-core/classes/class-bp-admin.php:789
2956
- #: bp-core/classes/class-bp-admin.php:794
2957
- #: bp-core/classes/class-bp-admin.php:799
2958
- #: bp-core/classes/class-bp-admin.php:804
2959
  msgid "Core Developer"
2960
  msgstr ""
2961
 
2962
- #: bp-core/classes/class-bp-admin.php:759
2963
  msgid "Navigator"
2964
  msgstr ""
2965
 
2966
- #: bp-core/classes/class-bp-admin.php:774
2967
- #: bp-core/classes/class-bp-admin.php:779
2968
- #: bp-core/classes/class-bp-admin.php:784
2969
- #: bp-core/classes/class-bp-admin.php:809
2970
  msgid "Community Support"
2971
  msgstr ""
2972
 
2973
- #: bp-core/classes/class-bp-admin.php:813
2974
  msgid "Recent Rockstars"
2975
  msgstr ""
2976
 
2977
- #: bp-core/classes/class-bp-admin.php:837
2978
  msgid "Contributors to BuddyPress %s"
2979
  msgstr ""
2980
 
2981
- #: bp-core/classes/class-bp-admin.php:898
2982
  msgid "With our thanks to these Open Source projects"
2983
  msgstr ""
2984
 
2985
- #: bp-core/classes/class-bp-admin.php:912
2986
  msgid "Contributor Emeriti"
2987
  msgstr ""
2988
 
2989
- #: bp-core/classes/class-bp-admin.php:917
2990
  msgid "Project Founder"
2991
  msgstr ""
2992
 
@@ -3027,7 +3012,7 @@ msgid "There was a problem cropping the group profile photo."
3027
  msgstr ""
3028
 
3029
  #: bp-core/classes/class-bp-attachment-avatar.php:397
3030
- #: bp-groups/actions/create.php:285
3031
  msgid "The group profile photo was uploaded successfully."
3032
  msgstr ""
3033
 
@@ -3147,6 +3132,7 @@ msgstr ""
3147
  #: bp-members/classes/class-bp-members-list-table.php:150
3148
  #: bp-members/classes/class-bp-members-ms-list-table.php:137
3149
  #: bp-templates/bp-legacy/buddypress/members/register.php:85
 
3150
  msgid "Username"
3151
  msgstr ""
3152
 
@@ -3470,7 +3456,7 @@ msgid "You have a friendship request from %s"
3470
  msgstr ""
3471
 
3472
  #: bp-friends/bp-friends-template.php:84
3473
- #: bp-templates/bp-nouveau/includes/activity/functions.php:234
3474
  #: bp-templates/bp-nouveau/includes/groups/functions.php:139
3475
  #: bp-templates/bp-nouveau/includes/members/functions.php:62
3476
  msgid "My Friends"
@@ -3640,17 +3626,17 @@ msgstr ""
3640
  msgid "Please fill in all of the required fields"
3641
  msgstr ""
3642
 
3643
- #: bp-groups/actions/create.php:227
3644
  #: bp-groups/screens/single/send-invites.php:86
3645
  msgid "Invite successfully removed"
3646
  msgstr ""
3647
 
3648
- #: bp-groups/actions/create.php:231
3649
  #: bp-groups/screens/single/send-invites.php:97
3650
  msgid "There was an error removing the invite"
3651
  msgstr ""
3652
 
3653
- #: bp-groups/actions/create.php:272
3654
  msgid ""
3655
  "There was an error saving the group profile photo, please try uploading "
3656
  "again."
@@ -3709,7 +3695,7 @@ msgstr ""
3709
  msgid "%1$s created the group %2$s"
3710
  msgstr ""
3711
 
3712
- #: bp-groups/bp-groups-activity.php:109 bp-groups/bp-groups-activity.php:482
3713
  msgid "%1$s joined the group %2$s"
3714
  msgstr ""
3715
 
@@ -3889,7 +3875,6 @@ msgstr[1] ""
3889
  #: bp-groups/bp-groups-admin.php:769 bp-groups/bp-groups-admin.php:784
3890
  #: bp-groups/classes/class-bp-groups-widget.php:75
3891
  #: bp-groups/classes/class-bp-groups-widget.php:204
3892
- #: bp-templates/bp-nouveau/includes/groups/functions.php:846
3893
  msgid "Groups"
3894
  msgstr ""
3895
 
@@ -3927,21 +3912,21 @@ msgstr ""
3927
  #: bp-groups/bp-groups-admin.php:847
3928
  #: bp-templates/bp-legacy/buddypress/groups/create.php:183
3929
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:91
3930
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:94
3931
  msgid "All group members"
3932
  msgstr ""
3933
 
3934
  #: bp-groups/bp-groups-admin.php:848
3935
  #: bp-templates/bp-legacy/buddypress/groups/create.php:185
3936
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:93
3937
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:99
3938
  msgid "Group admins and mods only"
3939
  msgstr ""
3940
 
3941
  #: bp-groups/bp-groups-admin.php:849
3942
  #: bp-templates/bp-legacy/buddypress/groups/create.php:187
3943
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:95
3944
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:104
3945
  msgid "Group admins only"
3946
  msgstr ""
3947
 
@@ -4086,15 +4071,15 @@ msgstr ""
4086
  msgid "As the only admin, you cannot leave the group."
4087
  msgstr ""
4088
 
4089
- #: bp-groups/bp-groups-functions.php:1288
4090
  msgid "%1$s posted an update in the group %2$s"
4091
  msgstr ""
4092
 
4093
- #: bp-groups/bp-groups-functions.php:2282
4094
  msgid "Group type already exists."
4095
  msgstr ""
4096
 
4097
- #: bp-groups/bp-groups-functions.php:2309
4098
  msgid "You may not register a group type with this name."
4099
  msgstr ""
4100
 
@@ -4205,6 +4190,8 @@ msgstr[0] ""
4205
  msgstr[1] ""
4206
 
4207
  #: bp-groups/bp-groups-template.php:2014
 
 
4208
  msgid "%s member"
4209
  msgid_plural "%s members"
4210
  msgstr[0] ""
@@ -4346,7 +4333,7 @@ msgstr ""
4346
  #: bp-templates/bp-legacy/buddypress/members/single/friends.php:24
4347
  #: bp-templates/bp-legacy/buddypress/members/single/groups.php:25
4348
  #: bp-templates/bp-nouveau/includes/blogs/functions.php:108
4349
- #: bp-templates/bp-nouveau/includes/groups/functions.php:589
4350
  #: bp-templates/bp-nouveau/includes/members/functions.php:102
4351
  #: bp-templates/bp-nouveau/includes/members/functions.php:120
4352
  msgid "Alphabetical"
@@ -4508,7 +4495,6 @@ msgstr ""
4508
 
4509
  #: bp-groups/classes/class-bp-groups-list-table.php:788
4510
  #: bp-members/classes/class-bp-members-admin.php:2236
4511
- #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:24
4512
  #: bp-xprofile/classes/class-bp-xprofile-user-admin.php:388
4513
  msgid "Change"
4514
  msgstr ""
@@ -4663,13 +4649,13 @@ msgstr ""
4663
  msgid "Group invite accepted. Visit %s."
4664
  msgstr ""
4665
 
4666
- #: bp-groups/screens/user/invites.php:51
4667
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:138
4668
  msgid "Group invite could not be rejected"
4669
  msgstr ""
4670
 
4671
- #: bp-groups/screens/user/invites.php:53
4672
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:146
4673
  msgid "Group invite rejected"
4674
  msgstr ""
4675
 
@@ -5310,7 +5296,7 @@ msgstr ""
5310
  msgid "The passwords you entered do not match."
5311
  msgstr ""
5312
 
5313
- #: bp-members/screens/register.php:98
5314
  msgid "This is a required field"
5315
  msgstr ""
5316
 
@@ -5344,6 +5330,7 @@ msgid "Messages marked as read"
5344
  msgstr ""
5345
 
5346
  #: bp-messages/actions/bulk-manage.php:68
 
5347
  msgid "Messages marked as unread."
5348
  msgstr ""
5349
 
@@ -5417,7 +5404,7 @@ msgid "Message marked unread."
5417
  msgstr ""
5418
 
5419
  #: bp-messages/actions/view.php:41
5420
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:190
5421
  msgid "Your reply was sent successfully"
5422
  msgstr ""
5423
 
@@ -5484,14 +5471,14 @@ msgstr ""
5484
 
5485
  #: bp-messages/bp-messages-star.php:107
5486
  #: bp-templates/bp-legacy/buddypress-functions.php:332
5487
- #: bp-templates/bp-nouveau/includes/messages/functions.php:123
5488
  msgid "Unstar"
5489
  msgstr ""
5490
 
5491
  #: bp-messages/bp-messages-star.php:108
5492
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:82
5493
  #: bp-templates/bp-legacy/buddypress-functions.php:333
5494
- #: bp-templates/bp-nouveau/includes/messages/functions.php:124
5495
  #. translators: accessibility text
5496
  msgid "Star"
5497
  msgstr ""
@@ -5500,25 +5487,25 @@ msgstr ""
5500
  #: bp-messages/classes/class-bp-messages-component.php:250
5501
  #: bp-messages/classes/class-bp-messages-component.php:357
5502
  #: bp-templates/bp-legacy/buddypress-functions.php:334
5503
- #: bp-templates/bp-nouveau/includes/messages/functions.php:125
5504
  msgid "Starred"
5505
  msgstr ""
5506
 
5507
  #: bp-messages/bp-messages-star.php:110
5508
  #: bp-templates/bp-legacy/buddypress-functions.php:335
5509
- #: bp-templates/bp-nouveau/includes/messages/functions.php:126
5510
  msgid "Not starred"
5511
  msgstr ""
5512
 
5513
  #: bp-messages/bp-messages-star.php:111
5514
  #: bp-templates/bp-legacy/buddypress-functions.php:336
5515
- #: bp-templates/bp-nouveau/includes/messages/functions.php:127
5516
  msgid "Remove all starred messages in this thread"
5517
  msgstr ""
5518
 
5519
  #: bp-messages/bp-messages-star.php:112
5520
  #: bp-templates/bp-legacy/buddypress-functions.php:337
5521
- #: bp-templates/bp-nouveau/includes/messages/functions.php:128
5522
  msgid "Star the first message in this thread"
5523
  msgstr ""
5524
 
@@ -5549,7 +5536,7 @@ msgstr[0] ""
5549
  msgstr[1] ""
5550
 
5551
  #: bp-messages/bp-messages-template.php:856
5552
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:88
5553
  #. translators: accessibility text
5554
  msgid "Search Messages"
5555
  msgstr ""
@@ -5572,33 +5559,28 @@ msgstr ""
5572
 
5573
  #: bp-messages/bp-messages-template.php:1033
5574
  #: bp-notifications/bp-notifications-template.php:1024
5575
- #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:104
5576
  #. translators: accessibility text
5577
  msgid "Select Bulk Action"
5578
  msgstr ""
5579
 
5580
  #: bp-messages/bp-messages-template.php:1036
5581
  #: bp-notifications/bp-notifications-template.php:1027
5582
- #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:108
5583
  msgid "Bulk Actions"
5584
  msgstr ""
5585
 
5586
  #: bp-messages/bp-messages-template.php:1037
5587
  #: bp-notifications/bp-notifications-template.php:1030
5588
- #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:111
5589
  msgid "Mark read"
5590
  msgstr ""
5591
 
5592
  #: bp-messages/bp-messages-template.php:1038
5593
  #: bp-notifications/bp-notifications-template.php:1032
5594
- #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:113
5595
  msgid "Mark unread"
5596
  msgstr ""
5597
 
5598
  #: bp-messages/bp-messages-template.php:1049
5599
  #: bp-notifications/bp-notifications-template.php:1036
5600
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:118
5601
- #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:122
5602
  msgid "Apply"
5603
  msgstr ""
5604
 
@@ -5692,7 +5674,7 @@ msgstr ""
5692
  #: bp-messages/classes/class-bp-messages-notices-admin.php:206
5693
  #: bp-templates/bp-legacy/buddypress/members/single/messages/compose.php:39
5694
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:65
5695
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:30
5696
  msgid "Subject"
5697
  msgstr ""
5698
 
@@ -5806,6 +5788,7 @@ msgid "Newest First"
5806
  msgstr ""
5807
 
5808
  #: bp-notifications/bp-notifications-template.php:1004
 
5809
  msgid "Oldest First"
5810
  msgstr ""
5811
 
@@ -5917,7 +5900,6 @@ msgid "Capabilities"
5917
  msgstr ""
5918
 
5919
  #: bp-templates/bp-legacy/buddypress/activity/activity-loop.php:34
5920
- #: bp-templates/bp-nouveau/buddypress/activity/activity-loop.php:28
5921
  msgid "Load More"
5922
  msgstr ""
5923
 
@@ -5966,15 +5948,11 @@ msgid "Remove Favorite"
5966
  msgstr ""
5967
 
5968
  #: bp-templates/bp-legacy/buddypress/activity/entry.php:126
5969
- #: bp-templates/bp-nouveau/buddypress/activity/comment-form.php:18
5970
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:342
5971
- #: bp-templates/bp-nouveau/includes/activity/template-tags.php:347
5972
  #. translators: accessibility text
5973
  msgid "Comment"
5974
  msgstr ""
5975
 
5976
  #: bp-templates/bp-legacy/buddypress/activity/entry.php:130
5977
- #: bp-templates/bp-nouveau/buddypress/activity/comment-form.php:21
5978
  msgid "Post"
5979
  msgstr ""
5980
 
@@ -6003,7 +5981,7 @@ msgid "My Favorites %s"
6003
  msgstr ""
6004
 
6005
  #: bp-templates/bp-legacy/buddypress/activity/index.php:137
6006
- #: bp-templates/bp-nouveau/includes/activity/functions.php:267
6007
  msgid "Mentions"
6008
  msgstr ""
6009
 
@@ -6045,24 +6023,24 @@ msgid "What's new in %s, %s?"
6045
  msgstr ""
6046
 
6047
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:32
6048
- #: bp-templates/bp-nouveau/includes/activity/functions.php:159
6049
  msgid "What's new, %s?"
6050
  msgstr ""
6051
 
6052
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:39
6053
- #: bp-templates/bp-nouveau/includes/activity/functions.php:160
6054
  #. translators: accessibility text
6055
  msgid "Post what's new"
6056
  msgstr ""
6057
 
6058
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:48
6059
- #: bp-templates/bp-nouveau/buddypress/activity/post-form.php:18
6060
  msgid "Post Update"
6061
  msgstr ""
6062
 
6063
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:55
6064
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:59
6065
- #: bp-templates/bp-nouveau/includes/activity/functions.php:161
6066
  #. translators: accessibility text
6067
  msgid "Post in"
6068
  msgstr ""
@@ -6073,13 +6051,11 @@ msgid "Your browser does not support this feature."
6073
  msgstr ""
6074
 
6075
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/avatars/camera.php:25
6076
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/camera.php:22
6077
  msgid "Capture"
6078
  msgstr ""
6079
 
6080
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/avatars/camera.php:26
6081
  #: bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php:30
6082
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/camera.php:23
6083
  #: bp-templates/bp-nouveau/includes/functions.php:1268
6084
  #: bp-templates/bp-nouveau/includes/functions.php:1320
6085
  #: bp-xprofile/classes/class-bp-xprofile-field.php:1180
@@ -6091,7 +6067,6 @@ msgstr ""
6091
  #: bp-templates/bp-legacy/buddypress/groups/create.php:267
6092
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-avatar.php:58
6093
  #: bp-templates/bp-legacy/buddypress/members/single/profile/change-avatar.php:61
6094
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/crop.php:21
6095
  #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-avatar.php:106
6096
  #: bp-templates/bp-nouveau/buddypress/members/single/profile/change-avatar.php:52
6097
  msgid "Crop Image"
@@ -6099,8 +6074,6 @@ msgstr ""
6099
 
6100
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/avatars/index.php:38
6101
  #: bp-templates/bp-legacy/buddypress/members/single/profile/change-avatar.php:45
6102
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/index.php:35
6103
- #: bp-templates/bp-nouveau/buddypress/members/single/profile/change-avatar.php:36
6104
  msgid ""
6105
  "If you'd like to delete your current profile photo but not upload a new "
6106
  "one, please use the delete profile photo button."
@@ -6131,26 +6104,23 @@ msgid "Delete Group Profile Photo"
6131
  msgstr ""
6132
 
6133
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php:27
6134
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php:24
6135
  msgid ""
6136
  "If you'd like to delete your current cover image but not upload a new one, "
6137
  "please use the delete Cover Image button."
6138
  msgstr ""
6139
 
6140
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php:28
6141
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php:25
6142
  msgid "Delete My Cover Image"
6143
  msgstr ""
6144
 
6145
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php:30
6146
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php:27
6147
  msgid ""
6148
  "If you'd like to remove the existing group cover image but not upload a new "
6149
  "one, please use the delete group cover image button."
6150
  msgstr ""
6151
 
6152
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php:31
6153
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php:28
6154
  msgid "Delete Group Cover Image"
6155
  msgstr ""
6156
 
@@ -6171,7 +6141,6 @@ msgstr ""
6171
 
6172
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/uploader.php:28
6173
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/uploader.php:29
6174
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/uploader.php:23
6175
  #. translators: accessibility text
6176
  msgid "Select your File"
6177
  msgstr ""
@@ -6208,7 +6177,7 @@ msgstr ""
6208
  #: bp-templates/bp-legacy/buddypress/members/single/friends.php:22
6209
  #: bp-templates/bp-legacy/buddypress/members/single/groups.php:22
6210
  #: bp-templates/bp-nouveau/includes/blogs/functions.php:106
6211
- #: bp-templates/bp-nouveau/includes/groups/functions.php:586
6212
  #: bp-templates/bp-nouveau/includes/members/functions.php:97
6213
  msgid "Last Active"
6214
  msgstr ""
@@ -6276,7 +6245,6 @@ msgstr ""
6276
 
6277
  #: bp-templates/bp-legacy/buddypress/groups/create.php:132
6278
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:40
6279
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:44
6280
  msgid "Only users who request membership and are accepted can join the group."
6281
  msgstr ""
6282
 
@@ -6297,7 +6265,6 @@ msgstr ""
6297
 
6298
  #: bp-templates/bp-legacy/buddypress/groups/create.php:140
6299
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:48
6300
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:54
6301
  msgid "Only users who are invited can join the group."
6302
  msgstr ""
6303
 
@@ -6309,13 +6276,13 @@ msgstr ""
6309
 
6310
  #: bp-templates/bp-legacy/buddypress/groups/create.php:153
6311
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:61
6312
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:65
6313
  msgid "Group Types"
6314
  msgstr ""
6315
 
6316
  #: bp-templates/bp-legacy/buddypress/groups/create.php:155
6317
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:63
6318
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:67
6319
  msgid "Select the types this group should be a part of."
6320
  msgstr ""
6321
 
@@ -6327,13 +6294,13 @@ msgstr ""
6327
 
6328
  #: bp-templates/bp-legacy/buddypress/groups/create.php:177
6329
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:85
6330
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:88
6331
  msgid "Group Invitations"
6332
  msgstr ""
6333
 
6334
  #: bp-templates/bp-legacy/buddypress/groups/create.php:179
6335
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:87
6336
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:90
6337
  msgid "Which members of this group are allowed to invite others?"
6338
  msgstr ""
6339
 
@@ -6463,13 +6430,13 @@ msgstr ""
6463
 
6464
  #: bp-templates/bp-legacy/buddypress/groups/index.php:97
6465
  #: bp-templates/bp-legacy/buddypress/members/single/groups.php:23
6466
- #: bp-templates/bp-nouveau/includes/groups/functions.php:587
6467
  msgid "Most Members"
6468
  msgstr ""
6469
 
6470
  #: bp-templates/bp-legacy/buddypress/groups/index.php:98
6471
  #: bp-templates/bp-legacy/buddypress/members/single/groups.php:24
6472
- #: bp-templates/bp-nouveau/includes/groups/functions.php:588
6473
  msgid "Newly Created"
6474
  msgstr ""
6475
 
@@ -6515,7 +6482,8 @@ msgid "No group moderators were found."
6515
  msgstr ""
6516
 
6517
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/manage-members.php:248
6518
- #: bp-templates/bp-nouveau/buddypress/groups/single/admin/manage-members.php:98
 
6519
  msgid "(banned)"
6520
  msgstr ""
6521
 
@@ -6550,7 +6518,6 @@ msgstr ""
6550
 
6551
  #: bp-templates/bp-legacy/buddypress/groups/single/cover-image-header.php:75
6552
  #: bp-templates/bp-legacy/buddypress/groups/single/group-header.php:23
6553
- #: bp-templates/bp-nouveau/buddypress/groups/single/parts/header-item-actions.php:16
6554
  msgid "Group Admins"
6555
  msgstr ""
6556
 
@@ -6572,32 +6539,26 @@ msgstr ""
6572
  msgid "No members were found."
6573
  msgstr ""
6574
 
6575
- #: bp-templates/bp-legacy/buddypress/groups/single/request-membership.php:20
6576
- #. translators: accessibility text
6577
- msgid "Request form"
6578
  msgstr ""
6579
 
6580
- #: bp-templates/bp-legacy/buddypress/groups/single/request-membership.php:23
6581
- #: bp-templates/bp-nouveau/buddypress/groups/single/request-membership.php:12
6582
- msgid "You are requesting to become a member of the group '%s'."
 
 
6583
  msgstr ""
6584
 
6585
- #: bp-templates/bp-legacy/buddypress/groups/single/request-membership.php:26
6586
- #: bp-templates/bp-nouveau/buddypress/groups/single/request-membership.php:15
6587
  msgid "Comments (optional)"
6588
  msgstr ""
6589
 
6590
- #: bp-templates/bp-legacy/buddypress/groups/single/request-membership.php:38
6591
- #: bp-templates/bp-nouveau/buddypress/groups/single/request-membership.php:20
6592
- msgid "Send Request"
6593
- msgstr ""
6594
-
6595
  #: bp-templates/bp-legacy/buddypress/groups/single/requests-loop.php:58
6596
  #: bp-templates/bp-legacy/buddypress/members/single/friends/requests.php:63
6597
  #: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:51
6598
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:710
6599
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:766
6600
- #: bp-templates/bp-nouveau/includes/members/template-tags.php:289
6601
  msgid "Accept"
6602
  msgstr ""
6603
 
@@ -6606,7 +6567,6 @@ msgstr ""
6606
  #: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:52
6607
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:737
6608
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:793
6609
- #: bp-templates/bp-nouveau/includes/members/template-tags.php:305
6610
  msgid "Reject"
6611
  msgstr ""
6612
 
@@ -6639,26 +6599,26 @@ msgid "All of your friends already belong to this group."
6639
  msgstr ""
6640
 
6641
  #: bp-templates/bp-legacy/buddypress/members/activate.php:45
6642
- #: bp-templates/bp-nouveau/buddypress/members/activate.php:20
6643
  msgid ""
6644
  "Your account was activated successfully! Your account details have been "
6645
  "sent to you in a separate email."
6646
  msgstr ""
6647
 
6648
  #: bp-templates/bp-legacy/buddypress/members/activate.php:47
6649
- #: bp-templates/bp-nouveau/buddypress/members/activate.php:22
6650
  msgid ""
6651
  "Your account was activated successfully! You can now <a href=\"%s\">log "
6652
  "in</a> with the username and password you provided when you signed up."
6653
  msgstr ""
6654
 
6655
  #: bp-templates/bp-legacy/buddypress/members/activate.php:52
6656
- #: bp-templates/bp-nouveau/buddypress/members/activate.php:27
6657
  msgid "Please provide a valid activation key."
6658
  msgstr ""
6659
 
6660
  #: bp-templates/bp-legacy/buddypress/members/activate.php:56
6661
- #: bp-templates/bp-nouveau/buddypress/members/activate.php:31
6662
  msgid "Activation Key:"
6663
  msgstr ""
6664
 
@@ -6682,7 +6642,6 @@ msgid "Members directory"
6682
  msgstr ""
6683
 
6684
  #: bp-templates/bp-legacy/buddypress/members/register.php:46
6685
- #: bp-templates/bp-nouveau/includes/functions.php:923
6686
  msgid "User registration is currently not allowed."
6687
  msgstr ""
6688
 
@@ -6704,19 +6663,23 @@ msgstr ""
6704
  #: bp-templates/bp-legacy/buddypress/members/register.php:119
6705
  #: bp-templates/bp-legacy/buddypress/members/register.php:280
6706
  #: bp-templates/bp-legacy/buddypress/members/register.php:296
 
6707
  #: bp-xprofile/bp-xprofile-template.php:1463
6708
  msgid "(required)"
6709
  msgstr ""
6710
 
6711
  #: bp-templates/bp-legacy/buddypress/members/register.php:96
 
6712
  msgid "Email Address"
6713
  msgstr ""
6714
 
6715
  #: bp-templates/bp-legacy/buddypress/members/register.php:107
 
6716
  msgid "Choose a Password"
6717
  msgstr ""
6718
 
6719
  #: bp-templates/bp-legacy/buddypress/members/register.php:119
 
6720
  msgid "Confirm Password"
6721
  msgstr ""
6722
 
@@ -6742,21 +6705,16 @@ msgstr ""
6742
  #: bp-templates/bp-legacy/buddypress/members/register.php:205
6743
  #: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:75
6744
  #: bp-templates/bp-legacy/buddypress-functions.php:294
6745
- #: bp-templates/bp-nouveau/buddypress/common/notices/template-notices.php:15
6746
- #: bp-templates/bp-nouveau/buddypress/members/single/default-front.php:16
6747
- #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:35
6748
  #: bp-templates/bp-nouveau/buddypress-functions.php:413
6749
  #: bp-xprofile/classes/class-bp-xprofile-user-admin.php:402
6750
  msgid "Close"
6751
  msgstr ""
6752
 
6753
  #: bp-templates/bp-legacy/buddypress/members/register.php:274
6754
- #: bp-templates/bp-nouveau/buddypress/members/register.php:89
6755
  msgid "Blog Details"
6756
  msgstr ""
6757
 
6758
  #: bp-templates/bp-legacy/buddypress/members/register.php:276
6759
- #: bp-templates/bp-nouveau/buddypress/members/register.php:91
6760
  msgid "Yes, I'd like to create a new site"
6761
  msgstr ""
6762
 
@@ -6765,6 +6723,7 @@ msgid "Blog URL"
6765
  msgstr ""
6766
 
6767
  #: bp-templates/bp-legacy/buddypress/members/register.php:296
 
6768
  msgid "Site Title"
6769
  msgstr ""
6770
 
@@ -6827,6 +6786,7 @@ msgid "Friends"
6827
  msgstr ""
6828
 
6829
  #: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:21
 
6830
  #. translators: accessibility text
6831
  msgid "Group invitations"
6832
  msgstr ""
@@ -6893,12 +6853,12 @@ msgid "Select this message"
6893
  msgstr ""
6894
 
6895
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:105
6896
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:133
6897
  msgid "From:"
6898
  msgstr ""
6899
 
6900
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:112
6901
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:143
6902
  msgid "To:"
6903
  msgstr ""
6904
 
@@ -6907,8 +6867,8 @@ msgid "View Message"
6907
  msgstr ""
6908
 
6909
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:195
6910
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:218
6911
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:351
6912
  msgid "Sorry, no messages were found."
6913
  msgstr ""
6914
 
@@ -6937,18 +6897,17 @@ msgid "Conversation between %s."
6937
  msgstr ""
6938
 
6939
  #: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:102
6940
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:304
6941
  msgid "Send a Reply"
6942
  msgstr ""
6943
 
6944
  #: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:125
6945
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:315
6946
  #. translators: accessibility text
6947
  msgid "Reply to Message"
6948
  msgstr ""
6949
 
6950
  #: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:139
6951
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:321
6952
  msgid "Send Reply"
6953
  msgstr ""
6954
 
@@ -7034,7 +6993,6 @@ msgid "Crop Your New Profile Photo"
7034
  msgstr ""
7035
 
7036
  #: bp-templates/bp-legacy/buddypress/members/single/profile/change-avatar.php:85
7037
- #: bp-templates/bp-nouveau/buddypress/members/single/profile/change-avatar.php:77
7038
  msgid ""
7039
  "Your profile photo will be used on your profile and throughout the site. To "
7040
  "change your profile photo, please create an account with <a "
@@ -7054,7 +7012,6 @@ msgid "Your Cover Image will be used to customize the header of your profile."
7054
  msgstr ""
7055
 
7056
  #: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:27
7057
- #: bp-templates/bp-nouveau/buddypress/members/single/profile/edit.php:30
7058
  msgid "Editing '%s' Profile Group"
7059
  msgstr ""
7060
 
@@ -7069,7 +7026,6 @@ msgid "%s's Profile"
7069
  msgstr ""
7070
 
7071
  #: bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php:26
7072
- #: bp-templates/bp-nouveau/buddypress/members/single/settings/capabilities.php:19
7073
  msgid "This user is a spammer."
7074
  msgstr ""
7075
 
@@ -7163,7 +7119,7 @@ msgstr ""
7163
  #: bp-templates/bp-legacy/buddypress-functions.php:298
7164
  #: bp-templates/bp-nouveau/buddypress-functions.php:417
7165
  #: bp-templates/bp-nouveau/includes/activity/ajax.php:113
7166
- #: bp-templates/bp-nouveau/includes/activity/functions.php:221
7167
  msgid "My Favorites"
7168
  msgstr ""
7169
 
@@ -7260,8 +7216,21 @@ msgstr ""
7260
  msgid "There was a problem sending that reply. Please try again."
7261
  msgstr ""
7262
 
7263
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/activity/form.php:42
7264
- msgid "Remove item"
 
 
 
 
 
 
 
 
 
 
 
 
 
7265
  msgstr ""
7266
 
7267
  #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:16
@@ -7286,101 +7255,67 @@ msgid "The invite has been sent."
7286
  msgstr ""
7287
 
7288
  #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:86
7289
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:90
7290
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:99
7291
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:101
7292
- msgid "Disinvite"
7293
- msgstr ""
7294
-
7295
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:86
7296
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:92
7297
- msgid "Invite"
7298
  msgstr ""
7299
 
7300
  #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:116
7301
  msgid "Optional: add a message to your invite."
7302
  msgstr ""
7303
 
7304
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:143
7305
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:145
7306
- msgid "Previous page"
7307
- msgstr ""
7308
-
7309
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:150
7310
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:151
7311
- msgid "Next page"
7312
- msgstr ""
7313
-
7314
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:27
7315
  msgid "Send @Username"
7316
  msgstr ""
7317
 
7318
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:38
7319
- msgid "Send"
7320
- msgstr ""
7321
-
7322
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:39
7323
- msgid "Reset"
7324
- msgstr ""
7325
-
7326
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:71
7327
- msgid "Prev"
7328
- msgstr ""
7329
-
7330
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:78
7331
- msgid "Next"
7332
- msgstr ""
7333
-
7334
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:103
7335
  msgid "All Messages"
7336
  msgstr ""
7337
 
7338
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:107
7339
  msgid "Select bulk action"
7340
  msgstr ""
7341
 
7342
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:126
7343
  msgid "Select message:"
7344
  msgstr ""
7345
 
7346
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:168
7347
  msgid "Active conversation:"
7348
  msgstr ""
7349
 
7350
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:174
7351
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:223
7352
  msgid "Participants:"
7353
  msgstr ""
7354
 
7355
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:187
7356
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:188
7357
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:236
7358
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:237
7359
  msgid "Delete conversation."
7360
  msgstr ""
7361
 
7362
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:194
7363
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:195
7364
  msgid "Unstar Conversation"
7365
  msgstr ""
7366
 
7367
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:198
7368
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:199
7369
  msgid "Star Conversation"
7370
  msgstr ""
7371
 
7372
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:205
7373
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:206
7374
  msgid "View full conversation and reply."
7375
  msgstr ""
7376
 
7377
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:259
7378
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:260
7379
  msgid "Unstar Message"
7380
  msgstr ""
7381
 
7382
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:263
7383
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:264
7384
  msgid "Star Message"
7385
  msgstr ""
7386
 
@@ -7393,11 +7328,11 @@ msgstr ""
7393
  msgid "Close this notice"
7394
  msgstr ""
7395
 
7396
- #: bp-templates/bp-nouveau/buddypress/groups/create.php:10
7397
  msgid "Create A New Group"
7398
  msgstr ""
7399
 
7400
- #: bp-templates/bp-nouveau/buddypress/groups/create.php:26
7401
  msgid "Group creation menu"
7402
  msgstr ""
7403
 
@@ -7447,6 +7382,14 @@ msgstr ""
7447
  msgid "Change Group Settings"
7448
  msgstr ""
7449
 
 
 
 
 
 
 
 
 
7450
  #: bp-templates/bp-nouveau/buddypress/groups/single/admin/manage-members.php:11
7451
  msgid "Manage Group Members"
7452
  msgstr ""
@@ -7472,13 +7415,25 @@ msgid "Group administration menu"
7472
  msgstr ""
7473
 
7474
  #: bp-templates/bp-nouveau/buddypress/groups/single/parts/header-item-actions.php:13
7475
- msgid "Leadership"
 
 
 
 
7476
  msgstr ""
7477
 
7478
  #: bp-templates/bp-nouveau/buddypress/groups/single/parts/item-nav.php:10
7479
  msgid "Group menu"
7480
  msgstr ""
7481
 
 
 
 
 
 
 
 
 
7482
  #: bp-templates/bp-nouveau/buddypress/members/single/activity.php:11
7483
  msgid "Activity menu"
7484
  msgstr ""
@@ -7520,15 +7475,16 @@ msgid "Notifications menu"
7520
  msgstr ""
7521
 
7522
  #: bp-templates/bp-nouveau/buddypress/members/single/parts/item-nav.php:10
7523
- msgid "User menu"
7524
  msgstr ""
7525
 
7526
- #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:20
7527
- #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:43
 
7528
  msgid "This field may be seen by: %s"
7529
  msgstr ""
7530
 
7531
- #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:30
7532
  msgid "Who is allowed to see this field?"
7533
  msgstr ""
7534
 
@@ -7540,6 +7496,19 @@ msgid ""
7540
  "computer."
7541
  msgstr ""
7542
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7543
  #: bp-templates/bp-nouveau/buddypress/members/single/profile.php:10
7544
  msgid "Profile menu"
7545
  msgstr ""
@@ -7548,6 +7517,10 @@ msgstr ""
7548
  msgid "Members Capabilities"
7549
  msgstr ""
7550
 
 
 
 
 
7551
  #: bp-templates/bp-nouveau/buddypress/members/single/settings/general.php:12
7552
  msgid "Email & Password"
7553
  msgstr ""
@@ -7601,7 +7574,7 @@ msgid "There was a problem displaying the content. Please try again."
7601
  msgstr ""
7602
 
7603
  #: bp-templates/bp-nouveau/includes/activity/ajax.php:455
7604
- msgid "No items were found."
7605
  msgstr ""
7606
 
7607
  #: bp-templates/bp-nouveau/includes/activity/ajax.php:554
@@ -7613,49 +7586,53 @@ msgid "View activity."
7613
  msgstr ""
7614
 
7615
  #: bp-templates/bp-nouveau/includes/activity/ajax.php:582
7616
- msgid "There was a problem spamming this item. Please try again."
7617
  msgstr ""
7618
 
7619
- #: bp-templates/bp-nouveau/includes/activity/functions.php:133
 
 
 
 
7620
  msgid "Post in: Profile"
7621
  msgstr ""
7622
 
7623
- #: bp-templates/bp-nouveau/includes/activity/functions.php:142
7624
  msgid "Post in: Group"
7625
  msgstr ""
7626
 
7627
- #: bp-templates/bp-nouveau/includes/activity/functions.php:143
7628
  msgid "Start typing the group name..."
7629
  msgstr ""
7630
 
7631
- #: bp-templates/bp-nouveau/includes/activity/functions.php:193
7632
  #: bp-templates/bp-nouveau/includes/groups/functions.php:118
7633
  #: bp-templates/bp-nouveau/includes/members/functions.php:49
7634
  msgid "All Members"
7635
  msgstr ""
7636
 
7637
- #: bp-templates/bp-nouveau/includes/activity/functions.php:247
7638
- #: bp-templates/bp-nouveau/includes/groups/functions.php:518
7639
  msgid "My Groups"
7640
  msgstr ""
7641
 
7642
- #: bp-templates/bp-nouveau/includes/activity/functions.php:484
7643
  msgid "New mentions"
7644
  msgstr ""
7645
 
7646
- #: bp-templates/bp-nouveau/includes/activity/functions.php:489
7647
  msgid "New update replies"
7648
  msgstr ""
7649
 
7650
- #: bp-templates/bp-nouveau/includes/activity/functions.php:494
7651
  msgid "New update comment replies"
7652
  msgstr ""
7653
 
7654
- #: bp-templates/bp-nouveau/includes/activity/functions.php:516
7655
  msgid "Use column navigation for the Activity directory."
7656
  msgstr ""
7657
 
7658
- #: bp-templates/bp-nouveau/includes/activity/functions.php:522
7659
  msgid "Use tab styling for Activity directory navigation."
7660
  msgstr ""
7661
 
@@ -7674,7 +7651,7 @@ msgstr ""
7674
 
7675
  #: bp-templates/bp-nouveau/includes/activity/widgets.php:35
7676
  msgid ""
7677
- "Display the latest updates of your community having the type(s) of your "
7678
  "choice."
7679
  msgstr ""
7680
 
@@ -7688,7 +7665,7 @@ msgid "Latest updates"
7688
  msgstr ""
7689
 
7690
  #: bp-templates/bp-nouveau/includes/activity/widgets.php:188
7691
- msgid "Max amount to display:"
7692
  msgstr ""
7693
 
7694
  #: bp-templates/bp-nouveau/includes/activity/widgets.php:192
@@ -7700,7 +7677,7 @@ msgid "All Sites"
7700
  msgstr ""
7701
 
7702
  #: bp-templates/bp-nouveau/includes/blogs/functions.php:168
7703
- msgid "Blogs loop:"
7704
  msgstr ""
7705
 
7706
  #: bp-templates/bp-nouveau/includes/blogs/functions.php:175
@@ -7711,21 +7688,17 @@ msgstr ""
7711
  msgid "Use tab styling for Sites directory navigation."
7712
  msgstr ""
7713
 
7714
- #: bp-templates/bp-nouveau/includes/classes.php:47
7715
- msgid "You need to use an array containing arrays of parameters."
7716
- msgstr ""
7717
-
7718
- #: bp-templates/bp-nouveau/includes/classes.php:194
7719
  msgid ""
7720
  "Displays BuddyPress primary nav in the sidebar of your site. Make sure to "
7721
  "use it as the first widget of the sidebar and only once."
7722
  msgstr ""
7723
 
7724
- #: bp-templates/bp-nouveau/includes/classes.php:200
7725
- msgid "(BuddyPress) Primary nav"
7726
  msgstr ""
7727
 
7728
- #: bp-templates/bp-nouveau/includes/classes.php:318
7729
  msgid "Include navigation title"
7730
  msgstr ""
7731
 
@@ -7737,14 +7710,15 @@ msgstr ""
7737
 
7738
  #: bp-templates/bp-nouveau/includes/customizer-controls.php:58
7739
  msgid ""
7740
- "Drag each possible group nav items that are listed below into the order you "
7741
- "prefer, in some groups some of these nav items might not be active."
 
7742
  msgstr ""
7743
 
7744
  #: bp-templates/bp-nouveau/includes/customizer-controls.php:65
7745
  msgid ""
7746
- "Drag each possible user nav items that are listed below into the order you "
7747
- "prefer."
7748
  msgstr ""
7749
 
7750
  #: bp-templates/bp-nouveau/includes/customizer.php:26
@@ -7760,21 +7734,21 @@ msgid "Configure general BuddyPress appearance options."
7760
  msgstr ""
7761
 
7762
  #: bp-templates/bp-nouveau/includes/customizer.php:46
7763
- msgid "User front page"
7764
  msgstr ""
7765
 
7766
  #: bp-templates/bp-nouveau/includes/customizer.php:49
7767
- msgid "Configure the default front page for users."
7768
  msgstr ""
7769
 
7770
  #: bp-templates/bp-nouveau/includes/customizer.php:52
7771
- msgid "User navigation"
7772
  msgstr ""
7773
 
7774
  #: bp-templates/bp-nouveau/includes/customizer.php:55
7775
  msgid ""
7776
- "Customize the navigation menu for users. In the preview window, navigate to "
7777
- "a user to preview your changes."
7778
  msgstr ""
7779
 
7780
  #: bp-templates/bp-nouveau/includes/customizer.php:58
@@ -7802,20 +7776,18 @@ msgid "Enable default front page for member profiles."
7802
  msgstr ""
7803
 
7804
  #: bp-templates/bp-nouveau/includes/customizer.php:232
7805
- msgid "Display the biographical info from the user's WordPress profile."
7806
  msgstr ""
7807
 
7808
  #: bp-templates/bp-nouveau/includes/customizer.php:238
7809
- msgid "Display the user navigation vertically."
7810
  msgstr ""
7811
 
7812
  #: bp-templates/bp-nouveau/includes/customizer.php:244
7813
- #: bp-templates/bp-nouveau/includes/groups/functions.php:821
7814
  msgid "Use tab styling for primary nav."
7815
  msgstr ""
7816
 
7817
  #: bp-templates/bp-nouveau/includes/customizer.php:250
7818
- #: bp-templates/bp-nouveau/includes/groups/functions.php:827
7819
  msgid "Use tab styling for secondary nav."
7820
  msgstr ""
7821
 
@@ -7837,7 +7809,7 @@ msgstr ""
7837
 
7838
  #: bp-templates/bp-nouveau/includes/friends/ajax.php:68
7839
  #: bp-templates/bp-nouveau/includes/groups/ajax.php:47
7840
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:257
7841
  msgid "There was a problem performing this action. Please try again."
7842
  msgstr ""
7843
 
@@ -7866,7 +7838,7 @@ msgid "Pending friendship requests"
7866
  msgstr ""
7867
 
7868
  #: bp-templates/bp-nouveau/includes/functions.php:319
7869
- msgid "BuddyPress User's Home"
7870
  msgstr ""
7871
 
7872
  #: bp-templates/bp-nouveau/includes/functions.php:321
@@ -7901,6 +7873,10 @@ msgstr ""
7901
  msgid "Four columns"
7902
  msgstr ""
7903
 
 
 
 
 
7904
  #: bp-templates/bp-nouveau/includes/functions.php:941
7905
  msgid "Loading the community updates. Please wait."
7906
  msgstr ""
@@ -7970,19 +7946,19 @@ msgid ""
7970
  msgstr ""
7971
 
7972
  #: bp-templates/bp-nouveau/includes/functions.php:1037
7973
- msgid "Loading the user's updates. Please wait."
7974
  msgstr ""
7975
 
7976
  #: bp-templates/bp-nouveau/includes/functions.php:1041
7977
- msgid "Loading the user's blogs. Please wait."
7978
  msgstr ""
7979
 
7980
  #: bp-templates/bp-nouveau/includes/functions.php:1045
7981
- msgid "Loading the user's friends. Please wait."
7982
  msgstr ""
7983
 
7984
  #: bp-templates/bp-nouveau/includes/functions.php:1049
7985
- msgid "Loading the user's groups. Please wait."
7986
  msgstr ""
7987
 
7988
  #: bp-templates/bp-nouveau/includes/functions.php:1053
@@ -8018,6 +7994,10 @@ msgstr ""
8018
  msgid "Loading your groups. Please wait."
8019
  msgstr ""
8020
 
 
 
 
 
8021
  #: bp-templates/bp-nouveau/includes/groups/ajax.php:79
8022
  msgid "You cannot join this group."
8023
  msgstr ""
@@ -8027,91 +8007,89 @@ msgid "You are already a member of the group."
8027
  msgstr ""
8028
 
8029
  #: bp-templates/bp-nouveau/includes/groups/ajax.php:104
8030
- msgid "Group invite could not be accepted."
8031
  msgstr ""
8032
 
8033
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:123
8034
  msgid "Group invite accepted."
8035
  msgstr ""
8036
 
8037
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:169
8038
  msgid "Error joining this group."
8039
  msgstr ""
8040
 
8041
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:190
8042
  msgid "Error requesting membership."
8043
  msgstr ""
8044
 
8045
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:211
8046
  msgid "Error leaving group."
8047
  msgstr ""
8048
 
8049
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:285
8050
  msgid ""
8051
  "Select members to invite by clicking the + button. Once you've made your "
8052
- "selection, use the \"Send Invites\" nav item to continue."
8053
  msgstr ""
8054
 
8055
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:290
8056
  msgid ""
8057
  "Select friends to invite by clicking the + button. Once you've made your "
8058
- "selection, use the \"Send Invites\" nav item to continue."
8059
  msgstr ""
8060
 
8061
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:297
8062
- msgid "No pending invites found."
8063
  msgstr ""
8064
 
8065
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:304
8066
- msgid "You can view all the group's pending invites from this screen."
8067
  msgstr ""
8068
 
8069
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:311
8070
  msgid "No members were found. Try another filter."
8071
  msgstr ""
8072
 
8073
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:317
8074
  msgid ""
8075
  "All your friends are already members of this group, or have already "
8076
  "received an invite to join this group, or have requested to join it."
8077
  msgstr ""
8078
 
8079
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:323
8080
  msgid "You have no friends!"
8081
  msgstr ""
8082
 
8083
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:352
8084
  msgid "Invites could not be sent. Please try again."
8085
  msgstr ""
8086
 
8087
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:368
8088
- msgid "You are not allowed to send invites for this group."
8089
  msgstr ""
8090
 
8091
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:407
8092
- msgid "Invites failed for %s user."
8093
- msgid_plural "Invites failed for %s users."
 
8094
  msgstr[0] ""
8095
  msgstr[1] ""
8096
 
8097
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:420
8098
- msgid "Invites sent."
8099
  msgstr ""
8100
 
8101
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:437
8102
- msgid "Invites could not be removed. Please try again."
 
8103
  msgstr ""
8104
 
8105
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:446
8106
- msgid "Too late! The user is already a member of the group."
8107
  msgstr ""
8108
 
8109
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:457
8110
- msgid "Invite could not be removed successfully."
8111
- msgstr ""
8112
-
8113
- #: bp-templates/bp-nouveau/includes/groups/ajax.php:466
8114
- msgid "No more pending invites for the group."
8115
  msgstr ""
8116
 
8117
  #: bp-templates/bp-nouveau/includes/groups/functions.php:123
@@ -8130,110 +8108,114 @@ msgstr ""
8130
 
8131
  #: bp-templates/bp-nouveau/includes/groups/functions.php:152
8132
  msgid ""
8133
- "Invites cleared. Please use one of the available tabs to select members to "
8134
- "invite."
8135
  msgstr ""
8136
 
8137
  #: bp-templates/bp-nouveau/includes/groups/functions.php:153
8138
- msgid "Sending the invites. Please wait."
8139
  msgstr ""
8140
 
8141
  #: bp-templates/bp-nouveau/includes/groups/functions.php:154
8142
- msgid "Disinvite %s"
8143
  msgstr ""
8144
 
8145
- #: bp-templates/bp-nouveau/includes/groups/functions.php:473
8146
  msgid "Group invites preferences saved."
8147
  msgstr ""
8148
 
8149
- #: bp-templates/bp-nouveau/includes/groups/functions.php:475
8150
  msgid "You are not allowed to perform this action."
8151
  msgstr ""
8152
 
8153
- #: bp-templates/bp-nouveau/includes/groups/functions.php:502
8154
  msgid "All Groups"
8155
  msgstr ""
8156
 
8157
- #: bp-templates/bp-nouveau/includes/groups/functions.php:687
8158
  msgid "Group front page"
8159
  msgstr ""
8160
 
8161
- #: bp-templates/bp-nouveau/includes/groups/functions.php:690
8162
  msgid "Configure the default front page for groups."
8163
  msgstr ""
8164
 
8165
- #: bp-templates/bp-nouveau/includes/groups/functions.php:693
8166
  msgid "Group navigation"
8167
  msgstr ""
8168
 
8169
- #: bp-templates/bp-nouveau/includes/groups/functions.php:696
8170
  msgid ""
8171
  "Customize the navigation menu for groups. See your changes by navigating to "
8172
- "a group in the live-preview window.."
8173
  msgstr ""
8174
 
8175
- #: bp-templates/bp-nouveau/includes/groups/functions.php:797
8176
  msgid "Enable custom front pages for groups."
8177
  msgstr ""
8178
 
8179
- #: bp-templates/bp-nouveau/includes/groups/functions.php:803
8180
  msgid ""
8181
- "Enable widget region for group homepages. (When enabled, the site admin can "
8182
- "add widgets to group pages via the Widgets panel.)"
8183
  msgstr ""
8184
 
8185
- #: bp-templates/bp-nouveau/includes/groups/functions.php:809
8186
  msgid "Display the group description in the body of the group's front page."
8187
  msgstr ""
8188
 
8189
- #: bp-templates/bp-nouveau/includes/groups/functions.php:815
8190
  msgid "Display the group navigation vertically."
8191
  msgstr ""
8192
 
8193
- #: bp-templates/bp-nouveau/includes/groups/functions.php:833
 
 
 
 
 
 
 
 
8194
  msgid "Use tab styling for the group creation process."
8195
  msgstr ""
8196
 
8197
- #: bp-templates/bp-nouveau/includes/groups/functions.php:840
8198
  msgid "Reorder the primary navigation for a group."
8199
  msgstr ""
8200
 
8201
- #: bp-templates/bp-nouveau/includes/groups/functions.php:853
8202
  msgid "Group > Members"
8203
  msgstr ""
8204
 
8205
- #: bp-templates/bp-nouveau/includes/groups/functions.php:860
8206
  msgid "Use column navigation for the Groups directory."
8207
  msgstr ""
8208
 
8209
- #: bp-templates/bp-nouveau/includes/groups/functions.php:866
8210
  msgid "Use tab styling for Groups directory navigation."
8211
  msgstr ""
8212
 
8213
- #: bp-templates/bp-nouveau/includes/groups/functions.php:1185
8214
  msgid "Pending Group membership requests"
8215
  msgstr ""
8216
 
8217
- #: bp-templates/bp-nouveau/includes/groups/functions.php:1190
8218
  msgid "Accepted Group membership requests"
8219
  msgstr ""
8220
 
8221
- #: bp-templates/bp-nouveau/includes/groups/functions.php:1195
8222
  msgid "Rejected Group membership requests"
8223
  msgstr ""
8224
 
8225
- #: bp-templates/bp-nouveau/includes/groups/functions.php:1200
8226
- msgid "Group Admin promotions"
8227
  msgstr ""
8228
 
8229
- #: bp-templates/bp-nouveau/includes/groups/functions.php:1205
8230
  msgid "Group Moderator promotions"
8231
  msgstr ""
8232
 
8233
- #: bp-templates/bp-nouveau/includes/groups/functions.php:1210
8234
- msgid "Group invites"
8235
- msgstr ""
8236
-
8237
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:1282
8238
  msgid "Groups default front page"
8239
  msgstr ""
@@ -8263,56 +8245,52 @@ msgstr ""
8263
  msgid "Your reply was not sent. Please enter some content."
8264
  msgstr ""
8265
 
8266
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:203
8267
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:345
8268
  msgid "Unauthorized request."
8269
  msgstr ""
8270
 
8271
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:438
8272
- msgid "There was a problem deleting your message(s). Please try again."
8273
  msgstr ""
8274
 
8275
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:461
8276
- msgid "Message(s) deleted"
8277
  msgstr ""
8278
 
8279
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:477
8280
- msgid "There was a problem starring your message(s). Please try again."
8281
  msgstr ""
8282
 
8283
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:479
8284
- msgid "There was a problem unstarring your message(s). Please try agian."
8285
  msgstr ""
8286
 
8287
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:553
8288
- msgid "Message(s) successfully starred."
8289
  msgstr ""
8290
 
8291
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:555
8292
- msgid "Message(s) successfully unstarred."
8293
  msgstr ""
8294
 
8295
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:576
8296
- msgid "There was a problem marking your message(s) as read. Please try again."
8297
  msgstr ""
8298
 
8299
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:582
8300
- msgid "There was a problem marking your message(s) as unread. Please try again."
8301
  msgstr ""
8302
 
8303
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:600
8304
- msgid "Message(s) marked as unread."
8305
  msgstr ""
8306
 
8307
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:602
8308
- msgid "Message(s) marked as read."
8309
- msgstr ""
8310
-
8311
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:637
8312
  msgid "There was a problem dismissing the notice. Please try again."
8313
  msgstr ""
8314
 
8315
- #: bp-templates/bp-nouveau/includes/messages/ajax.php:671
8316
  msgid "Sitewide notice dismissed"
8317
  msgstr ""
8318
 
@@ -8333,23 +8311,23 @@ msgid "Loading messages. Please wait."
8333
  msgstr ""
8334
 
8335
  #: bp-templates/bp-nouveau/includes/messages/functions.php:104
8336
- msgid "Marking message(s) as read. Please wait."
8337
  msgstr ""
8338
 
8339
  #: bp-templates/bp-nouveau/includes/messages/functions.php:105
8340
- msgid "Marking message(s) as unread. Please wait."
8341
  msgstr ""
8342
 
8343
  #: bp-templates/bp-nouveau/includes/messages/functions.php:106
8344
- msgid "Deleting message(s). Please wait."
8345
  msgstr ""
8346
 
8347
  #: bp-templates/bp-nouveau/includes/messages/functions.php:107
8348
- msgid "Starring message(s). Please wait."
8349
  msgstr ""
8350
 
8351
  #: bp-templates/bp-nouveau/includes/messages/functions.php:108
8352
- msgid "Unstarring message(s). Please wait."
8353
  msgstr ""
8354
 
8355
  #: bp-templates/bp-nouveau/includes/messages/functions.php:111
@@ -8372,27 +8350,21 @@ msgstr ""
8372
  msgid "(and %d others)"
8373
  msgstr ""
8374
 
8375
- #: bp-templates/bp-nouveau/includes/messages/functions.php:263
8376
  msgid "New sitewide notice"
8377
  msgstr ""
8378
 
8379
- #: bp-templates/bp-nouveau/includes/messages/functions.php:442
8380
  msgid "New private messages"
8381
  msgstr ""
8382
 
8383
- #: bp-templates/bp-nouveau/includes/notifications/functions.php:207
8384
- msgid "Mark Unread"
8385
- msgstr ""
8386
-
8387
- #: bp-templates/bp-nouveau/includes/notifications/functions.php:219
8388
- msgid "Mark Read"
8389
- msgstr ""
8390
-
8391
- #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:86
8392
- msgid "Older First"
8393
  msgstr ""
8394
 
8395
- #: bp-templates/bp-nouveau/includes/template-tags.php:2268
8396
  msgid ""
8397
  "I would like my site to appear in search engines, and in public listings "
8398
  "around this network."
@@ -9441,7 +9413,7 @@ msgctxt "Colloquial alternative to \"learn about BuddyPress\""
9441
  msgid "Hello, BuddyPress!"
9442
  msgstr ""
9443
 
9444
- #: bp-core/classes/class-bp-admin.php:953
9445
  msgctxt "Email post type"
9446
  msgid "Situations"
9447
  msgstr ""
@@ -9695,12 +9667,6 @@ msgctxt "Group screen nav"
9695
  msgid "Request Membership"
9696
  msgstr ""
9697
 
9698
- #: bp-templates/bp-nouveau/includes/groups/functions.php:302
9699
- #: bp-templates/bp-nouveau/includes/groups/functions.php:308
9700
- msgctxt "Group screen nav"
9701
- msgid "Invite"
9702
- msgstr ""
9703
-
9704
  #: bp-groups/classes/class-bp-groups-component.php:531
9705
  #. translators: %s: Group count for the current user
9706
  msgctxt "Group screen nav with counter"
@@ -9751,8 +9717,6 @@ msgid "Manage"
9751
  msgstr ""
9752
 
9753
  #: bp-templates/bp-nouveau/includes/groups/classes.php:242
9754
- #: bp-templates/bp-nouveau/includes/groups/functions.php:328
9755
- #: bp-templates/bp-nouveau/includes/groups/functions.php:339
9756
  msgctxt "My Group screen nav"
9757
  msgid "Invite"
9758
  msgstr ""
@@ -10130,11 +10094,161 @@ msgstr[0] ""
10130
  msgstr[1] ""
10131
 
10132
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/uploader.php:25
10133
- #: bp-templates/bp-nouveau/buddypress/assets/_attachments/uploader.php:22
10134
  msgctxt "Uploader: Drop your file here - or - Select your File"
10135
  msgid "or"
10136
  msgstr ""
10137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10138
  #: bp-templates/bp-legacy/buddypress/members/register.php:195
10139
  #: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:65
10140
  msgctxt "Change profile field visibility level"
@@ -10142,76 +10256,105 @@ msgid "Change"
10142
  msgstr ""
10143
 
10144
  #: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:35
10145
- #: bp-templates/bp-nouveau/buddypress/members/single/groups/invites.php:36
10146
  msgctxt "Group member count"
10147
  msgid "%d member"
10148
  msgid_plural "%d members"
10149
  msgstr[0] ""
10150
  msgstr[1] ""
10151
 
10152
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:120
10153
- msgctxt "Cancel invitation"
10154
- msgid "Cancel"
10155
  msgstr ""
10156
 
10157
- #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:121
10158
- msgctxt "Send invitation"
10159
- msgid "Send"
10160
  msgstr ""
10161
 
10162
- #: bp-templates/bp-nouveau/includes/customizer.php:27
10163
- msgctxt "Customizer Panel"
10164
- msgid "BuddyPress Nouveau"
10165
  msgstr ""
10166
 
10167
- #: bp-templates/bp-nouveau/includes/functions.php:1137
10168
- msgctxt "signup field label"
10169
- msgid "Username%s"
 
10170
  msgstr ""
10171
 
10172
- #: bp-templates/bp-nouveau/includes/functions.php:1145
10173
- msgctxt "signup field label"
10174
- msgid "Email Address%s"
 
 
10175
  msgstr ""
10176
 
10177
- #: bp-templates/bp-nouveau/includes/functions.php:1153
10178
- msgctxt "signup field label"
10179
- msgid "Choose a Password%s"
 
 
10180
  msgstr ""
10181
 
10182
- #: bp-templates/bp-nouveau/includes/functions.php:1161
10183
- msgctxt "signup field label"
10184
- msgid "Confirm Password%s"
10185
  msgstr ""
10186
 
10187
- #: bp-templates/bp-nouveau/includes/functions.php:1171
10188
- msgctxt "signup field label"
10189
- msgid "Site URL%s"
10190
  msgstr ""
10191
 
10192
- #: bp-templates/bp-nouveau/includes/functions.php:1179
10193
- msgctxt "signup field label"
10194
- msgid "Site Title%s"
 
10195
  msgstr ""
10196
 
10197
- #: bp-templates/bp-nouveau/includes/groups/functions.php:415
10198
- msgctxt "My Group Invites settings screen nav"
10199
- msgid "Group Invites"
10200
  msgstr ""
10201
 
10202
- #: bp-templates/bp-nouveau/includes/groups/functions.php:443
10203
- msgctxt "My Account Settings sub nav"
10204
- msgid "Group Invites"
10205
  msgstr ""
10206
 
10207
- #: bp-xprofile/classes/class-bp-xprofile-component.php:486
10208
- msgctxt "My Account Settings sub nav"
10209
- msgid "Profile"
10210
  msgstr ""
10211
 
10212
- #: bp-templates/bp-nouveau/includes/template-tags.php:2249
10213
- msgctxt "signup required field"
10214
- msgid "(required)"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10215
  msgstr ""
10216
 
10217
  #: bp-xprofile/bp-xprofile-admin.php:28
@@ -10377,6 +10520,11 @@ msgctxt "Avatar alt"
10377
  msgid "Profile picture of %s"
10378
  msgstr ""
10379
 
 
 
 
 
 
10380
  #: bp-xprofile/classes/class-bp-xprofile-field-type-checkbox.php:29
10381
  msgctxt "xprofile field type"
10382
  msgid "Checkboxes"
2
  # This file is distributed under the GPLv2 or later (license.txt).
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: BuddyPress 3.1.0\n"
6
  "Report-Msgid-Bugs-To: https://buddypress.trac.wordpress.org\n"
7
+ "POT-Creation-Date: 2018-06-05 19:33:30+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
121
  msgstr ""
122
 
123
  #: bp-activity/actions/spam.php:59
 
124
  msgid "The activity item has been marked as spam and is no longer visible."
125
  msgstr ""
126
 
326
  #: bp-activity/classes/class-bp-akismet.php:205
327
  #: bp-activity/classes/class-bp-akismet.php:234
328
  #: bp-core/admin/bp-core-admin-functions.php:1015
 
 
 
329
  msgid "Spam"
330
  msgstr ""
331
 
451
  #: bp-activity/bp-activity-admin.php:1049
452
  #: bp-activity/classes/class-bp-activity-list-table.php:593
453
  #: bp-templates/bp-legacy/buddypress/activity/comment.php:40
 
454
  #. translators: accessibility text
455
  msgid "Reply"
456
  msgstr ""
458
  #: bp-activity/bp-activity-admin.php:1048 bp-groups/bp-groups-admin.php:722
459
  #: bp-members/classes/class-bp-members-admin.php:2188
460
  #: bp-templates/bp-legacy/buddypress/activity/entry.php:130
461
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:167
462
  #: bp-xprofile/classes/class-bp-xprofile-field.php:1355
463
  #: bp-xprofile/classes/class-bp-xprofile-group.php:831
464
  msgid "Cancel"
532
  msgid "The item you were replying to no longer exists."
533
  msgstr ""
534
 
535
+ #: bp-activity/bp-activity-functions.php:3227
536
  msgid "Thumbnail"
537
  msgstr ""
538
 
710
  #: bp-templates/bp-legacy/buddypress/activity/comment.php:46
711
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:148
712
  #: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:45
 
 
 
 
 
713
  #: bp-xprofile/classes/class-bp-xprofile-field-type.php:405
714
  msgid "Delete"
715
  msgstr ""
743
 
744
  #: bp-activity/classes/class-bp-activity-activity.php:365
745
  #: bp-activity/classes/class-bp-activity-template.php:144
746
+ #: bp-groups/bp-groups-functions.php:245 bp-groups/bp-groups-functions.php:695
747
  #: bp-groups/classes/class-bp-groups-group-members-template.php:99
748
  #: bp-groups/classes/class-bp-groups-group.php:1051
749
  #: bp-groups/classes/class-bp-groups-invite-template.php:84
986
  #: bp-templates/bp-legacy/buddypress/groups/groups-loop.php:67
987
  #: bp-templates/bp-legacy/buddypress/groups/single/cover-image-header.php:63
988
  #: bp-templates/bp-legacy/buddypress/groups/single/group-header.php:72
989
+ #: bp-templates/bp-nouveau/buddypress/groups/groups-loop.php:51
990
+ #: bp-templates/bp-nouveau/buddypress/groups/single/cover-image-header.php:31
991
+ #: bp-templates/bp-nouveau/buddypress/groups/single/group-header.php:31
992
+ #. translators: %s = last activity timestamp (e.g. "active 1 hour ago")
993
  msgid "active %s"
994
  msgstr ""
995
 
1096
  #: bp-members/bp-members-template.php:1273
1097
  #: bp-messages/bp-messages-template.php:859
1098
  #: bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php:15
 
 
 
 
 
 
1099
  msgid "Search"
1100
  msgstr ""
1101
 
1160
  #: bp-core/admin/bp-core-admin-components.php:24
1161
  #: bp-core/admin/bp-core-admin-settings.php:267
1162
  #: bp-core/admin/bp-core-admin-slugs.php:24
1163
+ #: bp-core/classes/class-bp-admin.php:732
1164
  msgid "BuddyPress Settings"
1165
  msgstr ""
1166
 
1305
  #: bp-members/classes/class-bp-members-ms-list-table.php:308
1306
  #: bp-messages/bp-messages-template.php:1276
1307
  #: bp-templates/bp-legacy/buddypress/members/activate.php:60
 
1308
  msgid "Activate"
1309
  msgstr ""
1310
 
1344
  msgstr ""
1345
 
1346
  #: bp-core/admin/bp-core-admin-functions.php:434
1347
+ #: bp-core/classes/class-bp-admin.php:734
1348
  msgid "Credits"
1349
  msgstr ""
1350
 
1684
  "the \"Repopulate site tracking records\" option."
1685
  msgstr ""
1686
 
1687
+ #: bp-core/bp-core-admin.php:25 bp-core/classes/class-bp-admin.php:574
1688
  msgid "Maintenance Release"
1689
  msgid_plural "Maintenance Releases"
1690
  msgstr[0] ""
1709
  msgstr[0] ""
1710
  msgstr[1] ""
1711
 
1712
+ #: bp-core/bp-core-admin.php:37 bp-core/classes/class-bp-admin.php:579
1713
  #. translators: 1: BuddyPress version number, 2: plural number of bugs.
1714
  msgid "<strong>Version %1$s</strong> addressed %2$s bug."
1715
  msgid_plural "<strong>Version %1$s</strong> addressed %2$s bugs."
2263
  "{{{activate.url}}}"
2264
  msgstr ""
2265
 
2266
+ #: bp-core/bp-core-functions.php:3394
2267
  #. translators: do not remove {} brackets or translate its contents.
2268
  msgid "[{{{site.name}}}] Activate {{{user-site.url}}}"
2269
  msgstr ""
2270
 
2271
+ #: bp-core/bp-core-functions.php:3396
2272
  #. translators: do not remove {} brackets or translate its contents.
2273
  msgid ""
2274
  "Thanks for registering!\n"
2280
  "href=\"{{{user-site.url}}}\">{{{user-site.url}}}</a>."
2281
  msgstr ""
2282
 
2283
+ #: bp-core/bp-core-functions.php:3398
2284
  #. translators: do not remove {} brackets or translate its contents.
2285
  msgid ""
2286
  "Thanks for registering!\n"
2291
  "After you activate, you can visit your site at {{{user-site.url}}}."
2292
  msgstr ""
2293
 
2294
+ #: bp-core/bp-core-functions.php:3405
2295
  #. translators: do not remove {} brackets or translate its contents.
2296
  msgid "[{{{site.name}}}] New friendship request from {{initiator.name}}"
2297
  msgstr ""
2298
 
2299
+ #: bp-core/bp-core-functions.php:3407
2300
  #. translators: do not remove {} brackets or translate its contents.
2301
  msgid ""
2302
  "<a href=\"{{{initiator.url}}}\">{{initiator.name}}</a> wants to add you as "
2306
  "href=\"{{{friend-requests.url}}}\">{{{friend-requests.url}}}</a>"
2307
  msgstr ""
2308
 
2309
+ #: bp-core/bp-core-functions.php:3409
2310
  #. translators: do not remove {} brackets or translate its contents.
2311
  msgid ""
2312
  "{{initiator.name}} wants to add you as a friend.\n"
2317
  "To view {{initiator.name}}'s profile, visit: {{{initiator.url}}}"
2318
  msgstr ""
2319
 
2320
+ #: bp-core/bp-core-functions.php:3413
2321
  #. translators: do not remove {} brackets or translate its contents.
2322
  msgid "[{{{site.name}}}] {{friend.name}} accepted your friendship request"
2323
  msgstr ""
2324
 
2325
+ #: bp-core/bp-core-functions.php:3415
2326
  #. translators: do not remove {} brackets or translate its contents.
2327
  msgid ""
2328
  "<a href=\"{{{friendship.url}}}\">{{friend.name}}</a> accepted your friend "
2329
  "request."
2330
  msgstr ""
2331
 
2332
+ #: bp-core/bp-core-functions.php:3417
2333
  #. translators: do not remove {} brackets or translate its contents.
2334
  msgid ""
2335
  "{{friend.name}} accepted your friend request.\n"
2337
  "To learn more about them, visit their profile: {{{friendship.url}}}"
2338
  msgstr ""
2339
 
2340
+ #: bp-core/bp-core-functions.php:3421
2341
  #. translators: do not remove {} brackets or translate its contents.
2342
  msgid "[{{{site.name}}}] Group details updated"
2343
  msgstr ""
2344
 
2345
+ #: bp-core/bp-core-functions.php:3423
2346
  #. translators: do not remove {} brackets or translate its contents.
2347
  msgid ""
2348
  "Group details for the group &quot;<a "
2350
  "<blockquote>{{changed_text}}</blockquote>"
2351
  msgstr ""
2352
 
2353
+ #: bp-core/bp-core-functions.php:3425
2354
  #. translators: do not remove {} brackets or translate its contents.
2355
  msgid ""
2356
  "Group details for the group \"{{group.name}}\" were updated:\n"
2360
  "To view the group, visit: {{{group.url}}}"
2361
  msgstr ""
2362
 
2363
+ #: bp-core/bp-core-functions.php:3429
2364
  #. translators: do not remove {} brackets or translate its contents.
2365
  msgid "[{{{site.name}}}] You have an invitation to the group: \"{{group.name}}\""
2366
  msgstr ""
2367
 
2368
+ #: bp-core/bp-core-functions.php:3431
2369
  #. translators: do not remove {} brackets or translate its contents.
2370
  msgid ""
2371
  "<a href=\"{{{inviter.url}}}\">{{inviter.name}}</a> has invited you to join "
2374
  "href=\"{{{group.url}}}\">visit the group</a> to learn more."
2375
  msgstr ""
2376
 
2377
+ #: bp-core/bp-core-functions.php:3433
2378
  #. translators: do not remove {} brackets or translate its contents.
2379
  msgid ""
2380
  "{{inviter.name}} has invited you to join the group: \"{{group.name}}\".\n"
2385
  "To view {{inviter.name}}'s profile, visit: {{{inviter.url}}}"
2386
  msgstr ""
2387
 
2388
+ #: bp-core/bp-core-functions.php:3437
2389
  #. translators: do not remove {} brackets or translate its contents.
2390
  msgid "[{{{site.name}}}] You have been promoted in the group: \"{{group.name}}\""
2391
  msgstr ""
2392
 
2393
+ #: bp-core/bp-core-functions.php:3439
2394
  #. translators: do not remove {} brackets or translate its contents.
2395
  msgid ""
2396
  "You have been promoted to <b>{{promoted_to}}</b> in the group &quot;<a "
2397
  "href=\"{{{group.url}}}\">{{group.name}}</a>&quot;."
2398
  msgstr ""
2399
 
2400
+ #: bp-core/bp-core-functions.php:3441
2401
  #. translators: do not remove {} brackets or translate its contents.
2402
  msgid ""
2403
  "You have been promoted to {{promoted_to}} in the group: \"{{group.name}}\".\n"
2405
  "To visit the group, go to: {{{group.url}}}"
2406
  msgstr ""
2407
 
2408
+ #: bp-core/bp-core-functions.php:3445
2409
  #. translators: do not remove {} brackets or translate its contents.
2410
  msgid "[{{{site.name}}}] Membership request for group: {{group.name}}"
2411
  msgstr ""
2412
 
2413
+ #: bp-core/bp-core-functions.php:3447
2414
  #. translators: do not remove {} brackets or translate its contents.
2415
  msgid ""
2416
  "<a href=\"{{{profile.url}}}\">{{requesting-user.name}}</a> wants to join "
2421
  "other pending requests."
2422
  msgstr ""
2423
 
2424
+ #: bp-core/bp-core-functions.php:3449
2425
  #. translators: do not remove {} brackets or translate its contents.
2426
  msgid ""
2427
  "{{requesting-user.name}} wants to join the group \"{{group.name}}\". As you "
2434
  "To view {{requesting-user.name}}'s profile, visit: {{{profile.url}}}"
2435
  msgstr ""
2436
 
2437
+ #: bp-core/bp-core-functions.php:3453
2438
  #. translators: do not remove {} brackets or translate its contents.
2439
  msgid "[{{{site.name}}}] New message from {{sender.name}}"
2440
  msgstr ""
2441
 
2442
+ #: bp-core/bp-core-functions.php:3455
2443
  #. translators: do not remove {} brackets or translate its contents.
2444
  msgid ""
2445
  "{{sender.name}} sent you a new message: &quot;{{usersubject}}&quot;\n"
2450
  "on the conversation."
2451
  msgstr ""
2452
 
2453
+ #: bp-core/bp-core-functions.php:3457
2454
  #. translators: do not remove {} brackets or translate its contents.
2455
  msgid ""
2456
  "{{sender.name}} sent you a new message: \"{{usersubject}}\"\n"
2461
  "{{{message.url}}}"
2462
  msgstr ""
2463
 
2464
+ #: bp-core/bp-core-functions.php:3461
2465
  #. translators: do not remove {} brackets or translate its contents.
2466
  msgid "[{{{site.name}}}] Verify your new email address"
2467
  msgstr ""
2468
 
2469
+ #: bp-core/bp-core-functions.php:3463
2470
  #. translators: do not remove {} brackets or translate its contents.
2471
  msgid ""
2472
  "You recently changed the email address associated with your account on "
2477
  "your mind, or if you think you have received this email in error."
2478
  msgstr ""
2479
 
2480
+ #: bp-core/bp-core-functions.php:3465
2481
  #. translators: do not remove {} brackets or translate its contents.
2482
  msgid ""
2483
  "You recently changed the email address associated with your account on "
2488
  "your mind, or if you think you have received this email in error."
2489
  msgstr ""
2490
 
2491
+ #: bp-core/bp-core-functions.php:3469
2492
  #. translators: do not remove {} brackets or translate its contents.
2493
  msgid "[{{{site.name}}}] Membership request for group \"{{group.name}}\" accepted"
2494
  msgstr ""
2495
 
2496
+ #: bp-core/bp-core-functions.php:3471
2497
  #. translators: do not remove {} brackets or translate its contents.
2498
  msgid ""
2499
  "Your membership request for the group &quot;<a "
2500
  "href=\"{{{group.url}}}\">{{group.name}}</a>&quot; has been accepted."
2501
  msgstr ""
2502
 
2503
+ #: bp-core/bp-core-functions.php:3473
2504
  #. translators: do not remove {} brackets or translate its contents.
2505
  msgid ""
2506
  "Your membership request for the group \"{{group.name}}\" has been accepted.\n"
2508
  "To view the group, visit: {{{group.url}}}"
2509
  msgstr ""
2510
 
2511
+ #: bp-core/bp-core-functions.php:3477
2512
  #. translators: do not remove {} brackets or translate its contents.
2513
  msgid "[{{{site.name}}}] Membership request for group \"{{group.name}}\" rejected"
2514
  msgstr ""
2515
 
2516
+ #: bp-core/bp-core-functions.php:3479
2517
  #. translators: do not remove {} brackets or translate its contents.
2518
  msgid ""
2519
  "Your membership request for the group &quot;<a "
2520
  "href=\"{{{group.url}}}\">{{group.name}}</a>&quot; has been rejected."
2521
  msgstr ""
2522
 
2523
+ #: bp-core/bp-core-functions.php:3481
2524
  #. translators: do not remove {} brackets or translate its contents.
2525
  msgid ""
2526
  "Your membership request for the group \"{{group.name}}\" has been rejected.\n"
2528
  "To request membership again, visit: {{{group.url}}}"
2529
  msgstr ""
2530
 
2531
+ #: bp-core/bp-core-functions.php:3506
2532
  msgid "A member has replied to an activity update that the recipient posted."
2533
  msgstr ""
2534
 
2535
+ #: bp-core/bp-core-functions.php:3509 bp-core/bp-core-functions.php:3517
2536
  msgid ""
2537
  "You will no longer receive emails when someone replies to an update or "
2538
  "comment you posted."
2539
  msgstr ""
2540
 
2541
+ #: bp-core/bp-core-functions.php:3514
2542
  msgid ""
2543
  "A member has replied to a comment on an activity update that the recipient "
2544
  "posted."
2545
  msgstr ""
2546
 
2547
+ #: bp-core/bp-core-functions.php:3522
2548
  msgid "Recipient was mentioned in an activity update."
2549
  msgstr ""
2550
 
2551
+ #: bp-core/bp-core-functions.php:3525 bp-core/bp-core-functions.php:3533
2552
  msgid "You will no longer receive emails when someone mentions you in an update."
2553
  msgstr ""
2554
 
2555
+ #: bp-core/bp-core-functions.php:3530
2556
  msgid "Recipient was mentioned in a group activity update."
2557
  msgstr ""
2558
 
2559
+ #: bp-core/bp-core-functions.php:3538
2560
  msgid "Recipient has registered for an account."
2561
  msgstr ""
2562
 
2563
+ #: bp-core/bp-core-functions.php:3543
2564
  msgid "Recipient has registered for an account and site."
2565
  msgstr ""
2566
 
2567
+ #: bp-core/bp-core-functions.php:3548
2568
  msgid "A member has sent a friend request to the recipient."
2569
  msgstr ""
2570
 
2571
+ #: bp-core/bp-core-functions.php:3551
2572
  msgid "You will no longer receive emails when someone sends you a friend request."
2573
  msgstr ""
2574
 
2575
+ #: bp-core/bp-core-functions.php:3556
2576
  msgid "Recipient has had a friend request accepted by a member."
2577
  msgstr ""
2578
 
2579
+ #: bp-core/bp-core-functions.php:3559
2580
  msgid ""
2581
  "You will no longer receive emails when someone accepts your friendship "
2582
  "request."
2583
  msgstr ""
2584
 
2585
+ #: bp-core/bp-core-functions.php:3564
2586
  msgid "A group's details were updated."
2587
  msgstr ""
2588
 
2589
+ #: bp-core/bp-core-functions.php:3567
2590
  msgid "You will no longer receive emails when one of your groups is updated."
2591
  msgstr ""
2592
 
2593
+ #: bp-core/bp-core-functions.php:3572
2594
  msgid "A member has sent a group invitation to the recipient."
2595
  msgstr ""
2596
 
2597
+ #: bp-core/bp-core-functions.php:3575
2598
  msgid "You will no longer receive emails when you are invited to join a group."
2599
  msgstr ""
2600
 
2601
+ #: bp-core/bp-core-functions.php:3580
2602
  msgid "Recipient's status within a group has changed."
2603
  msgstr ""
2604
 
2605
+ #: bp-core/bp-core-functions.php:3583
2606
  msgid "You will no longer receive emails when you have been promoted in a group."
2607
  msgstr ""
2608
 
2609
+ #: bp-core/bp-core-functions.php:3588
2610
  msgid "A member has requested permission to join a group."
2611
  msgstr ""
2612
 
2613
+ #: bp-core/bp-core-functions.php:3591
2614
  msgid ""
2615
  "You will no longer receive emails when someone requests to be a member of "
2616
  "your group."
2617
  msgstr ""
2618
 
2619
+ #: bp-core/bp-core-functions.php:3596
2620
  msgid "Recipient has received a private message."
2621
  msgstr ""
2622
 
2623
+ #: bp-core/bp-core-functions.php:3599
2624
  msgid "You will no longer receive emails when someone sends you a message."
2625
  msgstr ""
2626
 
2627
+ #: bp-core/bp-core-functions.php:3604
2628
  msgid "Recipient has changed their email address."
2629
  msgstr ""
2630
 
2631
+ #: bp-core/bp-core-functions.php:3609
2632
  msgid "Recipient had requested to join a group, which was accepted."
2633
  msgstr ""
2634
 
2635
+ #: bp-core/bp-core-functions.php:3612 bp-core/bp-core-functions.php:3620
2636
  msgid ""
2637
  "You will no longer receive emails when your request to join a group has "
2638
  "been accepted or denied."
2639
  msgstr ""
2640
 
2641
+ #: bp-core/bp-core-functions.php:3617
2642
  msgid "Recipient had requested to join a group, which was rejected."
2643
  msgstr ""
2644
 
2645
+ #: bp-core/bp-core-functions.php:3665 bp-core/bp-core-functions.php:3671
2646
+ #: bp-core/bp-core-functions.php:3676
2647
  msgid "Something has gone wrong."
2648
  msgstr ""
2649
 
2650
+ #: bp-core/bp-core-functions.php:3666 bp-core/bp-core-functions.php:3672
2651
  msgid ""
2652
  "Please log in and go to your settings to unsubscribe from notification "
2653
  "emails."
2654
  msgstr ""
2655
 
2656
+ #: bp-core/bp-core-functions.php:3677
2657
  msgid "Please go to your notifications settings to unsubscribe from emails."
2658
  msgstr ""
2659
 
2660
+ #: bp-core/bp-core-functions.php:3705
2661
  msgid ""
2662
  "You can change this or any other email notification preferences in your "
2663
  "email settings."
2678
  #: bp-groups/classes/class-bp-groups-invite-template.php:234
2679
  #: bp-groups/classes/class-bp-groups-invite-template.php:235
2680
  #: bp-groups/classes/class-bp-groups-invite-template.php:236
2681
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:90
2682
+ #. translators: %s = member name
2683
  msgid "Profile photo of %s"
2684
  msgstr ""
2685
 
2706
  msgstr ""
2707
 
2708
  #: bp-core/bp-core-template.php:3127 bp-groups/bp-groups-template.php:3394
2709
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:530
2710
  msgid "Create a Group"
2711
  msgstr ""
2712
 
2815
  msgid "Close pop-up"
2816
  msgstr ""
2817
 
2818
+ #: bp-core/classes/class-bp-admin.php:596
2819
  msgid ""
2820
  "A bold reimagining of our legacy templates, Nouveau is our celebration of "
2821
  "<a href=\"%s\">10 years of BuddyPress</a>! Nouveau delivers modern markup "
2824
  "BuddyPress content than ever before."
2825
  msgstr ""
2826
 
2827
+ #: bp-core/classes/class-bp-admin.php:601
2828
  msgid ""
2829
  "Nouveau provides vertical and horizontal layout options for BuddyPress "
2830
  "navigation, and for the component directories, you can choose between a "
2831
  "grid layout, and a classic flat list."
2832
  msgstr ""
2833
 
2834
+ #: bp-core/classes/class-bp-admin.php:605
2835
  msgid ""
2836
  "Nouveau is fully compatible with WordPress. Existing BuddyPress themes have "
2837
  "been written for our legacy template pack, and until they are updated, "
2839
  "option in <a href=\"%s\">Settings &gt; BuddyPress</a>."
2840
  msgstr ""
2841
 
2842
+ #: bp-core/classes/class-bp-admin.php:617
2843
  msgid ""
2844
  "<a href=\"%s\">WP-CLI</a> is the command-line interface for WordPress. You "
2845
  "can update plugins, configure multisite installs, and much more, without "
2847
  "your BuddyPress content from WP-CLI."
2848
  msgstr ""
2849
 
2850
+ #: bp-core/classes/class-bp-admin.php:624
2851
  msgid ""
2852
  "Site Notices are a feature within the Private Messaging component that "
2853
  "allows community managers to share important messages with all members of "
2855
  "has been removed from the front-end theme templates."
2856
  msgstr ""
2857
 
2858
+ #: bp-core/classes/class-bp-admin.php:630
2859
  msgid ""
2860
  "Explore the new management interface at <a href=\"%s\">Users &gt; Site "
2861
  "Notices</a>."
2862
  msgstr ""
2863
 
2864
+ #: bp-core/classes/class-bp-admin.php:638
2865
  msgid ""
2866
  "A new telephone number field type has been added to the Extended Profiles "
2867
  "component, with support for all international number formats. With a modern "
2869
  "directly."
2870
  msgstr ""
2871
 
2872
+ #: bp-core/classes/class-bp-admin.php:641
2873
  msgid ""
2874
  "With every BuddyPress version, we strive to make performance improvements "
2875
  "alongside new features and fixes; this version is no exception. Memory use "
2877
  "individual code file when it's needed, not before."
2878
  msgstr ""
2879
 
2880
+ #: bp-core/classes/class-bp-admin.php:645
2881
  msgid ""
2882
  "Most notably, the <a href=\"%s\">Legacy Forums component has been "
2883
  "removed</a> after 9 years of service. If your site was using Legacy Forums, "
2884
  "you need to <a href=\"%s\">migrate to the bbPress plugin</a>."
2885
  msgstr ""
2886
 
2887
+ #: bp-core/classes/class-bp-admin.php:655
2888
  msgid ""
2889
  "To read the full list of features, fixes, and changes in this version of "
2890
  "BuddyPress, <a href=\"%s\">visit Trac</a>."
2891
  msgstr ""
2892
 
2893
+ #: bp-core/classes/class-bp-admin.php:665
2894
  msgid ""
2895
  " How are you using BuddyPress? Receiving your feedback and suggestions for "
2896
  "future versions of BuddyPress genuinely motivates and encourages our "
2898
  "version of BuddyPress on our website. "
2899
  msgstr ""
2900
 
2901
+ #: bp-core/classes/class-bp-admin.php:670
2902
  msgid "Thank you for using BuddyPress! 😊"
2903
  msgstr ""
2904
 
2905
+ #: bp-core/classes/class-bp-admin.php:680
2906
  msgid "Built by <a href=\"%s\">%s volunteer</a>."
2907
  msgid_plural "Built by <a href=\"%s\">%s volunteers</a>."
2908
  msgstr[0] ""
2909
  msgstr[1] ""
2910
 
2911
+ #: bp-core/classes/class-bp-admin.php:736
2912
  msgid "Meet the contributors behind BuddyPress:"
2913
  msgstr ""
2914
 
2915
+ #: bp-core/classes/class-bp-admin.php:738
2916
  msgid "Project Leaders"
2917
  msgstr ""
2918
 
2919
+ #: bp-core/classes/class-bp-admin.php:743
2920
  msgid "Project Lead"
2921
  msgstr ""
2922
 
2923
+ #: bp-core/classes/class-bp-admin.php:748
2924
  msgid "Lead Developer"
2925
  msgstr ""
2926
 
2927
+ #: bp-core/classes/class-bp-admin.php:753
2928
  msgid "Release Lead"
2929
  msgstr ""
2930
 
2931
+ #: bp-core/classes/class-bp-admin.php:757
2932
  msgid "BuddyPress Team"
2933
  msgstr ""
2934
 
2935
+ #: bp-core/classes/class-bp-admin.php:762
2936
+ #: bp-core/classes/class-bp-admin.php:767
2937
+ #: bp-core/classes/class-bp-admin.php:772
2938
+ #: bp-core/classes/class-bp-admin.php:782
2939
+ #: bp-core/classes/class-bp-admin.php:787
2940
+ #: bp-core/classes/class-bp-admin.php:807
2941
+ #: bp-core/classes/class-bp-admin.php:812
2942
+ #: bp-core/classes/class-bp-admin.php:817
2943
+ #: bp-core/classes/class-bp-admin.php:822
2944
  msgid "Core Developer"
2945
  msgstr ""
2946
 
2947
+ #: bp-core/classes/class-bp-admin.php:777
2948
  msgid "Navigator"
2949
  msgstr ""
2950
 
2951
+ #: bp-core/classes/class-bp-admin.php:792
2952
+ #: bp-core/classes/class-bp-admin.php:797
2953
+ #: bp-core/classes/class-bp-admin.php:802
2954
+ #: bp-core/classes/class-bp-admin.php:827
2955
  msgid "Community Support"
2956
  msgstr ""
2957
 
2958
+ #: bp-core/classes/class-bp-admin.php:831
2959
  msgid "Recent Rockstars"
2960
  msgstr ""
2961
 
2962
+ #: bp-core/classes/class-bp-admin.php:855
2963
  msgid "Contributors to BuddyPress %s"
2964
  msgstr ""
2965
 
2966
+ #: bp-core/classes/class-bp-admin.php:916
2967
  msgid "With our thanks to these Open Source projects"
2968
  msgstr ""
2969
 
2970
+ #: bp-core/classes/class-bp-admin.php:930
2971
  msgid "Contributor Emeriti"
2972
  msgstr ""
2973
 
2974
+ #: bp-core/classes/class-bp-admin.php:935
2975
  msgid "Project Founder"
2976
  msgstr ""
2977
 
3012
  msgstr ""
3013
 
3014
  #: bp-core/classes/class-bp-attachment-avatar.php:397
3015
+ #: bp-groups/actions/create.php:287
3016
  msgid "The group profile photo was uploaded successfully."
3017
  msgstr ""
3018
 
3132
  #: bp-members/classes/class-bp-members-list-table.php:150
3133
  #: bp-members/classes/class-bp-members-ms-list-table.php:137
3134
  #: bp-templates/bp-legacy/buddypress/members/register.php:85
3135
+ #: bp-templates/bp-nouveau/includes/functions.php:1137
3136
  msgid "Username"
3137
  msgstr ""
3138
 
3456
  msgstr ""
3457
 
3458
  #: bp-friends/bp-friends-template.php:84
3459
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:240
3460
  #: bp-templates/bp-nouveau/includes/groups/functions.php:139
3461
  #: bp-templates/bp-nouveau/includes/members/functions.php:62
3462
  msgid "My Friends"
3626
  msgid "Please fill in all of the required fields"
3627
  msgstr ""
3628
 
3629
+ #: bp-groups/actions/create.php:229
3630
  #: bp-groups/screens/single/send-invites.php:86
3631
  msgid "Invite successfully removed"
3632
  msgstr ""
3633
 
3634
+ #: bp-groups/actions/create.php:233
3635
  #: bp-groups/screens/single/send-invites.php:97
3636
  msgid "There was an error removing the invite"
3637
  msgstr ""
3638
 
3639
+ #: bp-groups/actions/create.php:274
3640
  msgid ""
3641
  "There was an error saving the group profile photo, please try uploading "
3642
  "again."
3695
  msgid "%1$s created the group %2$s"
3696
  msgstr ""
3697
 
3698
+ #: bp-groups/bp-groups-activity.php:109 bp-groups/bp-groups-activity.php:457
3699
  msgid "%1$s joined the group %2$s"
3700
  msgstr ""
3701
 
3875
  #: bp-groups/bp-groups-admin.php:769 bp-groups/bp-groups-admin.php:784
3876
  #: bp-groups/classes/class-bp-groups-widget.php:75
3877
  #: bp-groups/classes/class-bp-groups-widget.php:204
 
3878
  msgid "Groups"
3879
  msgstr ""
3880
 
3912
  #: bp-groups/bp-groups-admin.php:847
3913
  #: bp-templates/bp-legacy/buddypress/groups/create.php:183
3914
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:91
3915
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:96
3916
  msgid "All group members"
3917
  msgstr ""
3918
 
3919
  #: bp-groups/bp-groups-admin.php:848
3920
  #: bp-templates/bp-legacy/buddypress/groups/create.php:185
3921
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:93
3922
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:101
3923
  msgid "Group admins and mods only"
3924
  msgstr ""
3925
 
3926
  #: bp-groups/bp-groups-admin.php:849
3927
  #: bp-templates/bp-legacy/buddypress/groups/create.php:187
3928
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:95
3929
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:106
3930
  msgid "Group admins only"
3931
  msgstr ""
3932
 
4071
  msgid "As the only admin, you cannot leave the group."
4072
  msgstr ""
4073
 
4074
+ #: bp-groups/bp-groups-functions.php:1315
4075
  msgid "%1$s posted an update in the group %2$s"
4076
  msgstr ""
4077
 
4078
+ #: bp-groups/bp-groups-functions.php:2309
4079
  msgid "Group type already exists."
4080
  msgstr ""
4081
 
4082
+ #: bp-groups/bp-groups-functions.php:2336
4083
  msgid "You may not register a group type with this name."
4084
  msgstr ""
4085
 
4190
  msgstr[1] ""
4191
 
4192
  #: bp-groups/bp-groups-template.php:2014
4193
+ #: bp-templates/bp-nouveau/buddypress/members/single/groups/invites.php:40
4194
+ #. translators: %s = number of members
4195
  msgid "%s member"
4196
  msgid_plural "%s members"
4197
  msgstr[0] ""
4333
  #: bp-templates/bp-legacy/buddypress/members/single/friends.php:24
4334
  #: bp-templates/bp-legacy/buddypress/members/single/groups.php:25
4335
  #: bp-templates/bp-nouveau/includes/blogs/functions.php:108
4336
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:588
4337
  #: bp-templates/bp-nouveau/includes/members/functions.php:102
4338
  #: bp-templates/bp-nouveau/includes/members/functions.php:120
4339
  msgid "Alphabetical"
4495
 
4496
  #: bp-groups/classes/class-bp-groups-list-table.php:788
4497
  #: bp-members/classes/class-bp-members-admin.php:2236
 
4498
  #: bp-xprofile/classes/class-bp-xprofile-user-admin.php:388
4499
  msgid "Change"
4500
  msgstr ""
4649
  msgid "Group invite accepted. Visit %s."
4650
  msgstr ""
4651
 
4652
+ #: bp-groups/screens/user/invites.php:53
4653
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:140
4654
  msgid "Group invite could not be rejected"
4655
  msgstr ""
4656
 
4657
+ #: bp-groups/screens/user/invites.php:55
4658
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:148
4659
  msgid "Group invite rejected"
4660
  msgstr ""
4661
 
5296
  msgid "The passwords you entered do not match."
5297
  msgstr ""
5298
 
5299
+ #: bp-members/screens/register.php:103
5300
  msgid "This is a required field"
5301
  msgstr ""
5302
 
5330
  msgstr ""
5331
 
5332
  #: bp-messages/actions/bulk-manage.php:68
5333
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:675
5334
  msgid "Messages marked as unread."
5335
  msgstr ""
5336
 
5404
  msgstr ""
5405
 
5406
  #: bp-messages/actions/view.php:41
5407
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:210
5408
  msgid "Your reply was sent successfully"
5409
  msgstr ""
5410
 
5471
 
5472
  #: bp-messages/bp-messages-star.php:107
5473
  #: bp-templates/bp-legacy/buddypress-functions.php:332
5474
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:124
5475
  msgid "Unstar"
5476
  msgstr ""
5477
 
5478
  #: bp-messages/bp-messages-star.php:108
5479
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:82
5480
  #: bp-templates/bp-legacy/buddypress-functions.php:333
5481
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:125
5482
  #. translators: accessibility text
5483
  msgid "Star"
5484
  msgstr ""
5487
  #: bp-messages/classes/class-bp-messages-component.php:250
5488
  #: bp-messages/classes/class-bp-messages-component.php:357
5489
  #: bp-templates/bp-legacy/buddypress-functions.php:334
5490
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:126
5491
  msgid "Starred"
5492
  msgstr ""
5493
 
5494
  #: bp-messages/bp-messages-star.php:110
5495
  #: bp-templates/bp-legacy/buddypress-functions.php:335
5496
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:127
5497
  msgid "Not starred"
5498
  msgstr ""
5499
 
5500
  #: bp-messages/bp-messages-star.php:111
5501
  #: bp-templates/bp-legacy/buddypress-functions.php:336
5502
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:128
5503
  msgid "Remove all starred messages in this thread"
5504
  msgstr ""
5505
 
5506
  #: bp-messages/bp-messages-star.php:112
5507
  #: bp-templates/bp-legacy/buddypress-functions.php:337
5508
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:129
5509
  msgid "Star the first message in this thread"
5510
  msgstr ""
5511
 
5536
  msgstr[1] ""
5537
 
5538
  #: bp-messages/bp-messages-template.php:856
5539
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:98
5540
  #. translators: accessibility text
5541
  msgid "Search Messages"
5542
  msgstr ""
5559
 
5560
  #: bp-messages/bp-messages-template.php:1033
5561
  #: bp-notifications/bp-notifications-template.php:1024
5562
+ #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:103
5563
  #. translators: accessibility text
5564
  msgid "Select Bulk Action"
5565
  msgstr ""
5566
 
5567
  #: bp-messages/bp-messages-template.php:1036
5568
  #: bp-notifications/bp-notifications-template.php:1027
 
5569
  msgid "Bulk Actions"
5570
  msgstr ""
5571
 
5572
  #: bp-messages/bp-messages-template.php:1037
5573
  #: bp-notifications/bp-notifications-template.php:1030
 
5574
  msgid "Mark read"
5575
  msgstr ""
5576
 
5577
  #: bp-messages/bp-messages-template.php:1038
5578
  #: bp-notifications/bp-notifications-template.php:1032
 
5579
  msgid "Mark unread"
5580
  msgstr ""
5581
 
5582
  #: bp-messages/bp-messages-template.php:1049
5583
  #: bp-notifications/bp-notifications-template.php:1036
 
 
5584
  msgid "Apply"
5585
  msgstr ""
5586
 
5674
  #: bp-messages/classes/class-bp-messages-notices-admin.php:206
5675
  #: bp-templates/bp-legacy/buddypress/members/single/messages/compose.php:39
5676
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:65
5677
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:39
5678
  msgid "Subject"
5679
  msgstr ""
5680
 
5788
  msgstr ""
5789
 
5790
  #: bp-notifications/bp-notifications-template.php:1004
5791
+ #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:86
5792
  msgid "Oldest First"
5793
  msgstr ""
5794
 
5900
  msgstr ""
5901
 
5902
  #: bp-templates/bp-legacy/buddypress/activity/activity-loop.php:34
 
5903
  msgid "Load More"
5904
  msgstr ""
5905
 
5948
  msgstr ""
5949
 
5950
  #: bp-templates/bp-legacy/buddypress/activity/entry.php:126
 
 
 
5951
  #. translators: accessibility text
5952
  msgid "Comment"
5953
  msgstr ""
5954
 
5955
  #: bp-templates/bp-legacy/buddypress/activity/entry.php:130
 
5956
  msgid "Post"
5957
  msgstr ""
5958
 
5981
  msgstr ""
5982
 
5983
  #: bp-templates/bp-legacy/buddypress/activity/index.php:137
5984
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:273
5985
  msgid "Mentions"
5986
  msgstr ""
5987
 
6023
  msgstr ""
6024
 
6025
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:32
6026
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:163
6027
  msgid "What's new, %s?"
6028
  msgstr ""
6029
 
6030
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:39
6031
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:164
6032
  #. translators: accessibility text
6033
  msgid "Post what's new"
6034
  msgstr ""
6035
 
6036
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:48
6037
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:166
6038
  msgid "Post Update"
6039
  msgstr ""
6040
 
6041
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:55
6042
  #: bp-templates/bp-legacy/buddypress/activity/post-form.php:59
6043
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:165
6044
  #. translators: accessibility text
6045
  msgid "Post in"
6046
  msgstr ""
6051
  msgstr ""
6052
 
6053
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/avatars/camera.php:25
 
6054
  msgid "Capture"
6055
  msgstr ""
6056
 
6057
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/avatars/camera.php:26
6058
  #: bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php:30
 
6059
  #: bp-templates/bp-nouveau/includes/functions.php:1268
6060
  #: bp-templates/bp-nouveau/includes/functions.php:1320
6061
  #: bp-xprofile/classes/class-bp-xprofile-field.php:1180
6067
  #: bp-templates/bp-legacy/buddypress/groups/create.php:267
6068
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-avatar.php:58
6069
  #: bp-templates/bp-legacy/buddypress/members/single/profile/change-avatar.php:61
 
6070
  #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-avatar.php:106
6071
  #: bp-templates/bp-nouveau/buddypress/members/single/profile/change-avatar.php:52
6072
  msgid "Crop Image"
6074
 
6075
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/avatars/index.php:38
6076
  #: bp-templates/bp-legacy/buddypress/members/single/profile/change-avatar.php:45
 
 
6077
  msgid ""
6078
  "If you'd like to delete your current profile photo but not upload a new "
6079
  "one, please use the delete profile photo button."
6104
  msgstr ""
6105
 
6106
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php:27
 
6107
  msgid ""
6108
  "If you'd like to delete your current cover image but not upload a new one, "
6109
  "please use the delete Cover Image button."
6110
  msgstr ""
6111
 
6112
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php:28
 
6113
  msgid "Delete My Cover Image"
6114
  msgstr ""
6115
 
6116
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php:30
6117
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php:31
6118
  msgid ""
6119
  "If you'd like to remove the existing group cover image but not upload a new "
6120
  "one, please use the delete group cover image button."
6121
  msgstr ""
6122
 
6123
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php:31
 
6124
  msgid "Delete Group Cover Image"
6125
  msgstr ""
6126
 
6141
 
6142
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/uploader.php:28
6143
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/uploader.php:29
 
6144
  #. translators: accessibility text
6145
  msgid "Select your File"
6146
  msgstr ""
6177
  #: bp-templates/bp-legacy/buddypress/members/single/friends.php:22
6178
  #: bp-templates/bp-legacy/buddypress/members/single/groups.php:22
6179
  #: bp-templates/bp-nouveau/includes/blogs/functions.php:106
6180
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:585
6181
  #: bp-templates/bp-nouveau/includes/members/functions.php:97
6182
  msgid "Last Active"
6183
  msgstr ""
6245
 
6246
  #: bp-templates/bp-legacy/buddypress/groups/create.php:132
6247
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:40
 
6248
  msgid "Only users who request membership and are accepted can join the group."
6249
  msgstr ""
6250
 
6265
 
6266
  #: bp-templates/bp-legacy/buddypress/groups/create.php:140
6267
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:48
 
6268
  msgid "Only users who are invited can join the group."
6269
  msgstr ""
6270
 
6276
 
6277
  #: bp-templates/bp-legacy/buddypress/groups/create.php:153
6278
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:61
6279
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:67
6280
  msgid "Group Types"
6281
  msgstr ""
6282
 
6283
  #: bp-templates/bp-legacy/buddypress/groups/create.php:155
6284
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:63
6285
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:69
6286
  msgid "Select the types this group should be a part of."
6287
  msgstr ""
6288
 
6294
 
6295
  #: bp-templates/bp-legacy/buddypress/groups/create.php:177
6296
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:85
6297
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:90
6298
  msgid "Group Invitations"
6299
  msgstr ""
6300
 
6301
  #: bp-templates/bp-legacy/buddypress/groups/create.php:179
6302
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php:87
6303
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:92
6304
  msgid "Which members of this group are allowed to invite others?"
6305
  msgstr ""
6306
 
6430
 
6431
  #: bp-templates/bp-legacy/buddypress/groups/index.php:97
6432
  #: bp-templates/bp-legacy/buddypress/members/single/groups.php:23
6433
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:586
6434
  msgid "Most Members"
6435
  msgstr ""
6436
 
6437
  #: bp-templates/bp-legacy/buddypress/groups/index.php:98
6438
  #: bp-templates/bp-legacy/buddypress/members/single/groups.php:24
6439
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:587
6440
  msgid "Newly Created"
6441
  msgstr ""
6442
 
6482
  msgstr ""
6483
 
6484
  #: bp-templates/bp-legacy/buddypress/groups/single/admin/manage-members.php:248
6485
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/manage-members.php:102
6486
+ #. translators: indicates a user is banned from a group, e.g. "Mike (banned)".
6487
  msgid "(banned)"
6488
  msgstr ""
6489
 
6518
 
6519
  #: bp-templates/bp-legacy/buddypress/groups/single/cover-image-header.php:75
6520
  #: bp-templates/bp-legacy/buddypress/groups/single/group-header.php:23
 
6521
  msgid "Group Admins"
6522
  msgstr ""
6523
 
6539
  msgid "No members were found."
6540
  msgstr ""
6541
 
6542
+ #: bp-templates/bp-legacy/buddypress/groups/single/request-membership.php:18
6543
+ msgid "Group membership request form"
 
6544
  msgstr ""
6545
 
6546
+ #: bp-templates/bp-legacy/buddypress/groups/single/request-membership.php:25
6547
+ #: bp-templates/bp-nouveau/buddypress/groups/single/request-membership.php:17
6548
+ #. translators: %s =group name
6549
+ #. translators: %s = group name
6550
+ msgid "You are requesting to become a member of the group \"%s\"."
6551
  msgstr ""
6552
 
6553
+ #: bp-templates/bp-legacy/buddypress/groups/single/request-membership.php:33
 
6554
  msgid "Comments (optional)"
6555
  msgstr ""
6556
 
 
 
 
 
 
6557
  #: bp-templates/bp-legacy/buddypress/groups/single/requests-loop.php:58
6558
  #: bp-templates/bp-legacy/buddypress/members/single/friends/requests.php:63
6559
  #: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:51
6560
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:710
6561
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:766
 
6562
  msgid "Accept"
6563
  msgstr ""
6564
 
6567
  #: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:52
6568
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:737
6569
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:793
 
6570
  msgid "Reject"
6571
  msgstr ""
6572
 
6599
  msgstr ""
6600
 
6601
  #: bp-templates/bp-legacy/buddypress/members/activate.php:45
6602
+ #: bp-templates/bp-nouveau/buddypress/members/activate.php:21
6603
  msgid ""
6604
  "Your account was activated successfully! Your account details have been "
6605
  "sent to you in a separate email."
6606
  msgstr ""
6607
 
6608
  #: bp-templates/bp-legacy/buddypress/members/activate.php:47
6609
+ #: bp-templates/bp-nouveau/buddypress/members/activate.php:27
6610
  msgid ""
6611
  "Your account was activated successfully! You can now <a href=\"%s\">log "
6612
  "in</a> with the username and password you provided when you signed up."
6613
  msgstr ""
6614
 
6615
  #: bp-templates/bp-legacy/buddypress/members/activate.php:52
6616
+ #: bp-templates/bp-nouveau/buddypress/members/activate.php:37
6617
  msgid "Please provide a valid activation key."
6618
  msgstr ""
6619
 
6620
  #: bp-templates/bp-legacy/buddypress/members/activate.php:56
6621
+ #: bp-templates/bp-nouveau/buddypress/members/activate.php:41
6622
  msgid "Activation Key:"
6623
  msgstr ""
6624
 
6642
  msgstr ""
6643
 
6644
  #: bp-templates/bp-legacy/buddypress/members/register.php:46
 
6645
  msgid "User registration is currently not allowed."
6646
  msgstr ""
6647
 
6663
  #: bp-templates/bp-legacy/buddypress/members/register.php:119
6664
  #: bp-templates/bp-legacy/buddypress/members/register.php:280
6665
  #: bp-templates/bp-legacy/buddypress/members/register.php:296
6666
+ #: bp-templates/bp-nouveau/includes/template-tags.php:2259
6667
  #: bp-xprofile/bp-xprofile-template.php:1463
6668
  msgid "(required)"
6669
  msgstr ""
6670
 
6671
  #: bp-templates/bp-legacy/buddypress/members/register.php:96
6672
+ #: bp-templates/bp-nouveau/includes/functions.php:1145
6673
  msgid "Email Address"
6674
  msgstr ""
6675
 
6676
  #: bp-templates/bp-legacy/buddypress/members/register.php:107
6677
+ #: bp-templates/bp-nouveau/includes/functions.php:1153
6678
  msgid "Choose a Password"
6679
  msgstr ""
6680
 
6681
  #: bp-templates/bp-legacy/buddypress/members/register.php:119
6682
+ #: bp-templates/bp-nouveau/includes/functions.php:1161
6683
  msgid "Confirm Password"
6684
  msgstr ""
6685
 
6705
  #: bp-templates/bp-legacy/buddypress/members/register.php:205
6706
  #: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:75
6707
  #: bp-templates/bp-legacy/buddypress-functions.php:294
 
 
 
6708
  #: bp-templates/bp-nouveau/buddypress-functions.php:413
6709
  #: bp-xprofile/classes/class-bp-xprofile-user-admin.php:402
6710
  msgid "Close"
6711
  msgstr ""
6712
 
6713
  #: bp-templates/bp-legacy/buddypress/members/register.php:274
 
6714
  msgid "Blog Details"
6715
  msgstr ""
6716
 
6717
  #: bp-templates/bp-legacy/buddypress/members/register.php:276
 
6718
  msgid "Yes, I'd like to create a new site"
6719
  msgstr ""
6720
 
6723
  msgstr ""
6724
 
6725
  #: bp-templates/bp-legacy/buddypress/members/register.php:296
6726
+ #: bp-templates/bp-nouveau/includes/functions.php:1179
6727
  msgid "Site Title"
6728
  msgstr ""
6729
 
6786
  msgstr ""
6787
 
6788
  #: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:21
6789
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:1209
6790
  #. translators: accessibility text
6791
  msgid "Group invitations"
6792
  msgstr ""
6853
  msgstr ""
6854
 
6855
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:105
6856
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:143
6857
  msgid "From:"
6858
  msgstr ""
6859
 
6860
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:112
6861
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:153
6862
  msgid "To:"
6863
  msgstr ""
6864
 
6867
  msgstr ""
6868
 
6869
  #: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:195
6870
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:247
6871
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:404
6872
  msgid "Sorry, no messages were found."
6873
  msgstr ""
6874
 
6897
  msgstr ""
6898
 
6899
  #: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:102
6900
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:332
6901
  msgid "Send a Reply"
6902
  msgstr ""
6903
 
6904
  #: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:125
6905
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:343
6906
  #. translators: accessibility text
6907
  msgid "Reply to Message"
6908
  msgstr ""
6909
 
6910
  #: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:139
 
6911
  msgid "Send Reply"
6912
  msgstr ""
6913
 
6993
  msgstr ""
6994
 
6995
  #: bp-templates/bp-legacy/buddypress/members/single/profile/change-avatar.php:85
 
6996
  msgid ""
6997
  "Your profile photo will be used on your profile and throughout the site. To "
6998
  "change your profile photo, please create an account with <a "
7012
  msgstr ""
7013
 
7014
  #: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:27
 
7015
  msgid "Editing '%s' Profile Group"
7016
  msgstr ""
7017
 
7026
  msgstr ""
7027
 
7028
  #: bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php:26
 
7029
  msgid "This user is a spammer."
7030
  msgstr ""
7031
 
7119
  #: bp-templates/bp-legacy/buddypress-functions.php:298
7120
  #: bp-templates/bp-nouveau/buddypress-functions.php:417
7121
  #: bp-templates/bp-nouveau/includes/activity/ajax.php:113
7122
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:227
7123
  msgid "My Favorites"
7124
  msgstr ""
7125
 
7216
  msgid "There was a problem sending that reply. Please try again."
7217
  msgstr ""
7218
 
7219
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/index.php:35
7220
+ #: bp-templates/bp-nouveau/buddypress/members/single/profile/change-avatar.php:36
7221
+ msgid ""
7222
+ "If you'd like to delete your current profile photo, use the delete profile "
7223
+ "photo button."
7224
+ msgstr ""
7225
+
7226
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php:24
7227
+ msgid ""
7228
+ "If you'd like to delete your current cover image, use the delete Cover "
7229
+ "Image button."
7230
+ msgstr ""
7231
+
7232
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/uploader.php:25
7233
+ msgid "Select your file"
7234
  msgstr ""
7235
 
7236
  #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:16
7255
  msgstr ""
7256
 
7257
  #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:86
7258
+ msgid "Cancel invitation"
 
 
 
 
 
 
 
 
7259
  msgstr ""
7260
 
7261
  #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:116
7262
  msgid "Optional: add a message to your invite."
7263
  msgstr ""
7264
 
7265
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:36
 
 
 
 
 
 
 
 
 
 
7266
  msgid "Send @Username"
7267
  msgstr ""
7268
 
7269
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:113
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7270
  msgid "All Messages"
7271
  msgstr ""
7272
 
7273
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:117
7274
  msgid "Select bulk action"
7275
  msgstr ""
7276
 
7277
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:136
7278
  msgid "Select message:"
7279
  msgstr ""
7280
 
7281
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:178
7282
  msgid "Active conversation:"
7283
  msgstr ""
7284
 
7285
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:184
7286
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:247
7287
  msgid "Participants:"
7288
  msgstr ""
7289
 
7290
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:197
7291
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:198
7292
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:259
7293
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:260
7294
  msgid "Delete conversation."
7295
  msgstr ""
7296
 
7297
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:204
7298
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:205
7299
  msgid "Unstar Conversation"
7300
  msgstr ""
7301
 
7302
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:208
7303
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:209
7304
  msgid "Star Conversation"
7305
  msgstr ""
7306
 
7307
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:215
7308
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:216
7309
  msgid "View full conversation and reply."
7310
  msgstr ""
7311
 
7312
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:282
7313
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:283
7314
  msgid "Unstar Message"
7315
  msgstr ""
7316
 
7317
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:286
7318
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:287
7319
  msgid "Star Message"
7320
  msgstr ""
7321
 
7328
  msgid "Close this notice"
7329
  msgstr ""
7330
 
7331
+ #: bp-templates/bp-nouveau/buddypress/groups/create.php:11
7332
  msgid "Create A New Group"
7333
  msgstr ""
7334
 
7335
+ #: bp-templates/bp-nouveau/buddypress/groups/create.php:27
7336
  msgid "Group creation menu"
7337
  msgstr ""
7338
 
7382
  msgid "Change Group Settings"
7383
  msgstr ""
7384
 
7385
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:44
7386
+ msgid "Only people who request membership and are accepted can join the group."
7387
+ msgstr ""
7388
+
7389
+ #: bp-templates/bp-nouveau/buddypress/groups/single/admin/group-settings.php:54
7390
+ msgid "Only people who are invited can join the group."
7391
+ msgstr ""
7392
+
7393
  #: bp-templates/bp-nouveau/buddypress/groups/single/admin/manage-members.php:11
7394
  msgid "Manage Group Members"
7395
  msgstr ""
7415
  msgstr ""
7416
 
7417
  #: bp-templates/bp-nouveau/buddypress/groups/single/parts/header-item-actions.php:13
7418
+ msgid "Group Leadership"
7419
+ msgstr ""
7420
+
7421
+ #: bp-templates/bp-nouveau/buddypress/groups/single/parts/header-item-actions.php:16
7422
+ msgid "Group Administrators"
7423
  msgstr ""
7424
 
7425
  #: bp-templates/bp-nouveau/buddypress/groups/single/parts/item-nav.php:10
7426
  msgid "Group menu"
7427
  msgstr ""
7428
 
7429
+ #: bp-templates/bp-nouveau/buddypress/members/register.php:89
7430
+ msgid "Site Details"
7431
+ msgstr ""
7432
+
7433
+ #: bp-templates/bp-nouveau/buddypress/members/register.php:91
7434
+ msgid "Yes, i'd like to create a new site"
7435
+ msgstr ""
7436
+
7437
  #: bp-templates/bp-nouveau/buddypress/members/single/activity.php:11
7438
  msgid "Activity menu"
7439
  msgstr ""
7475
  msgstr ""
7476
 
7477
  #: bp-templates/bp-nouveau/buddypress/members/single/parts/item-nav.php:10
7478
+ msgid "Member menu"
7479
  msgstr ""
7480
 
7481
+ #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:21
7482
+ #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:44
7483
+ #. translators: field visibility level, e.g. "...seen by: everyone".
7484
  msgid "This field may be seen by: %s"
7485
  msgstr ""
7486
 
7487
+ #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:31
7488
  msgid "Who is allowed to see this field?"
7489
  msgstr ""
7490
 
7496
  "computer."
7497
  msgstr ""
7498
 
7499
+ #: bp-templates/bp-nouveau/buddypress/members/single/profile/change-avatar.php:77
7500
+ msgid ""
7501
+ "Your profile photo will be used on your profile and throughout the site. To "
7502
+ "change your profile photo, create an account with <a "
7503
+ "href=\"https://gravatar.com\">Gravatar</a> using the same email address as "
7504
+ "you used to register with this site."
7505
+ msgstr ""
7506
+
7507
+ #: bp-templates/bp-nouveau/buddypress/members/single/profile/edit.php:34
7508
+ #. translators: %s = profile field group name
7509
+ msgid "Editing \"%s\" Profile Group"
7510
+ msgstr ""
7511
+
7512
  #: bp-templates/bp-nouveau/buddypress/members/single/profile.php:10
7513
  msgid "Profile menu"
7514
  msgstr ""
7517
  msgid "Members Capabilities"
7518
  msgstr ""
7519
 
7520
+ #: bp-templates/bp-nouveau/buddypress/members/single/settings/capabilities.php:19
7521
+ msgid "This member is a spammer."
7522
+ msgstr ""
7523
+
7524
  #: bp-templates/bp-nouveau/buddypress/members/single/settings/general.php:12
7525
  msgid "Email & Password"
7526
  msgstr ""
7574
  msgstr ""
7575
 
7576
  #: bp-templates/bp-nouveau/includes/activity/ajax.php:455
7577
+ msgid "No activites were found."
7578
  msgstr ""
7579
 
7580
  #: bp-templates/bp-nouveau/includes/activity/ajax.php:554
7586
  msgstr ""
7587
 
7588
  #: bp-templates/bp-nouveau/includes/activity/ajax.php:582
7589
+ msgid "There was a problem marking this activity as spam. Please try again."
7590
  msgstr ""
7591
 
7592
+ #: bp-templates/bp-nouveau/includes/activity/ajax.php:631
7593
+ msgid "This activity has been marked as spam and is no longer visible."
7594
+ msgstr ""
7595
+
7596
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:137
7597
  msgid "Post in: Profile"
7598
  msgstr ""
7599
 
7600
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:146
7601
  msgid "Post in: Group"
7602
  msgstr ""
7603
 
7604
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:147
7605
  msgid "Start typing the group name..."
7606
  msgstr ""
7607
 
7608
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:199
7609
  #: bp-templates/bp-nouveau/includes/groups/functions.php:118
7610
  #: bp-templates/bp-nouveau/includes/members/functions.php:49
7611
  msgid "All Members"
7612
  msgstr ""
7613
 
7614
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:253
7615
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:517
7616
  msgid "My Groups"
7617
  msgstr ""
7618
 
7619
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:490
7620
  msgid "New mentions"
7621
  msgstr ""
7622
 
7623
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:495
7624
  msgid "New update replies"
7625
  msgstr ""
7626
 
7627
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:500
7628
  msgid "New update comment replies"
7629
  msgstr ""
7630
 
7631
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:522
7632
  msgid "Use column navigation for the Activity directory."
7633
  msgstr ""
7634
 
7635
+ #: bp-templates/bp-nouveau/includes/activity/functions.php:528
7636
  msgid "Use tab styling for Activity directory navigation."
7637
  msgstr ""
7638
 
7651
 
7652
  #: bp-templates/bp-nouveau/includes/activity/widgets.php:35
7653
  msgid ""
7654
+ "Display the latest updates of your community having the types of your "
7655
  "choice."
7656
  msgstr ""
7657
 
7665
  msgstr ""
7666
 
7667
  #: bp-templates/bp-nouveau/includes/activity/widgets.php:188
7668
+ msgid "Maximum amount to display:"
7669
  msgstr ""
7670
 
7671
  #: bp-templates/bp-nouveau/includes/activity/widgets.php:192
7677
  msgstr ""
7678
 
7679
  #: bp-templates/bp-nouveau/includes/blogs/functions.php:168
7680
+ msgid "Sites loop:"
7681
  msgstr ""
7682
 
7683
  #: bp-templates/bp-nouveau/includes/blogs/functions.php:175
7688
  msgid "Use tab styling for Sites directory navigation."
7689
  msgstr ""
7690
 
7691
+ #: bp-templates/bp-nouveau/includes/classes.php:189
 
 
 
 
7692
  msgid ""
7693
  "Displays BuddyPress primary nav in the sidebar of your site. Make sure to "
7694
  "use it as the first widget of the sidebar and only once."
7695
  msgstr ""
7696
 
7697
+ #: bp-templates/bp-nouveau/includes/classes.php:195
7698
+ msgid "(BuddyPress) Primary navigation"
7699
  msgstr ""
7700
 
7701
+ #: bp-templates/bp-nouveau/includes/classes.php:313
7702
  msgid "Include navigation title"
7703
  msgstr ""
7704
 
7710
 
7711
  #: bp-templates/bp-nouveau/includes/customizer-controls.php:58
7712
  msgid ""
7713
+ "Drag each possible group navigation items that are listed below into the "
7714
+ "order you prefer, in some groups some of these navigation items might not "
7715
+ "be active."
7716
  msgstr ""
7717
 
7718
  #: bp-templates/bp-nouveau/includes/customizer-controls.php:65
7719
  msgid ""
7720
+ "Drag each possible member navigation items that are listed below into the "
7721
+ "order you prefer."
7722
  msgstr ""
7723
 
7724
  #: bp-templates/bp-nouveau/includes/customizer.php:26
7734
  msgstr ""
7735
 
7736
  #: bp-templates/bp-nouveau/includes/customizer.php:46
7737
+ msgid "Member front page"
7738
  msgstr ""
7739
 
7740
  #: bp-templates/bp-nouveau/includes/customizer.php:49
7741
+ msgid "Configure the default front page for members."
7742
  msgstr ""
7743
 
7744
  #: bp-templates/bp-nouveau/includes/customizer.php:52
7745
+ msgid "Member navigation"
7746
  msgstr ""
7747
 
7748
  #: bp-templates/bp-nouveau/includes/customizer.php:55
7749
  msgid ""
7750
+ "Customize the navigation menu for members. In the preview window, navigate "
7751
+ "to a user to preview your changes."
7752
  msgstr ""
7753
 
7754
  #: bp-templates/bp-nouveau/includes/customizer.php:58
7776
  msgstr ""
7777
 
7778
  #: bp-templates/bp-nouveau/includes/customizer.php:232
7779
+ msgid "Display the biographical info from the member's WordPress profile."
7780
  msgstr ""
7781
 
7782
  #: bp-templates/bp-nouveau/includes/customizer.php:238
7783
+ msgid "Display the member navigation vertically."
7784
  msgstr ""
7785
 
7786
  #: bp-templates/bp-nouveau/includes/customizer.php:244
 
7787
  msgid "Use tab styling for primary nav."
7788
  msgstr ""
7789
 
7790
  #: bp-templates/bp-nouveau/includes/customizer.php:250
 
7791
  msgid "Use tab styling for secondary nav."
7792
  msgstr ""
7793
 
7809
 
7810
  #: bp-templates/bp-nouveau/includes/friends/ajax.php:68
7811
  #: bp-templates/bp-nouveau/includes/groups/ajax.php:47
7812
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:259
7813
  msgid "There was a problem performing this action. Please try again."
7814
  msgstr ""
7815
 
7838
  msgstr ""
7839
 
7840
  #: bp-templates/bp-nouveau/includes/functions.php:319
7841
+ msgid "BuddyPress Member's Home"
7842
  msgstr ""
7843
 
7844
  #: bp-templates/bp-nouveau/includes/functions.php:321
7873
  msgid "Four columns"
7874
  msgstr ""
7875
 
7876
+ #: bp-templates/bp-nouveau/includes/functions.php:923
7877
+ msgid "Member registration is currently not allowed."
7878
+ msgstr ""
7879
+
7880
  #: bp-templates/bp-nouveau/includes/functions.php:941
7881
  msgid "Loading the community updates. Please wait."
7882
  msgstr ""
7946
  msgstr ""
7947
 
7948
  #: bp-templates/bp-nouveau/includes/functions.php:1037
7949
+ msgid "Loading the member's updates. Please wait."
7950
  msgstr ""
7951
 
7952
  #: bp-templates/bp-nouveau/includes/functions.php:1041
7953
+ msgid "Loading the member's blogs. Please wait."
7954
  msgstr ""
7955
 
7956
  #: bp-templates/bp-nouveau/includes/functions.php:1045
7957
+ msgid "Loading the member's friends. Please wait."
7958
  msgstr ""
7959
 
7960
  #: bp-templates/bp-nouveau/includes/functions.php:1049
7961
+ msgid "Loading the member's groups. Please wait."
7962
  msgstr ""
7963
 
7964
  #: bp-templates/bp-nouveau/includes/functions.php:1053
7994
  msgid "Loading your groups. Please wait."
7995
  msgstr ""
7996
 
7997
+ #: bp-templates/bp-nouveau/includes/functions.php:1171
7998
+ msgid "Site URL"
7999
+ msgstr ""
8000
+
8001
  #: bp-templates/bp-nouveau/includes/groups/ajax.php:79
8002
  msgid "You cannot join this group."
8003
  msgstr ""
8007
  msgstr ""
8008
 
8009
  #: bp-templates/bp-nouveau/includes/groups/ajax.php:104
8010
+ msgid "Group invitation could not be accepted."
8011
  msgstr ""
8012
 
8013
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:125
8014
  msgid "Group invite accepted."
8015
  msgstr ""
8016
 
8017
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:171
8018
  msgid "Error joining this group."
8019
  msgstr ""
8020
 
8021
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:192
8022
  msgid "Error requesting membership."
8023
  msgstr ""
8024
 
8025
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:213
8026
  msgid "Error leaving group."
8027
  msgstr ""
8028
 
8029
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:287
8030
  msgid ""
8031
  "Select members to invite by clicking the + button. Once you've made your "
8032
+ "selection, use the \"Send Invites\" navigation item to continue."
8033
  msgstr ""
8034
 
8035
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:292
8036
  msgid ""
8037
  "Select friends to invite by clicking the + button. Once you've made your "
8038
+ "selection, use the \"Send Invites\" navigation item to continue."
8039
  msgstr ""
8040
 
8041
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:299
8042
+ msgid "No pending group invitations found."
8043
  msgstr ""
8044
 
8045
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:306
8046
+ msgid "You can view the group's pending invitations from this screen."
8047
  msgstr ""
8048
 
8049
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:313
8050
  msgid "No members were found. Try another filter."
8051
  msgstr ""
8052
 
8053
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:319
8054
  msgid ""
8055
  "All your friends are already members of this group, or have already "
8056
  "received an invite to join this group, or have requested to join it."
8057
  msgstr ""
8058
 
8059
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:325
8060
  msgid "You have no friends!"
8061
  msgstr ""
8062
 
8063
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:354
8064
  msgid "Invites could not be sent. Please try again."
8065
  msgstr ""
8066
 
8067
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:370
8068
+ msgid "You are not allowed to send invitations for this group."
8069
  msgstr ""
8070
 
8071
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:411
8072
+ #. translators: count of users affected
8073
+ msgid "Invitation failed for %s user."
8074
+ msgid_plural "Invitation failed for %s users."
8075
  msgstr[0] ""
8076
  msgstr[1] ""
8077
 
8078
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:430
8079
+ msgid "Invitations sent."
8080
  msgstr ""
8081
 
8082
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:447
8083
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:467
8084
+ msgid "Group invitation could not be removed."
8085
  msgstr ""
8086
 
8087
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:456
8088
+ msgid "The member is already a member of the group."
8089
  msgstr ""
8090
 
8091
+ #: bp-templates/bp-nouveau/includes/groups/ajax.php:476
8092
+ msgid "There are no more pending invitations for the group."
 
 
 
 
8093
  msgstr ""
8094
 
8095
  #: bp-templates/bp-nouveau/includes/groups/functions.php:123
8108
 
8109
  #: bp-templates/bp-nouveau/includes/groups/functions.php:152
8110
  msgid ""
8111
+ "Group invitations cleared. Please use one of the available tabs to select "
8112
+ "members to invite."
8113
  msgstr ""
8114
 
8115
  #: bp-templates/bp-nouveau/includes/groups/functions.php:153
8116
+ msgid "Sending group invitations. Please wait."
8117
  msgstr ""
8118
 
8119
  #: bp-templates/bp-nouveau/includes/groups/functions.php:154
8120
+ msgid "Cancel invitation %s"
8121
  msgstr ""
8122
 
8123
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:472
8124
  msgid "Group invites preferences saved."
8125
  msgstr ""
8126
 
8127
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:474
8128
  msgid "You are not allowed to perform this action."
8129
  msgstr ""
8130
 
8131
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:501
8132
  msgid "All Groups"
8133
  msgstr ""
8134
 
8135
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:686
8136
  msgid "Group front page"
8137
  msgstr ""
8138
 
8139
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:689
8140
  msgid "Configure the default front page for groups."
8141
  msgstr ""
8142
 
8143
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:692
8144
  msgid "Group navigation"
8145
  msgstr ""
8146
 
8147
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:695
8148
  msgid ""
8149
  "Customize the navigation menu for groups. See your changes by navigating to "
8150
+ "a group in the live-preview window."
8151
  msgstr ""
8152
 
8153
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:796
8154
  msgid "Enable custom front pages for groups."
8155
  msgstr ""
8156
 
8157
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:802
8158
  msgid ""
8159
+ "Enable widget region for group homepages. When enabled, the site admin can "
8160
+ "add widgets to group pages via the Widgets panel."
8161
  msgstr ""
8162
 
8163
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:808
8164
  msgid "Display the group description in the body of the group's front page."
8165
  msgstr ""
8166
 
8167
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:814
8168
  msgid "Display the group navigation vertically."
8169
  msgstr ""
8170
 
8171
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:820
8172
+ msgid "Use tab styling for primary navigation."
8173
+ msgstr ""
8174
+
8175
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:826
8176
+ msgid "Use tab styling for secondary navigation."
8177
+ msgstr ""
8178
+
8179
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:832
8180
  msgid "Use tab styling for the group creation process."
8181
  msgstr ""
8182
 
8183
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:839
8184
  msgid "Reorder the primary navigation for a group."
8185
  msgstr ""
8186
 
8187
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:852
8188
  msgid "Group > Members"
8189
  msgstr ""
8190
 
8191
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:859
8192
  msgid "Use column navigation for the Groups directory."
8193
  msgstr ""
8194
 
8195
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:865
8196
  msgid "Use tab styling for Groups directory navigation."
8197
  msgstr ""
8198
 
8199
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:1184
8200
  msgid "Pending Group membership requests"
8201
  msgstr ""
8202
 
8203
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:1189
8204
  msgid "Accepted Group membership requests"
8205
  msgstr ""
8206
 
8207
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:1194
8208
  msgid "Rejected Group membership requests"
8209
  msgstr ""
8210
 
8211
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:1199
8212
+ msgid "Group Administrator promotions"
8213
  msgstr ""
8214
 
8215
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:1204
8216
  msgid "Group Moderator promotions"
8217
  msgstr ""
8218
 
 
 
 
 
8219
  #: bp-templates/bp-nouveau/includes/groups/template-tags.php:1282
8220
  msgid "Groups default front page"
8221
  msgstr ""
8245
  msgid "Your reply was not sent. Please enter some content."
8246
  msgstr ""
8247
 
8248
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:223
8249
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:398
8250
  msgid "Unauthorized request."
8251
  msgstr ""
8252
 
8253
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:513
8254
+ msgid "There was a problem deleting your messages. Please try again."
8255
  msgstr ""
8256
 
8257
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:536
8258
+ msgid "Messages deleted"
8259
  msgstr ""
8260
 
8261
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:552
8262
+ msgid "There was a problem starring your messages. Please try again."
8263
  msgstr ""
8264
 
8265
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:554
8266
+ msgid "There was a problem unstarring your messages. Please try agian."
8267
  msgstr ""
8268
 
8269
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:628
8270
+ msgid "Messages successfully starred."
8271
  msgstr ""
8272
 
8273
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:630
8274
+ msgid "Messages successfully unstarred."
8275
  msgstr ""
8276
 
8277
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:651
8278
+ msgid "There was a problem marking your messages as read. Please try again."
8279
  msgstr ""
8280
 
8281
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:657
8282
+ msgid "There was a problem marking your messages as unread. Please try again."
8283
  msgstr ""
8284
 
8285
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:677
8286
+ msgid "Messages marked as read."
8287
  msgstr ""
8288
 
8289
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:712
 
 
 
 
8290
  msgid "There was a problem dismissing the notice. Please try again."
8291
  msgstr ""
8292
 
8293
+ #: bp-templates/bp-nouveau/includes/messages/ajax.php:746
8294
  msgid "Sitewide notice dismissed"
8295
  msgstr ""
8296
 
8311
  msgstr ""
8312
 
8313
  #: bp-templates/bp-nouveau/includes/messages/functions.php:104
8314
+ msgid "Marking messages as read. Please wait."
8315
  msgstr ""
8316
 
8317
  #: bp-templates/bp-nouveau/includes/messages/functions.php:105
8318
+ msgid "Marking messages as unread. Please wait."
8319
  msgstr ""
8320
 
8321
  #: bp-templates/bp-nouveau/includes/messages/functions.php:106
8322
+ msgid "Deleting messages. Please wait."
8323
  msgstr ""
8324
 
8325
  #: bp-templates/bp-nouveau/includes/messages/functions.php:107
8326
+ msgid "Starring messages. Please wait."
8327
  msgstr ""
8328
 
8329
  #: bp-templates/bp-nouveau/includes/messages/functions.php:108
8330
+ msgid "Unstarring messages. Please wait."
8331
  msgstr ""
8332
 
8333
  #: bp-templates/bp-nouveau/includes/messages/functions.php:111
8350
  msgid "(and %d others)"
8351
  msgstr ""
8352
 
8353
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:257
8354
  msgid "New sitewide notice"
8355
  msgstr ""
8356
 
8357
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:436
8358
  msgid "New private messages"
8359
  msgstr ""
8360
 
8361
+ #: bp-templates/bp-nouveau/includes/template-tags.php:2253
8362
+ #. translators: Do not translate placeholders. 2 = form field name, 3 =
8363
+ #. "(required)".
8364
+ msgid "<label for=\"%1$s\">%2$s %3$s</label>"
 
 
 
 
 
 
8365
  msgstr ""
8366
 
8367
+ #: bp-templates/bp-nouveau/includes/template-tags.php:2272
8368
  msgid ""
8369
  "I would like my site to appear in search engines, and in public listings "
8370
  "around this network."
9413
  msgid "Hello, BuddyPress!"
9414
  msgstr ""
9415
 
9416
+ #: bp-core/classes/class-bp-admin.php:971
9417
  msgctxt "Email post type"
9418
  msgid "Situations"
9419
  msgstr ""
9667
  msgid "Request Membership"
9668
  msgstr ""
9669
 
 
 
 
 
 
 
9670
  #: bp-groups/classes/class-bp-groups-component.php:531
9671
  #. translators: %s: Group count for the current user
9672
  msgctxt "Group screen nav with counter"
9717
  msgstr ""
9718
 
9719
  #: bp-templates/bp-nouveau/includes/groups/classes.php:242
 
 
9720
  msgctxt "My Group screen nav"
9721
  msgid "Invite"
9722
  msgstr ""
10094
  msgstr[1] ""
10095
 
10096
  #: bp-templates/bp-legacy/buddypress/assets/_attachments/uploader.php:25
 
10097
  msgctxt "Uploader: Drop your file here - or - Select your File"
10098
  msgid "or"
10099
  msgstr ""
10100
 
10101
+ #: bp-templates/bp-legacy/buddypress/groups/single/request-membership.php:45
10102
+ #: bp-templates/bp-nouveau/buddypress/groups/single/request-membership.php:30
10103
+ msgctxt "button"
10104
+ msgid "Send Request"
10105
+ msgstr ""
10106
+
10107
+ #: bp-templates/bp-nouveau/buddypress/activity/activity-loop.php:28
10108
+ msgctxt "button"
10109
+ msgid "Load More"
10110
+ msgstr ""
10111
+
10112
+ #: bp-templates/bp-nouveau/buddypress/activity/comment-form.php:29
10113
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:120
10114
+ msgctxt "button"
10115
+ msgid "Cancel"
10116
+ msgstr ""
10117
+
10118
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/camera.php:22
10119
+ msgctxt "button"
10120
+ msgid "Capture"
10121
+ msgstr ""
10122
+
10123
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/camera.php:23
10124
+ msgctxt "button"
10125
+ msgid "Save"
10126
+ msgstr ""
10127
+
10128
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/avatars/crop.php:21
10129
+ msgctxt "button"
10130
+ msgid "Crop Image"
10131
+ msgstr ""
10132
+
10133
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php:27
10134
+ msgctxt "button"
10135
+ msgid "Delete My Cover Image"
10136
+ msgstr ""
10137
+
10138
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/cover-images/index.php:34
10139
+ msgctxt "button"
10140
+ msgid "Delete Group Cover Image"
10141
+ msgstr ""
10142
+
10143
+ #: bp-templates/bp-nouveau/buddypress/assets/_attachments/uploader.php:27
10144
+ msgctxt "button"
10145
+ msgid "Select your file"
10146
+ msgstr ""
10147
+
10148
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/activity/form.php:42
10149
+ msgctxt "button"
10150
+ msgid "Remove item"
10151
+ msgstr ""
10152
+
10153
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:86
10154
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:92
10155
+ msgctxt "button"
10156
+ msgid "Invite"
10157
+ msgstr ""
10158
+
10159
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:90
10160
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:99
10161
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:101
10162
+ msgctxt "button"
10163
+ msgid "Cancel invitation"
10164
+ msgstr ""
10165
+
10166
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:121
10167
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:47
10168
+ msgctxt "button"
10169
+ msgid "Send"
10170
+ msgstr ""
10171
+
10172
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:134
10173
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:103
10174
+ #: bp-templates/bp-nouveau/buddypress/common/search/search-form.php:19
10175
+ #: bp-templates/bp-nouveau/includes/messages/functions.php:149
10176
+ msgctxt "button"
10177
+ msgid "Search"
10178
+ msgstr ""
10179
+
10180
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:126
10181
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:128
10182
+ #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:121
10183
+ msgctxt "button"
10184
+ msgid "Apply"
10185
+ msgstr ""
10186
+
10187
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:349
10188
+ msgctxt "button"
10189
+ msgid "Send Reply"
10190
+ msgstr ""
10191
+
10192
+ #: bp-templates/bp-nouveau/buddypress/common/notices/template-notices.php:15
10193
+ #: bp-templates/bp-nouveau/buddypress/members/single/default-front.php:16
10194
+ #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:36
10195
+ msgctxt "button"
10196
+ msgid "Close"
10197
+ msgstr ""
10198
+
10199
+ #: bp-templates/bp-nouveau/buddypress/members/activate.php:45
10200
+ msgctxt "button"
10201
+ msgid "Activate"
10202
+ msgstr ""
10203
+
10204
+ #: bp-templates/bp-nouveau/buddypress/members/single/parts/profile-visibility.php:25
10205
+ msgctxt "button"
10206
+ msgid "Change"
10207
+ msgstr ""
10208
+
10209
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:342
10210
+ msgctxt "button"
10211
+ msgid "Comment"
10212
+ msgstr ""
10213
+
10214
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:456
10215
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:457
10216
+ #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:114
10217
+ msgctxt "button"
10218
+ msgid "Delete"
10219
+ msgstr ""
10220
+
10221
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:502
10222
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:507
10223
+ msgctxt "button"
10224
+ msgid "Spam"
10225
+ msgstr ""
10226
+
10227
+ #: bp-templates/bp-nouveau/includes/functions.php:1331
10228
+ msgctxt "button"
10229
+ msgid "Post"
10230
+ msgstr ""
10231
+
10232
+ #: bp-templates/bp-nouveau/includes/members/template-tags.php:289
10233
+ msgctxt "button"
10234
+ msgid "Accept"
10235
+ msgstr ""
10236
+
10237
+ #: bp-templates/bp-nouveau/includes/members/template-tags.php:305
10238
+ msgctxt "button"
10239
+ msgid "Reject"
10240
+ msgstr ""
10241
+
10242
+ #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:110
10243
+ msgctxt "button"
10244
+ msgid "Mark read"
10245
+ msgstr ""
10246
+
10247
+ #: bp-templates/bp-nouveau/includes/notifications/template-tags.php:112
10248
+ msgctxt "button"
10249
+ msgid "Mark unread"
10250
+ msgstr ""
10251
+
10252
  #: bp-templates/bp-legacy/buddypress/members/register.php:195
10253
  #: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:65
10254
  msgctxt "Change profile field visibility level"
10256
  msgstr ""
10257
 
10258
  #: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:35
 
10259
  msgctxt "Group member count"
10260
  msgid "%d member"
10261
  msgid_plural "%d members"
10262
  msgstr[0] ""
10263
  msgstr[1] ""
10264
 
10265
+ #: bp-templates/bp-nouveau/buddypress/activity/comment-form.php:19
10266
+ msgctxt "heading"
10267
+ msgid "Comment"
10268
  msgstr ""
10269
 
10270
+ #: bp-templates/bp-nouveau/buddypress/activity/post-form.php:17
10271
+ msgctxt "heading"
10272
+ msgid "Post Update"
10273
  msgstr ""
10274
 
10275
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:129
10276
+ msgctxt "heading"
10277
+ msgid "Search Members"
10278
  msgstr ""
10279
 
10280
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:130
10281
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:100
10282
+ msgctxt "search placeholder text"
10283
+ msgid "Search"
10284
  msgstr ""
10285
 
10286
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:143
10287
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:145
10288
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:81
10289
+ msgctxt "link"
10290
+ msgid "Previous page"
10291
  msgstr ""
10292
 
10293
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:150
10294
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/invites/index.php:151
10295
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:88
10296
+ msgctxt "link"
10297
+ msgid "Next page"
10298
  msgstr ""
10299
 
10300
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:347
10301
+ msgctxt "link"
10302
+ msgid "Comment"
10303
  msgstr ""
10304
 
10305
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:790
10306
+ msgctxt "link"
10307
+ msgid "Reply"
10308
  msgstr ""
10309
 
10310
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:804
10311
+ #: bp-templates/bp-nouveau/includes/notifications/functions.php:244
10312
+ msgctxt "link"
10313
+ msgid "Delete"
10314
  msgstr ""
10315
 
10316
+ #: bp-templates/bp-nouveau/includes/activity/template-tags.php:831
10317
+ msgctxt "link"
10318
+ msgid "Spam"
10319
  msgstr ""
10320
 
10321
+ #: bp-templates/bp-nouveau/includes/notifications/functions.php:210
10322
+ msgctxt "link"
10323
+ msgid "Mark Unread"
10324
  msgstr ""
10325
 
10326
+ #: bp-templates/bp-nouveau/includes/notifications/functions.php:227
10327
+ msgctxt "link"
10328
+ msgid "Mark Read"
10329
  msgstr ""
10330
 
10331
+ #: bp-templates/bp-nouveau/buddypress/common/js-templates/messages/index.php:48
10332
+ msgctxt "form reset button"
10333
+ msgid "Reset"
10334
+ msgstr ""
10335
+
10336
+ #: bp-templates/bp-nouveau/includes/customizer.php:27
10337
+ msgctxt "Customizer Panel"
10338
+ msgid "BuddyPress Nouveau"
10339
+ msgstr ""
10340
+
10341
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:301
10342
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:307
10343
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:327
10344
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:338
10345
+ msgctxt "Group invitations menu title"
10346
+ msgid "Invite"
10347
+ msgstr ""
10348
+
10349
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:414
10350
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:442
10351
+ msgctxt "Group invitations main menu title"
10352
+ msgid "Group Invites"
10353
+ msgstr ""
10354
+
10355
+ #: bp-templates/bp-nouveau/includes/groups/functions.php:845
10356
+ msgctxt "Customizer control label"
10357
+ msgid "Groups"
10358
  msgstr ""
10359
 
10360
  #: bp-xprofile/bp-xprofile-admin.php:28
10520
  msgid "Profile picture of %s"
10521
  msgstr ""
10522
 
10523
+ #: bp-xprofile/classes/class-bp-xprofile-component.php:486
10524
+ msgctxt "My Account Settings sub nav"
10525
+ msgid "Profile"
10526
+ msgstr ""
10527
+
10528
  #: bp-xprofile/classes/class-bp-xprofile-field-type-checkbox.php:29
10529
  msgctxt "xprofile field type"
10530
  msgid "Checkboxes"
class-buddypress.php CHANGED
@@ -303,7 +303,7 @@ class BuddyPress {
303
 
304
  /** Versions **********************************************************/
305
 
306
- $this->version = '3.0.0';
307
  $this->db_version = 11105;
308
 
309
  /** Loading ***********************************************************/
303
 
304
  /** Versions **********************************************************/
305
 
306
+ $this->version = '3.1.0';
307
  $this->db_version = 11105;
308
 
309
  /** Loading ***********************************************************/
cli/.travis.yml CHANGED
@@ -23,6 +23,8 @@ env:
23
 
24
  matrix:
25
  include:
 
 
26
  - php: 7.1
27
  env: WP_VERSION=latest
28
  - php: 7.0
@@ -33,9 +35,6 @@ matrix:
33
  env: WP_VERSION=4.4
34
  - php: 5.6
35
  env: WP_VERSION=trunk
36
- - php: 5.3
37
- dist: precise
38
- env: WP_VERSION=latest
39
 
40
  before_install:
41
  - |
23
 
24
  matrix:
25
  include:
26
+ - php: 7.2
27
+ env: WP_VERSION=latest
28
  - php: 7.1
29
  env: WP_VERSION=latest
30
  - php: 7.0
35
  env: WP_VERSION=4.4
36
  - php: 5.6
37
  env: WP_VERSION=trunk
 
 
 
38
 
39
  before_install:
40
  - |
cli/components/activity.php CHANGED
@@ -899,7 +899,8 @@ class Activity extends BuddypressCommand {
899
 
900
  case 'created_group':
901
  if ( empty( $r['item-id'] ) ) {
902
- $r['item-id'] = \BP_Groups_Group::get_random( 1, 1 )['groups'][0]->slug;
 
903
  }
904
 
905
  $group = groups_get_group( array(
@@ -925,7 +926,8 @@ class Activity extends BuddypressCommand {
925
 
926
  case 'joined_group':
927
  if ( empty( $r['item-id'] ) ) {
928
- $r['item-id'] = \BP_Groups_Group::get_random( 1, 1 )['groups'][0]->slug;
 
929
  }
930
 
931
  $group = groups_get_group( array(
899
 
900
  case 'created_group':
901
  if ( empty( $r['item-id'] ) ) {
902
+ $random_group = \BP_Groups_Group::get_random( 1, 1 );
903
+ $r['item-id'] = $random_group['groups'][0]->slug;
904
  }
905
 
906
  $group = groups_get_group( array(
926
 
927
  case 'joined_group':
928
  if ( empty( $r['item-id'] ) ) {
929
+ $random_group = \BP_Groups_Group::get_random( 1, 1 );
930
+ $r['item-id'] = $random_group['groups'][0]->slug;
931
  }
932
 
933
  $group = groups_get_group( array(
cli/components/buddypress.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Buddypress\CLI\Command;
3
+
4
+ use WP_CLI;
5
+
6
+ /**
7
+ * Manage BuddyPress through the command-line.
8
+ *
9
+ * ## EXAMPLES
10
+ *
11
+ * # Create a user signup.
12
+ * $ wp bp signup create --user-login=test_user --user-email=teste@site.com
13
+ * Success: Successfully added new user signup (ID #345).
14
+ *
15
+ * # Activate a component.
16
+ * $ wp bp component activate groups
17
+ * Success: The Groups component has been activated.
18
+ *
19
+ * # List xprofile fields.
20
+ * $ wp bp xprofile field list
21
+ */
22
+ class BuddyPress extends BuddypressCommand {
23
+
24
+ /**
25
+ * Adds description and subcomands to the DOC.
26
+ *
27
+ * @param string $command Command.
28
+ * @return string
29
+ */
30
+ private function command_to_array( $command ) {
31
+ $dump = array(
32
+ 'name' => $command->get_name(),
33
+ 'description' => $command->get_shortdesc(),
34
+ 'longdesc' => $command->get_longdesc(),
35
+ );
36
+
37
+ foreach ( $command->get_subcommands() as $subcommand ) {
38
+ $dump['subcommands'][] = $this->command_to_array( $subcommand );
39
+ }
40
+
41
+ if ( empty( $dump['subcommands'] ) ) {
42
+ $dump['synopsis'] = (string) $command->get_synopsis();
43
+ }
44
+
45
+ return $dump;
46
+ }
47
+
48
+ }
cli/components/component.php CHANGED
@@ -6,6 +6,27 @@ use WP_CLI;
6
  /**
7
  * Manage BuddyPress Components.
8
  *
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  * @since 1.6.0
10
  */
11
  class Components extends BuddypressCommand {
@@ -16,7 +37,9 @@ class Components extends BuddypressCommand {
16
  * @var array
17
  */
18
  protected $obj_fields = array(
 
19
  'id',
 
20
  'title',
21
  'description',
22
  );
@@ -37,6 +60,10 @@ class Components extends BuddypressCommand {
37
  public function activate( $args, $assoc_args ) {
38
  $component = $args[0];
39
 
 
 
 
 
40
  if ( bp_is_active( $component ) ) {
41
  WP_CLI::error( sprintf( 'The %s component is already active.', ucfirst( $component ) ) );
42
  }
@@ -78,6 +105,10 @@ class Components extends BuddypressCommand {
78
  public function deactivate( $args, $assoc_args ) {
79
  $component = $args[0];
80
 
 
 
 
 
81
  if ( ! bp_is_active( $component ) ) {
82
  WP_CLI::error( sprintf( 'The %s component is not active.', ucfirst( $component ) ) );
83
  }
@@ -153,16 +184,29 @@ class Components extends BuddypressCommand {
153
  $status = 'all';
154
  }
155
 
156
- $components = bp_core_get_components( $type );
157
- $active_components = apply_filters( 'bp_active_components', bp_get_option( 'bp-active-components' ) );
 
 
 
 
 
 
 
 
 
158
  $inactive_components = array_diff( array_keys( $components ), array_keys( $active_components ) );
159
- $current_components = array();
160
 
 
161
  switch ( $status ) {
162
  case 'all':
 
163
  foreach ( $components as $name => $labels ) {
 
164
  $current_components[] = array(
 
165
  'id' => $name,
 
166
  'title' => $labels['title'],
167
  'description' => $labels['description'],
168
  );
@@ -170,21 +214,33 @@ class Components extends BuddypressCommand {
170
  break;
171
 
172
  case 'active':
173
- foreach ( $active_components as $name => $labels ) {
 
 
 
 
174
  $current_components[] = array(
175
- 'id' => $name,
176
- 'title' => '',
177
- 'description' => '',
 
 
178
  );
179
  }
180
  break;
181
 
182
  case 'inactive':
183
- foreach ( $inactive_components as $name => $labels ) {
 
 
 
 
184
  $current_components[] = array(
185
- 'id' => $labels,
186
- 'title' => '',
187
- 'description' => '',
 
 
188
  );
189
  }
190
  break;
@@ -202,6 +258,38 @@ class Components extends BuddypressCommand {
202
  }
203
  }
204
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  /**
206
  * Component Types.
207
  *
6
  /**
7
  * Manage BuddyPress Components.
8
  *
9
+ * ## EXAMPLES
10
+ *
11
+ * # Activate a component.
12
+ * $ wp bp component activate groups
13
+ * Success: The Groups component has been activated.
14
+ *
15
+ * # Deactive a component.
16
+ * $ wp bp component deactivate groups
17
+ * Success: The Groups component has been deactivated.
18
+ *
19
+ * # List components.
20
+ * $ wp bp component list --type=required
21
+ * +--------+---------+--------+------------------------+--------------------------------------------+
22
+ * | number | id | status | title | description |
23
+ * +--------+---------+--------+------------------------------------------+--------------------------+
24
+ * | 1 | core | Active | Núcleo do BuddyPress | É o que torna <del>viajar no tempo</del> o |
25
+ * | | | | | BuddyPress possível! |
26
+ * | 2 | members | Active | Membros da Comunidade | Tudo em uma comunidade BuddyPress gira em |
27
+ * | | | | | torno de seus membros. |
28
+ * +--------+---------+--------+------------------------------------------+--------------------------+
29
+ *
30
  * @since 1.6.0
31
  */
32
  class Components extends BuddypressCommand {
37
  * @var array
38
  */
39
  protected $obj_fields = array(
40
+ 'number',
41
  'id',
42
+ 'status',
43
  'title',
44
  'description',
45
  );
60
  public function activate( $args, $assoc_args ) {
61
  $component = $args[0];
62
 
63
+ if ( ! $this->component_exists( $component ) ) {
64
+ WP_CLI::error( sprintf( '%s is not a valid component.', ucfirst( $component ) ) );
65
+ }
66
+
67
  if ( bp_is_active( $component ) ) {
68
  WP_CLI::error( sprintf( 'The %s component is already active.', ucfirst( $component ) ) );
69
  }
105
  public function deactivate( $args, $assoc_args ) {
106
  $component = $args[0];
107
 
108
+ if ( ! $this->component_exists( $component ) ) {
109
+ WP_CLI::error( sprintf( '%s is not a valid component.', ucfirst( $component ) ) );
110
+ }
111
+
112
  if ( ! bp_is_active( $component ) ) {
113
  WP_CLI::error( sprintf( 'The %s component is not active.', ucfirst( $component ) ) );
114
  }
184
  $status = 'all';
185
  }
186
 
187
+ $components = bp_core_get_components( $type );
188
+
189
+ // Active components.
190
+ $active_components = apply_filters( 'bp_active_components', bp_get_option( 'bp-active-components' ) );
191
+
192
+ // Core component is always active.
193
+ if ( 'optional' !== $type ) {
194
+ $active_components['core'] = $components['core'];
195
+ }
196
+
197
+ // Inactive components.
198
  $inactive_components = array_diff( array_keys( $components ), array_keys( $active_components ) );
 
199
 
200
+ $current_components = array();
201
  switch ( $status ) {
202
  case 'all':
203
+ $index = 0;
204
  foreach ( $components as $name => $labels ) {
205
+ $index++;
206
  $current_components[] = array(
207
+ 'number' => $index,
208
  'id' => $name,
209
+ 'status' => $this->verify_component_status( $name ),
210
  'title' => $labels['title'],
211
  'description' => $labels['description'],
212
  );
214
  break;
215
 
216
  case 'active':
217
+ $index = 0;
218
+ foreach ( array_keys( $active_components ) as $component ) {
219
+ $index++;
220
+
221
+ $info = $components[ $component ];
222
  $current_components[] = array(
223
+ 'number' => $index,
224
+ 'id' => $component,
225
+ 'status' => 'Active',
226
+ 'title' => $info['title'],
227
+ 'description' => $info['description'],
228
  );
229
  }
230
  break;
231
 
232
  case 'inactive':
233
+ $index = 0;
234
+ foreach ( $inactive_components as $component ) {
235
+ $index++;
236
+
237
+ $info = $components[ $component ];
238
  $current_components[] = array(
239
+ 'number' => $index,
240
+ 'id' => $component,
241
+ 'status' => 'Inactive',
242
+ 'title' => $info['title'],
243
+ 'description' => $info['description'],
244
  );
245
  }
246
  break;
258
  }
259
  }
260
 
261
+ /**
262
+ * Does the component exist?
263
+ *
264
+ * @param string $component Component.
265
+ *
266
+ * @return bool
267
+ */
268
+ protected function component_exists( $component ) {
269
+ $keys = array_keys( bp_core_get_components() );
270
+
271
+ return in_array( $component, $keys, true );
272
+ }
273
+
274
+ /**
275
+ * Verify Component Status.
276
+ *
277
+ * @since 1.7.0
278
+ *
279
+ * @param string $id Component id.
280
+ *
281
+ * @return string
282
+ */
283
+ protected function verify_component_status( $id ) {
284
+ $active = 'Active';
285
+
286
+ if ( 'core' === $id ) {
287
+ return $active;
288
+ }
289
+
290
+ return ( bp_is_active( $id ) ) ? $active : 'Inactive';
291
+ }
292
+
293
  /**
294
  * Component Types.
295
  *
cli/components/group-invite.php CHANGED
@@ -233,9 +233,11 @@ class Group_Invite extends BuddypressCommand {
233
  $notify = WP_CLI\Utils\make_progress_bar( 'Generating random group invitations', $assoc_args['count'] );
234
 
235
  for ( $i = 0; $i < $assoc_args['count']; $i++ ) {
 
 
236
  $this->add( array(), array(
237
  'user-id' => $this->get_random_user_id(),
238
- 'group-id' => \BP_Groups_Group::get_random( 1, 1 )['groups'][0]->slug,
239
  'inviter-id' => $this->get_random_user_id(),
240
  'silent',
241
  ) );
233
  $notify = WP_CLI\Utils\make_progress_bar( 'Generating random group invitations', $assoc_args['count'] );
234
 
235
  for ( $i = 0; $i < $assoc_args['count']; $i++ ) {
236
+
237
+ $random_group = \BP_Groups_Group::get_random( 1, 1 );
238
  $this->add( array(), array(
239
  'user-id' => $this->get_random_user_id(),
240
+ 'group-id' => $random_group['groups'][0]->slug,
241
  'inviter-id' => $this->get_random_user_id(),
242
  'silent',
243
  ) );
cli/components/tool.php CHANGED
@@ -49,4 +49,16 @@ class Tool extends BuddypressCommand {
49
  WP_CLI::error( $result[1] );
50
  }
51
  }
 
 
 
 
 
 
 
 
 
 
 
 
52
  }
49
  WP_CLI::error( $result[1] );
50
  }
51
  }
52
+
53
+ /**
54
+ * Display BuddyPress version currently installed.
55
+ *
56
+ * ## EXAMPLE
57
+ *
58
+ * $ wp bp tool version
59
+ * BuddyPress: 3.0.0
60
+ */
61
+ public function version() {
62
+ WP_CLI::line( 'BuddyPress: ' . bp_get_version() );
63
+ }
64
  }
cli/components/xprofile.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Buddypress\CLI\Command;
3
+
4
+ use WP_CLI;
5
+
6
+ /**
7
+ * Manage BuddyPress XProfile.
8
+ *
9
+ * ## EXAMPLES
10
+ *
11
+ * # Save a xprofile data to a user with its field and value.
12
+ * $ wp bp xprofile data set --user-id=45 --field-id=120 --value=teste
13
+ * Success: Updated XProfile field "Field Name" (ID 120) with value "teste" for user user_login (ID 45).
14
+ *
15
+ * # Create a xprofile group.
16
+ * $ wp bp xprofile group create --name="Group Name" --description="Xprofile Group Description"
17
+ * Success: Created XProfile field group "Group Name" (ID 123).
18
+ *
19
+ * # List xprofile fields.
20
+ * $ wp bp xprofile field list
21
+ */
22
+ class XProfile extends BuddypressCommand {
23
+
24
+ /**
25
+ * Adds description and subcomands to the DOC.
26
+ *
27
+ * @param string $command Command.
28
+ * @return string
29
+ */
30
+ private function command_to_array( $command ) {
31
+ $dump = array(
32
+ 'name' => $command->get_name(),
33
+ 'description' => $command->get_shortdesc(),
34
+ 'longdesc' => $command->get_longdesc(),
35
+ );
36
+
37
+ foreach ( $command->get_subcommands() as $subcommand ) {
38
+ $dump['subcommands'][] = $this->command_to_array( $subcommand );
39
+ }
40
+
41
+ if ( empty( $dump['subcommands'] ) ) {
42
+ $dump['synopsis'] = (string) $command->get_synopsis();
43
+ }
44
+
45
+ return $dump;
46
+ }
47
+
48
+ }
cli/composer.lock ADDED
@@ -0,0 +1,3279 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "content-hash": "49131b60c9111f9e35feb53ac9b9eb9f",
8
+ "packages": [
9
+ {
10
+ "name": "composer/ca-bundle",
11
+ "version": "1.1.1",
12
+ "source": {
13
+ "type": "git",
14
+ "url": "https://github.com/composer/ca-bundle.git",
15
+ "reference": "d2c0a83b7533d6912e8d516756ebd34f893e9169"
16
+ },
17
+ "dist": {
18
+ "type": "zip",
19
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/d2c0a83b7533d6912e8d516756ebd34f893e9169",
20
+ "reference": "d2c0a83b7533d6912e8d516756ebd34f893e9169",
21
+ "shasum": ""
22
+ },
23
+ "require": {
24
+ "ext-openssl": "*",
25
+ "ext-pcre": "*",
26
+ "php": "^5.3.2 || ^7.0"
27
+ },
28
+ "require-dev": {
29
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5",
30
+ "psr/log": "^1.0",
31
+ "symfony/process": "^2.5 || ^3.0 || ^4.0"
32
+ },
33
+ "type": "library",
34
+ "extra": {
35
+ "branch-alias": {
36
+ "dev-master": "1.x-dev"
37
+ }
38
+ },
39
+ "autoload": {
40
+ "psr-4": {
41
+ "Composer\\CaBundle\\": "src"
42
+ }
43
+ },
44
+ "notification-url": "https://packagist.org/downloads/",
45
+ "license": [
46
+ "MIT"
47
+ ],
48
+ "authors": [
49
+ {
50
+ "name": "Jordi Boggiano",
51
+ "email": "j.boggiano@seld.be",
52
+ "homepage": "http://seld.be"
53
+ }
54
+ ],
55
+ "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.",
56
+ "keywords": [
57
+ "cabundle",
58
+ "cacert",
59
+ "certificate",
60
+ "ssl",
61
+ "tls"
62
+ ],
63
+ "time": "2018-03-29T19:57:20+00:00"
64
+ },
65
+ {
66
+ "name": "composer/composer",
67
+ "version": "1.6.5",
68
+ "source": {
69
+ "type": "git",
70
+ "url": "https://github.com/composer/composer.git",
71
+ "reference": "b184a92419cc9a9c4c6a09db555a94d441cb11c9"
72
+ },
73
+ "dist": {
74
+ "type": "zip",
75
+ "url": "https://api.github.com/repos/composer/composer/zipball/b184a92419cc9a9c4c6a09db555a94d441cb11c9",
76
+ "reference": "b184a92419cc9a9c4c6a09db555a94d441cb11c9",
77
+ "shasum": ""
78
+ },
79
+ "require": {
80
+ "composer/ca-bundle": "^1.0",
81
+ "composer/semver": "^1.0",
82
+ "composer/spdx-licenses": "^1.2",
83
+ "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0",
84
+ "php": "^5.3.2 || ^7.0",
85
+ "psr/log": "^1.0",
86
+ "seld/cli-prompt": "^1.0",
87
+ "seld/jsonlint": "^1.4",
88
+ "seld/phar-utils": "^1.0",
89
+ "symfony/console": "^2.7 || ^3.0 || ^4.0",
90
+ "symfony/filesystem": "^2.7 || ^3.0 || ^4.0",
91
+ "symfony/finder": "^2.7 || ^3.0 || ^4.0",
92
+ "symfony/process": "^2.7 || ^3.0 || ^4.0"
93
+ },
94
+ "conflict": {
95
+ "symfony/console": "2.8.38"
96
+ },
97
+ "require-dev": {
98
+ "phpunit/phpunit": "^4.8.35 || ^5.7",
99
+ "phpunit/phpunit-mock-objects": "^2.3 || ^3.0"
100
+ },
101
+ "suggest": {
102
+ "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages",
103
+ "ext-zip": "Enabling the zip extension allows you to unzip archives",
104
+ "ext-zlib": "Allow gzip compression of HTTP requests"
105
+ },
106
+ "bin": [
107
+ "bin/composer"
108
+ ],
109
+ "type": "library",
110
+ "extra": {
111
+ "branch-alias": {
112
+ "dev-master": "1.6-dev"
113
+ }
114
+ },
115
+ "autoload": {
116
+ "psr-4": {
117
+ "Composer\\": "src/Composer"
118
+ }
119
+ },
120
+ "notification-url": "https://packagist.org/downloads/",
121
+ "license": [
122
+ "MIT"
123
+ ],
124
+ "authors": [
125
+ {
126
+ "name": "Nils Adermann",
127
+ "email": "naderman@naderman.de",
128
+ "homepage": "http://www.naderman.de"
129
+ },
130
+ {
131
+ "name": "Jordi Boggiano",
132
+ "email": "j.boggiano@seld.be",
133
+ "homepage": "http://seld.be"
134
+ }
135
+ ],
136
+ "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.",
137
+ "homepage": "https://getcomposer.org/",
138
+ "keywords": [
139
+ "autoload",
140
+ "dependency",
141
+ "package"
142
+ ],
143
+ "time": "2018-05-04T09:44:59+00:00"
144
+ },
145
+ {
146
+ "name": "composer/semver",
147
+ "version": "1.4.2",
148
+ "source": {
149
+ "type": "git",
150
+ "url": "https://github.com/composer/semver.git",
151
+ "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573"
152
+ },
153
+ "dist": {
154
+ "type": "zip",
155
+ "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573",
156
+ "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573",
157
+ "shasum": ""
158
+ },
159
+ "require": {
160
+ "php": "^5.3.2 || ^7.0"
161
+ },
162
+ "require-dev": {
163
+ "phpunit/phpunit": "^4.5 || ^5.0.5",
164
+ "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0"
165
+ },
166
+ "type": "library",
167
+ "extra": {
168
+ "branch-alias": {
169
+ "dev-master": "1.x-dev"
170
+ }
171
+ },
172
+ "autoload": {
173
+ "psr-4": {
174
+ "Composer\\Semver\\": "src"
175
+ }
176
+ },
177
+ "notification-url": "https://packagist.org/downloads/",
178
+ "license": [
179
+ "MIT"
180
+ ],
181
+ "authors": [
182
+ {
183
+ "name": "Nils Adermann",
184
+ "email": "naderman@naderman.de",
185
+ "homepage": "http://www.naderman.de"
186
+ },
187
+ {
188
+ "name": "Jordi Boggiano",
189
+ "email": "j.boggiano@seld.be",
190
+ "homepage": "http://seld.be"
191
+ },
192
+ {
193
+ "name": "Rob Bast",
194
+ "email": "rob.bast@gmail.com",
195
+ "homepage": "http://robbast.nl"
196
+ }
197
+ ],
198
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
199
+ "keywords": [
200
+ "semantic",
201
+ "semver",
202
+ "validation",
203
+ "versioning"
204
+ ],
205
+ "time": "2016-08-30T16:08:34+00:00"
206
+ },
207
+ {
208
+ "name": "composer/spdx-licenses",
209
+ "version": "1.4.0",
210
+ "source": {
211
+ "type": "git",
212
+ "url": "https://github.com/composer/spdx-licenses.git",
213
+ "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b"
214
+ },
215
+ "dist": {
216
+ "type": "zip",
217
+ "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/cb17687e9f936acd7e7245ad3890f953770dec1b",
218
+ "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b",
219
+ "shasum": ""
220
+ },
221
+ "require": {
222
+ "php": "^5.3.2 || ^7.0"
223
+ },
224
+ "require-dev": {
225
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5",
226
+ "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0"
227
+ },
228
+ "type": "library",
229
+ "extra": {
230
+ "branch-alias": {
231
+ "dev-master": "1.x-dev"
232
+ }
233
+ },
234
+ "autoload": {
235
+ "psr-4": {
236
+ "Composer\\Spdx\\": "src"
237
+ }
238
+ },
239
+ "notification-url": "https://packagist.org/downloads/",
240
+ "license": [
241
+ "MIT"
242
+ ],
243
+ "authors": [
244
+ {
245
+ "name": "Nils Adermann",
246
+ "email": "naderman@naderman.de",
247
+ "homepage": "http://www.naderman.de"
248
+ },
249
+ {
250
+ "name": "Jordi Boggiano",
251
+ "email": "j.boggiano@seld.be",
252
+ "homepage": "http://seld.be"
253
+ },
254
+ {
255
+ "name": "Rob Bast",
256
+ "email": "rob.bast@gmail.com",
257
+ "homepage": "http://robbast.nl"
258
+ }
259
+ ],
260
+ "description": "SPDX licenses list and validation library.",
261
+ "keywords": [
262
+ "license",
263
+ "spdx",
264
+ "validator"
265
+ ],
266
+ "time": "2018-04-30T10:33:04+00:00"
267
+ },
268
+ {
269
+ "name": "justinrainbow/json-schema",
270
+ "version": "5.2.7",
271
+ "source": {
272
+ "type": "git",
273
+ "url": "https://github.com/justinrainbow/json-schema.git",
274
+ "reference": "8560d4314577199ba51bf2032f02cd1315587c23"
275
+ },
276
+ "dist": {
277
+ "type": "zip",
278
+ "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8560d4314577199ba51bf2032f02cd1315587c23",
279
+ "reference": "8560d4314577199ba51bf2032f02cd1315587c23",
280
+ "shasum": ""
281
+ },
282
+ "require": {
283
+ "php": ">=5.3.3"
284
+ },
285
+ "require-dev": {
286
+ "friendsofphp/php-cs-fixer": "^2.1",
287
+ "json-schema/json-schema-test-suite": "1.2.0",
288
+ "phpunit/phpunit": "^4.8.35"
289
+ },
290
+ "bin": [
291
+ "bin/validate-json"
292
+ ],
293
+ "type": "library",
294
+ "extra": {
295
+ "branch-alias": {
296
+ "dev-master": "5.0.x-dev"
297
+ }
298
+ },
299
+ "autoload": {
300
+ "psr-4": {
301
+ "JsonSchema\\": "src/JsonSchema/"
302
+ }
303
+ },
304
+ "notification-url": "https://packagist.org/downloads/",
305
+ "license": [
306
+ "MIT"
307
+ ],
308
+ "authors": [
309
+ {
310
+ "name": "Bruno Prieto Reis",
311
+ "email": "bruno.p.reis@gmail.com"
312
+ },
313
+ {
314
+ "name": "Justin Rainbow",
315
+ "email": "justin.rainbow@gmail.com"
316
+ },
317
+ {
318
+ "name": "Igor Wiedler",
319
+ "email": "igor@wiedler.ch"
320
+ },
321
+ {
322
+ "name": "Robert Schönthal",
323
+ "email": "seroscho@googlemail.com"
324
+ }
325
+ ],
326
+ "description": "A library to validate a json schema.",
327
+ "homepage": "https://github.com/justinrainbow/json-schema",
328
+ "keywords": [
329
+ "json",
330
+ "schema"
331
+ ],
332
+ "time": "2018-02-14T22:26:30+00:00"
333
+ },
334
+ {
335
+ "name": "mustache/mustache",
336
+ "version": "v2.12.0",
337
+ "source": {
338
+ "type": "git",
339
+ "url": "https://github.com/bobthecow/mustache.php.git",
340
+ "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e"
341
+ },
342
+ "dist": {
343
+ "type": "zip",
344
+ "url": "https://api.github.com/repos/bobthecow/mustache.php/zipball/fe8fe72e9d580591854de404cc59a1b83ca4d19e",
345
+ "reference": "fe8fe72e9d580591854de404cc59a1b83ca4d19e",
346
+ "shasum": ""
347
+ },
348
+ "require": {
349
+ "php": ">=5.2.4"
350
+ },
351
+ "require-dev": {
352
+ "friendsofphp/php-cs-fixer": "~1.11",
353
+ "phpunit/phpunit": "~3.7|~4.0|~5.0"
354
+ },
355
+ "type": "library",
356
+ "autoload": {
357
+ "psr-0": {
358
+ "Mustache": "src/"
359
+ }
360
+ },
361
+ "notification-url": "https://packagist.org/downloads/",
362
+ "license": [
363
+ "MIT"
364
+ ],
365
+ "authors": [
366
+ {
367
+ "name": "Justin Hileman",
368
+ "email": "justin@justinhileman.info",
369
+ "homepage": "http://justinhileman.com"
370
+ }
371
+ ],
372
+ "description": "A Mustache implementation in PHP.",
373
+ "homepage": "https://github.com/bobthecow/mustache.php",
374
+ "keywords": [
375
+ "mustache",
376
+ "templating"
377
+ ],
378
+ "time": "2017-07-11T12:54:05+00:00"
379
+ },
380
+ {
381
+ "name": "nb/oxymel",
382
+ "version": "v0.1.0",
383
+ "source": {
384
+ "type": "git",
385
+ "url": "https://github.com/nb/oxymel.git",
386
+ "reference": "cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c"
387
+ },
388
+ "dist": {
389
+ "type": "zip",
390
+ "url": "https://api.github.com/repos/nb/oxymel/zipball/cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c",
391
+ "reference": "cbe626ef55d5c4cc9b5e6e3904b395861ea76e3c",
392
+ "shasum": ""
393
+ },
394
+ "require": {
395
+ "php": ">=5.2.4"
396
+ },
397
+ "type": "library",
398
+ "autoload": {
399
+ "psr-0": {
400
+ "Oxymel": ""
401
+ }
402
+ },
403
+ "notification-url": "https://packagist.org/downloads/",
404
+ "license": [
405
+ "MIT"
406
+ ],
407
+ "authors": [
408
+ {
409
+ "name": "Nikolay Bachiyski",
410
+ "email": "nb@nikolay.bg",
411
+ "homepage": "http://extrapolate.me/"
412
+ }
413
+ ],
414
+ "description": "A sweet XML builder",
415
+ "homepage": "https://github.com/nb/oxymel",
416
+ "keywords": [
417
+ "xml"
418
+ ],
419
+ "time": "2013-02-24T15:01:54+00:00"
420
+ },
421
+ {
422
+ "name": "psr/log",
423
+ "version": "1.0.2",
424
+ "source": {
425
+ "type": "git",
426
+ "url": "https://github.com/php-fig/log.git",
427
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
428
+ },
429
+ "dist": {
430
+ "type": "zip",
431
+ "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
432
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
433
+ "shasum": ""
434
+ },
435
+ "require": {
436
+ "php": ">=5.3.0"
437
+ },
438
+ "type": "library",
439
+ "extra": {
440
+ "branch-alias": {
441
+ "dev-master": "1.0.x-dev"
442
+ }
443
+ },
444
+ "autoload": {
445
+ "psr-4": {
446
+ "Psr\\Log\\": "Psr/Log/"
447
+ }
448
+ },
449
+ "notification-url": "https://packagist.org/downloads/",
450
+ "license": [
451
+ "MIT"
452
+ ],
453
+ "authors": [
454
+ {
455
+ "name": "PHP-FIG",
456
+ "homepage": "http://www.php-fig.org/"
457
+ }
458
+ ],
459
+ "description": "Common interface for logging libraries",
460
+ "homepage": "https://github.com/php-fig/log",
461
+ "keywords": [
462
+ "log",
463
+ "psr",
464
+ "psr-3"
465
+ ],
466
+ "time": "2016-10-10T12:19:37+00:00"
467
+ },
468
+ {
469
+ "name": "ramsey/array_column",
470
+ "version": "1.1.3",
471
+ "source": {
472
+ "type": "git",
473
+ "url": "https://github.com/ramsey/array_column.git",
474
+ "reference": "f8e52eb28e67eb50e613b451dd916abcf783c1db"
475
+ },
476
+ "dist": {
477
+ "type": "zip",
478
+ "url": "https://api.github.com/repos/ramsey/array_column/zipball/f8e52eb28e67eb50e613b451dd916abcf783c1db",
479
+ "reference": "f8e52eb28e67eb50e613b451dd916abcf783c1db",
480
+ "shasum": ""
481
+ },
482
+ "require-dev": {
483
+ "jakub-onderka/php-parallel-lint": "0.8.*",
484
+ "phpunit/phpunit": "~4.5",
485
+ "satooshi/php-coveralls": "0.6.*",
486
+ "squizlabs/php_codesniffer": "~2.2"
487
+ },
488
+ "type": "library",
489
+ "autoload": {
490
+ "files": [
491
+ "src/array_column.php"
492
+ ]
493
+ },
494
+ "notification-url": "https://packagist.org/downloads/",
495
+ "license": [
496
+ "MIT"
497
+ ],
498
+ "authors": [
499
+ {
500
+ "name": "Ben Ramsey",
501
+ "homepage": "http://benramsey.com"
502
+ }
503
+ ],
504
+ "description": "Provides functionality for array_column() to projects using PHP earlier than version 5.5.",
505
+ "homepage": "https://github.com/ramsey/array_column",
506
+ "keywords": [
507
+ "array",
508
+ "array_column",
509
+ "column"
510
+ ],
511
+ "time": "2015-03-20T22:07:39+00:00"
512
+ },
513
+ {
514
+ "name": "rmccue/requests",
515
+ "version": "v1.7.0",
516
+ "source": {
517
+ "type": "git",
518
+ "url": "https://github.com/rmccue/Requests.git",
519
+ "reference": "87932f52ffad70504d93f04f15690cf16a089546"
520
+ },
521
+ "dist": {
522
+ "type": "zip",
523
+ "url": "https://api.github.com/repos/rmccue/Requests/zipball/87932f52ffad70504d93f04f15690cf16a089546",
524
+ "reference": "87932f52ffad70504d93f04f15690cf16a089546",
525
+ "shasum": ""
526
+ },
527
+ "require": {
528
+ "php": ">=5.2"
529
+ },
530
+ "require-dev": {
531
+ "requests/test-server": "dev-master"
532
+ },
533
+ "type": "library",
534
+ "autoload": {
535
+ "psr-0": {
536
+ "Requests": "library/"
537
+ }
538
+ },
539
+ "notification-url": "https://packagist.org/downloads/",
540
+ "license": [
541
+ "ISC"
542
+ ],
543
+ "authors": [
544
+ {
545
+ "name": "Ryan McCue",
546
+ "homepage": "http://ryanmccue.info"
547
+ }
548
+ ],
549
+ "description": "A HTTP library written in PHP, for human beings.",
550
+ "homepage": "http://github.com/rmccue/Requests",
551
+ "keywords": [
552
+ "curl",
553
+ "fsockopen",
554
+ "http",
555
+ "idna",
556
+ "ipv6",
557
+ "iri",
558
+ "sockets"
559
+ ],
560
+ "time": "2016-10-13T00:11:37+00:00"
561
+ },
562
+ {
563
+ "name": "seld/cli-prompt",
564
+ "version": "1.0.3",
565
+ "source": {
566
+ "type": "git",
567
+ "url": "https://github.com/Seldaek/cli-prompt.git",
568
+ "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd"
569
+ },
570
+ "dist": {
571
+ "type": "zip",
572
+ "url": "https://api.github.com/repos/Seldaek/cli-prompt/zipball/a19a7376a4689d4d94cab66ab4f3c816019ba8dd",
573
+ "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd",
574
+ "shasum": ""
575
+ },
576
+ "require": {
577
+ "php": ">=5.3"
578
+ },
579
+ "type": "library",
580
+ "extra": {
581
+ "branch-alias": {
582
+ "dev-master": "1.x-dev"
583
+ }
584
+ },
585
+ "autoload": {
586
+ "psr-4": {
587
+ "Seld\\CliPrompt\\": "src/"
588
+ }
589
+ },
590
+ "notification-url": "https://packagist.org/downloads/",
591
+ "license": [
592
+ "MIT"
593
+ ],
594
+ "authors": [
595
+ {
596
+ "name": "Jordi Boggiano",
597
+ "email": "j.boggiano@seld.be"
598
+ }
599
+ ],
600
+ "description": "Allows you to prompt for user input on the command line, and optionally hide the characters they type",
601
+ "keywords": [
602
+ "cli",
603
+ "console",
604
+ "hidden",
605
+ "input",
606
+ "prompt"
607
+ ],
608
+ "time": "2017-03-18T11:32:45+00:00"
609
+ },
610
+ {
611
+ "name": "seld/jsonlint",
612
+ "version": "1.7.1",
613
+ "source": {
614
+ "type": "git",
615
+ "url": "https://github.com/Seldaek/jsonlint.git",
616
+ "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38"
617
+ },
618
+ "dist": {
619
+ "type": "zip",
620
+ "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38",
621
+ "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38",
622
+ "shasum": ""
623
+ },
624
+ "require": {
625
+ "php": "^5.3 || ^7.0"
626
+ },
627
+ "require-dev": {
628
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
629
+ },
630
+ "bin": [
631
+ "bin/jsonlint"
632
+ ],
633
+ "type": "library",
634
+ "autoload": {
635
+ "psr-4": {
636
+ "Seld\\JsonLint\\": "src/Seld/JsonLint/"
637
+ }
638
+ },
639
+ "notification-url": "https://packagist.org/downloads/",
640
+ "license": [
641
+ "MIT"
642
+ ],
643
+ "authors": [
644
+ {
645
+ "name": "Jordi Boggiano",
646
+ "email": "j.boggiano@seld.be",
647
+ "homepage": "http://seld.be"
648
+ }
649
+ ],
650
+ "description": "JSON Linter",
651
+ "keywords": [
652
+ "json",
653
+ "linter",
654
+ "parser",
655
+ "validator"
656
+ ],
657
+ "time": "2018-01-24T12:46:19+00:00"
658
+ },
659
+ {
660
+ "name": "seld/phar-utils",
661
+ "version": "1.0.1",
662
+ "source": {
663
+ "type": "git",
664
+ "url": "https://github.com/Seldaek/phar-utils.git",
665
+ "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a"
666
+ },
667
+ "dist": {
668
+ "type": "zip",
669
+ "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a",
670
+ "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a",
671
+ "shasum": ""
672
+ },
673
+ "require": {
674
+ "php": ">=5.3"
675
+ },
676
+ "type": "library",
677
+ "extra": {
678
+ "branch-alias": {
679
+ "dev-master": "1.x-dev"
680
+ }
681
+ },
682
+ "autoload": {
683
+ "psr-4": {
684
+ "Seld\\PharUtils\\": "src/"
685
+ }
686
+ },
687
+ "notification-url": "https://packagist.org/downloads/",
688
+ "license": [
689
+ "MIT"
690
+ ],
691
+ "authors": [
692
+ {
693
+ "name": "Jordi Boggiano",
694
+ "email": "j.boggiano@seld.be"
695
+ }
696
+ ],
697
+ "description": "PHAR file format utilities, for when PHP phars you up",
698
+ "keywords": [
699
+ "phra"
700
+ ],
701
+ "time": "2015-10-13T18:44:15+00:00"
702
+ },
703
+ {
704
+ "name": "symfony/config",
705
+ "version": "v2.8.41",
706
+ "source": {
707
+ "type": "git",
708
+ "url": "https://github.com/symfony/config.git",
709
+ "reference": "93bdf96d0e3c9b29740bf9050e7a996b443c8436"
710
+ },
711
+ "dist": {
712
+ "type": "zip",
713
+ "url": "https://api.github.com/repos/symfony/config/zipball/93bdf96d0e3c9b29740bf9050e7a996b443c8436",
714
+ "reference": "93bdf96d0e3c9b29740bf9050e7a996b443c8436",
715
+ "shasum": ""
716
+ },
717
+ "require": {
718
+ "php": ">=5.3.9",
719
+ "symfony/filesystem": "~2.3|~3.0.0",
720
+ "symfony/polyfill-ctype": "~1.8"
721
+ },
722
+ "require-dev": {
723
+ "symfony/yaml": "~2.7|~3.0.0"
724
+ },
725
+ "suggest": {
726
+ "symfony/yaml": "To use the yaml reference dumper"
727
+ },
728
+ "type": "library",
729
+ "extra": {
730
+ "branch-alias": {
731
+ "dev-master": "2.8-dev"
732
+ }
733
+ },
734
+ "autoload": {
735
+ "psr-4": {
736
+ "Symfony\\Component\\Config\\": ""
737
+ },
738
+ "exclude-from-classmap": [
739
+ "/Tests/"
740
+ ]
741
+ },
742
+ "notification-url": "https://packagist.org/downloads/",
743
+ "license": [
744
+ "MIT"
745
+ ],
746
+ "authors": [
747
+ {
748
+ "name": "Fabien Potencier",
749
+ "email": "fabien@symfony.com"
750
+ },
751
+ {
752
+ "name": "Symfony Community",
753
+ "homepage": "https://symfony.com/contributors"
754
+ }
755
+ ],
756
+ "description": "Symfony Config Component",
757
+ "homepage": "https://symfony.com",
758
+ "time": "2018-05-01T22:52:40+00:00"
759
+ },
760
+ {
761
+ "name": "symfony/console",
762
+ "version": "v2.8.41",
763
+ "source": {
764
+ "type": "git",
765
+ "url": "https://github.com/symfony/console.git",
766
+ "reference": "e8e59b74ad1274714dad2748349b55e3e6e630c7"
767
+ },
768
+ "dist": {
769
+ "type": "zip",
770
+ "url": "https://api.github.com/repos/symfony/console/zipball/e8e59b74ad1274714dad2748349b55e3e6e630c7",
771
+ "reference": "e8e59b74ad1274714dad2748349b55e3e6e630c7",
772
+ "shasum": ""
773
+ },
774
+ "require": {
775
+ "php": ">=5.3.9",
776
+ "symfony/debug": "^2.7.2|~3.0.0",
777
+ "symfony/polyfill-mbstring": "~1.0"
778
+ },
779
+ "require-dev": {
780
+ "psr/log": "~1.0",
781
+ "symfony/event-dispatcher": "~2.1|~3.0.0",
782
+ "symfony/process": "~2.1|~3.0.0"
783
+ },
784
+ "suggest": {
785
+ "psr/log-implementation": "For using the console logger",
786
+ "symfony/event-dispatcher": "",
787
+ "symfony/process": ""
788
+ },
789
+ "type": "library",
790
+ "extra": {
791
+ "branch-alias": {
792
+ "dev-master": "2.8-dev"
793
+ }
794
+ },
795
+ "autoload": {
796
+ "psr-4": {
797
+ "Symfony\\Component\\Console\\": ""
798
+ },
799
+ "exclude-from-classmap": [
800
+ "/Tests/"
801
+ ]
802
+ },
803
+ "notification-url": "https://packagist.org/downloads/",
804
+ "license": [
805
+ "MIT"
806
+ ],
807
+ "authors": [
808
+ {
809
+ "name": "Fabien Potencier",
810
+ "email": "fabien@symfony.com"
811
+ },
812
+ {
813
+ "name": "Symfony Community",
814
+ "homepage": "https://symfony.com/contributors"
815
+ }
816
+ ],
817
+ "description": "Symfony Console Component",
818
+ "homepage": "https://symfony.com",
819
+ "time": "2018-05-15T21:17:45+00:00"
820
+ },
821
+ {
822
+ "name": "symfony/debug",
823
+ "version": "v3.0.9",
824
+ "source": {
825
+ "type": "git",
826
+ "url": "https://github.com/symfony/debug.git",
827
+ "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a"
828
+ },
829
+ "dist": {
830
+ "type": "zip",
831
+ "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a",
832
+ "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a",
833
+ "shasum": ""
834
+ },
835
+ "require": {
836
+ "php": ">=5.5.9",
837
+ "psr/log": "~1.0"
838
+ },
839
+ "conflict": {
840
+ "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
841
+ },
842
+ "require-dev": {
843
+ "symfony/class-loader": "~2.8|~3.0",
844
+ "symfony/http-kernel": "~2.8|~3.0"
845
+ },
846
+ "type": "library",
847
+ "extra": {
848
+ "branch-alias": {
849
+ "dev-master": "3.0-dev"
850
+ }
851
+ },
852
+ "autoload": {
853
+ "psr-4": {
854
+ "Symfony\\Component\\Debug\\": ""
855
+ },
856
+ "exclude-from-classmap": [
857
+ "/Tests/"
858
+ ]
859
+ },
860
+ "notification-url": "https://packagist.org/downloads/",
861
+ "license": [
862
+ "MIT"
863
+ ],
864
+ "authors": [
865
+ {
866
+ "name": "Fabien Potencier",
867
+ "email": "fabien@symfony.com"
868
+ },
869
+ {
870
+ "name": "Symfony Community",
871
+ "homepage": "https://symfony.com/contributors"
872
+ }
873
+ ],
874
+ "description": "Symfony Debug Component",
875
+ "homepage": "https://symfony.com",
876
+ "time": "2016-07-30T07:22:48+00:00"
877
+ },
878
+ {
879
+ "name": "symfony/dependency-injection",
880
+ "version": "v2.8.41",
881
+ "source": {
882
+ "type": "git",
883
+ "url": "https://github.com/symfony/dependency-injection.git",
884
+ "reference": "3d7cbf34cd75ede7f94b9b990f85bd089e15cd55"
885
+ },
886
+ "dist": {
887
+ "type": "zip",
888
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3d7cbf34cd75ede7f94b9b990f85bd089e15cd55",
889
+ "reference": "3d7cbf34cd75ede7f94b9b990f85bd089e15cd55",
890
+ "shasum": ""
891
+ },
892
+ "require": {
893
+ "php": ">=5.3.9"
894
+ },
895
+ "conflict": {
896
+ "symfony/expression-language": "<2.6"
897
+ },
898
+ "require-dev": {
899
+ "symfony/config": "~2.2|~3.0.0",
900
+ "symfony/expression-language": "~2.6|~3.0.0",
901
+ "symfony/yaml": "~2.3.42|~2.7.14|~2.8.7|~3.0.7"
902
+ },
903
+ "suggest": {
904
+ "symfony/config": "",
905
+ "symfony/expression-language": "For using expressions in service container configuration",
906
+ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
907
+ "symfony/yaml": ""
908
+ },
909
+ "type": "library",
910
+ "extra": {
911
+ "branch-alias": {
912
+ "dev-master": "2.8-dev"
913
+ }
914
+ },
915
+ "autoload": {
916
+ "psr-4": {
917
+ "Symfony\\Component\\DependencyInjection\\": ""
918
+ },
919
+ "exclude-from-classmap": [
920
+ "/Tests/"
921
+ ]
922
+ },
923
+ "notification-url": "https://packagist.org/downloads/",
924
+ "license": [
925
+ "MIT"
926
+ ],
927
+ "authors": [
928
+ {
929
+ "name": "Fabien Potencier",
930
+ "email": "fabien@symfony.com"
931
+ },
932
+ {
933
+ "name": "Symfony Community",
934
+ "homepage": "https://symfony.com/contributors"
935
+ }
936
+ ],
937
+ "description": "Symfony DependencyInjection Component",
938
+ "homepage": "https://symfony.com",
939
+ "time": "2018-02-19T16:23:47+00:00"
940
+ },
941
+ {
942
+ "name": "symfony/event-dispatcher",
943
+ "version": "v2.8.41",
944
+ "source": {
945
+ "type": "git",
946
+ "url": "https://github.com/symfony/event-dispatcher.git",
947
+ "reference": "9b69aad7d4c086dc94ebade2d5eb9145da5dac8c"
948
+ },
949
+ "dist": {
950
+ "type": "zip",
951
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9b69aad7d4c086dc94ebade2d5eb9145da5dac8c",
952
+ "reference": "9b69aad7d4c086dc94ebade2d5eb9145da5dac8c",
953
+ "shasum": ""
954
+ },
955
+ "require": {
956
+ "php": ">=5.3.9"
957
+ },
958
+ "require-dev": {
959
+ "psr/log": "~1.0",
960
+ "symfony/config": "^2.0.5|~3.0.0",
961
+ "symfony/dependency-injection": "~2.6|~3.0.0",
962
+ "symfony/expression-language": "~2.6|~3.0.0",
963
+ "symfony/stopwatch": "~2.3|~3.0.0"
964
+ },
965
+ "suggest": {
966
+ "symfony/dependency-injection": "",
967
+ "symfony/http-kernel": ""
968
+ },
969
+ "type": "library",
970
+ "extra": {
971
+ "branch-alias": {
972
+ "dev-master": "2.8-dev"
973
+ }
974
+ },
975
+ "autoload": {
976
+ "psr-4": {
977
+ "Symfony\\Component\\EventDispatcher\\": ""
978
+ },
979
+ "exclude-from-classmap": [
980
+ "/Tests/"
981
+ ]
982
+ },
983
+ "notification-url": "https://packagist.org/downloads/",
984
+ "license": [
985
+ "MIT"
986
+ ],
987
+ "authors": [
988
+ {
989
+ "name": "Fabien Potencier",
990
+ "email": "fabien@symfony.com"
991
+ },
992
+ {
993
+ "name": "Symfony Community",
994
+ "homepage": "https://symfony.com/contributors"
995
+ }
996
+ ],
997
+ "description": "Symfony EventDispatcher Component",
998
+ "homepage": "https://symfony.com",
999
+ "time": "2018-04-06T07:35:03+00:00"
1000
+ },
1001
+ {
1002
+ "name": "symfony/filesystem",
1003
+ "version": "v3.0.9",
1004
+ "source": {
1005
+ "type": "git",
1006
+ "url": "https://github.com/symfony/filesystem.git",
1007
+ "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d"
1008
+ },
1009
+ "dist": {
1010
+ "type": "zip",
1011
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/b2da5009d9bacbd91d83486aa1f44c793a8c380d",
1012
+ "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d",
1013
+ "shasum": ""
1014
+ },
1015
+ "require": {
1016
+ "php": ">=5.5.9"
1017
+ },
1018
+ "type": "library",
1019
+ "extra": {
1020
+ "branch-alias": {
1021
+ "dev-master": "3.0-dev"
1022
+ }
1023
+ },
1024
+ "autoload": {
1025
+ "psr-4": {
1026
+ "Symfony\\Component\\Filesystem\\": ""
1027
+ },
1028
+ "exclude-from-classmap": [
1029
+ "/Tests/"
1030
+ ]
1031
+ },
1032
+ "notification-url": "https://packagist.org/downloads/",
1033
+ "license": [
1034
+ "MIT"
1035
+ ],
1036
+ "authors": [
1037
+ {
1038
+ "name": "Fabien Potencier",
1039
+ "email": "fabien@symfony.com"
1040
+ },
1041
+ {
1042
+ "name": "Symfony Community",
1043
+ "homepage": "https://symfony.com/contributors"
1044
+ }
1045
+ ],
1046
+ "description": "Symfony Filesystem Component",
1047
+ "homepage": "https://symfony.com",
1048
+ "time": "2016-07-20T05:43:46+00:00"
1049
+ },
1050
+ {
1051
+ "name": "symfony/finder",
1052
+ "version": "v2.8.41",
1053
+ "source": {
1054
+ "type": "git",
1055
+ "url": "https://github.com/symfony/finder.git",
1056
+ "reference": "79764d21163db295f0daf8bd9d9b91f97e65db6a"
1057
+ },
1058
+ "dist": {
1059
+ "type": "zip",
1060
+ "url": "https://api.github.com/repos/symfony/finder/zipball/79764d21163db295f0daf8bd9d9b91f97e65db6a",
1061
+ "reference": "79764d21163db295f0daf8bd9d9b91f97e65db6a",
1062
+ "shasum": ""
1063
+ },
1064
+ "require": {
1065
+ "php": ">=5.3.9"
1066
+ },
1067
+ "type": "library",
1068
+ "extra": {
1069
+ "branch-alias": {
1070
+ "dev-master": "2.8-dev"
1071
+ }
1072
+ },
1073
+ "autoload": {
1074
+ "psr-4": {
1075
+ "Symfony\\Component\\Finder\\": ""
1076
+ },
1077
+ "exclude-from-classmap": [
1078
+ "/Tests/"
1079
+ ]
1080
+ },
1081
+ "notification-url": "https://packagist.org/downloads/",
1082
+ "license": [
1083
+ "MIT"
1084
+ ],
1085
+ "authors": [
1086
+ {
1087
+ "name": "Fabien Potencier",
1088
+ "email": "fabien@symfony.com"
1089
+ },
1090
+ {
1091
+ "name": "Symfony Community",
1092
+ "homepage": "https://symfony.com/contributors"
1093
+ }
1094
+ ],
1095
+ "description": "Symfony Finder Component",
1096
+ "homepage": "https://symfony.com",
1097
+ "time": "2018-05-15T21:17:45+00:00"
1098
+ },
1099
+ {
1100
+ "name": "symfony/polyfill-ctype",
1101
+ "version": "v1.8.0",
1102
+ "source": {
1103
+ "type": "git",
1104
+ "url": "https://github.com/symfony/polyfill-ctype.git",
1105
+ "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae"
1106
+ },
1107
+ "dist": {
1108
+ "type": "zip",
1109
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
1110
+ "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
1111
+ "shasum": ""
1112
+ },
1113
+ "require": {
1114
+ "php": ">=5.3.3"
1115
+ },
1116
+ "type": "library",
1117
+ "extra": {
1118
+ "branch-alias": {
1119
+ "dev-master": "1.8-dev"
1120
+ }
1121
+ },
1122
+ "autoload": {
1123
+ "psr-4": {
1124
+ "Symfony\\Polyfill\\Ctype\\": ""
1125
+ },
1126
+ "files": [
1127
+ "bootstrap.php"
1128
+ ]
1129
+ },
1130
+ "notification-url": "https://packagist.org/downloads/",
1131
+ "license": [
1132
+ "MIT"
1133
+ ],
1134
+ "authors": [
1135
+ {
1136
+ "name": "Symfony Community",
1137
+ "homepage": "https://symfony.com/contributors"
1138
+ },
1139
+ {
1140
+ "name": "Gert de Pagter",
1141
+ "email": "BackEndTea@gmail.com"
1142
+ }
1143
+ ],
1144
+ "description": "Symfony polyfill for ctype functions",
1145
+ "homepage": "https://symfony.com",
1146
+ "keywords": [
1147
+ "compatibility",
1148
+ "ctype",
1149
+ "polyfill",
1150
+ "portable"
1151
+ ],
1152
+ "time": "2018-04-30T19:57:29+00:00"
1153
+ },
1154
+ {
1155
+ "name": "symfony/polyfill-mbstring",
1156
+ "version": "v1.8.0",
1157
+ "source": {
1158
+ "type": "git",
1159
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
1160
+ "reference": "3296adf6a6454a050679cde90f95350ad604b171"
1161
+ },
1162
+ "dist": {
1163
+ "type": "zip",
1164
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171",
1165
+ "reference": "3296adf6a6454a050679cde90f95350ad604b171",
1166
+ "shasum": ""
1167
+ },
1168
+ "require": {
1169
+ "php": ">=5.3.3"
1170
+ },
1171
+ "suggest": {
1172
+ "ext-mbstring": "For best performance"
1173
+ },
1174
+ "type": "library",
1175
+ "extra": {
1176
+ "branch-alias": {
1177
+ "dev-master": "1.8-dev"
1178
+ }
1179
+ },
1180
+ "autoload": {
1181
+ "psr-4": {
1182
+ "Symfony\\Polyfill\\Mbstring\\": ""
1183
+ },
1184
+ "files": [
1185
+ "bootstrap.php"
1186
+ ]
1187
+ },
1188
+ "notification-url": "https://packagist.org/downloads/",
1189
+ "license": [
1190
+ "MIT"
1191
+ ],
1192
+ "authors": [
1193
+ {
1194
+ "name": "Nicolas Grekas",
1195
+ "email": "p@tchwork.com"
1196
+ },
1197
+ {
1198
+ "name": "Symfony Community",
1199
+ "homepage": "https://symfony.com/contributors"
1200
+ }
1201
+ ],
1202
+ "description": "Symfony polyfill for the Mbstring extension",
1203
+ "homepage": "https://symfony.com",
1204
+ "keywords": [
1205
+ "compatibility",
1206
+ "mbstring",
1207
+ "polyfill",
1208
+ "portable",
1209
+ "shim"
1210
+ ],
1211
+ "time": "2018-04-26T10:06:28+00:00"
1212
+ },
1213
+ {
1214
+ "name": "symfony/process",
1215
+ "version": "v3.4.11",
1216
+ "source": {
1217
+ "type": "git",
1218
+ "url": "https://github.com/symfony/process.git",
1219
+ "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187"
1220
+ },
1221
+ "dist": {
1222
+ "type": "zip",
1223
+ "url": "https://api.github.com/repos/symfony/process/zipball/4cbf2db9abcb01486a21b7a059e03a62fae63187",
1224
+ "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187",
1225
+ "shasum": ""
1226
+ },
1227
+ "require": {
1228
+ "php": "^5.5.9|>=7.0.8"
1229
+ },
1230
+ "type": "library",
1231
+ "extra": {
1232
+ "branch-alias": {
1233
+ "dev-master": "3.4-dev"
1234
+ }
1235
+ },
1236
+ "autoload": {
1237
+ "psr-4": {
1238
+ "Symfony\\Component\\Process\\": ""
1239
+ },
1240
+ "exclude-from-classmap": [
1241
+ "/Tests/"
1242
+ ]
1243
+ },
1244
+ "notification-url": "https://packagist.org/downloads/",
1245
+ "license": [
1246
+ "MIT"
1247
+ ],
1248
+ "authors": [
1249
+ {
1250
+ "name": "Fabien Potencier",
1251
+ "email": "fabien@symfony.com"
1252
+ },
1253
+ {
1254
+ "name": "Symfony Community",
1255
+ "homepage": "https://symfony.com/contributors"
1256
+ }
1257
+ ],
1258
+ "description": "Symfony Process Component",
1259
+ "homepage": "https://symfony.com",
1260
+ "time": "2018-05-16T08:49:21+00:00"
1261
+ },
1262
+ {
1263
+ "name": "symfony/translation",
1264
+ "version": "v2.8.41",
1265
+ "source": {
1266
+ "type": "git",
1267
+ "url": "https://github.com/symfony/translation.git",
1268
+ "reference": "c6a27966a92fa361bf2c3a938abc6dee91f7ad67"
1269
+ },
1270
+ "dist": {
1271
+ "type": "zip",
1272
+ "url": "https://api.github.com/repos/symfony/translation/zipball/c6a27966a92fa361bf2c3a938abc6dee91f7ad67",
1273
+ "reference": "c6a27966a92fa361bf2c3a938abc6dee91f7ad67",
1274
+ "shasum": ""
1275
+ },
1276
+ "require": {
1277
+ "php": ">=5.3.9",
1278
+ "symfony/polyfill-mbstring": "~1.0"
1279
+ },
1280
+ "conflict": {
1281
+ "symfony/config": "<2.7"
1282
+ },
1283
+ "require-dev": {
1284
+ "psr/log": "~1.0",
1285
+ "symfony/config": "~2.8",
1286
+ "symfony/intl": "~2.7.25|^2.8.18|~3.2.5",
1287
+ "symfony/yaml": "~2.2|~3.0.0"
1288
+ },
1289
+ "suggest": {
1290
+ "psr/log-implementation": "To use logging capability in translator",
1291
+ "symfony/config": "",
1292
+ "symfony/yaml": ""
1293
+ },
1294
+ "type": "library",
1295
+ "extra": {
1296
+ "branch-alias": {
1297
+ "dev-master": "2.8-dev"
1298
+ }
1299
+ },
1300
+ "autoload": {
1301
+ "psr-4": {
1302
+ "Symfony\\Component\\Translation\\": ""
1303
+ },
1304
+ "exclude-from-classmap": [
1305
+ "/Tests/"
1306
+ ]
1307
+ },
1308
+ "notification-url": "https://packagist.org/downloads/",
1309
+ "license": [
1310
+ "MIT"
1311
+ ],
1312
+ "authors": [
1313
+ {
1314
+ "name": "Fabien Potencier",
1315
+ "email": "fabien@symfony.com"
1316
+ },
1317
+ {
1318
+ "name": "Symfony Community",
1319
+ "homepage": "https://symfony.com/contributors"
1320
+ }
1321
+ ],
1322
+ "description": "Symfony Translation Component",
1323
+ "homepage": "https://symfony.com",
1324
+ "time": "2018-05-21T09:59:10+00:00"
1325
+ },
1326
+ {
1327
+ "name": "symfony/yaml",
1328
+ "version": "v2.8.41",
1329
+ "source": {
1330
+ "type": "git",
1331
+ "url": "https://github.com/symfony/yaml.git",
1332
+ "reference": "51356b7a2ff7c9fd06b2f1681cc463bb62b5c1ff"
1333
+ },
1334
+ "dist": {
1335
+ "type": "zip",
1336
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/51356b7a2ff7c9fd06b2f1681cc463bb62b5c1ff",
1337
+ "reference": "51356b7a2ff7c9fd06b2f1681cc463bb62b5c1ff",
1338
+ "shasum": ""
1339
+ },
1340
+ "require": {
1341
+ "php": ">=5.3.9",
1342
+ "symfony/polyfill-ctype": "~1.8"
1343
+ },
1344
+ "type": "library",
1345
+ "extra": {
1346
+ "branch-alias": {
1347
+ "dev-master": "2.8-dev"
1348
+ }
1349
+ },
1350
+ "autoload": {
1351
+ "psr-4": {
1352
+ "Symfony\\Component\\Yaml\\": ""
1353
+ },
1354
+ "exclude-from-classmap": [
1355
+ "/Tests/"
1356
+ ]
1357
+ },
1358
+ "notification-url": "https://packagist.org/downloads/",
1359
+ "license": [
1360
+ "MIT"
1361
+ ],
1362
+ "authors": [
1363
+ {
1364
+ "name": "Fabien Potencier",
1365
+ "email": "fabien@symfony.com"
1366
+ },
1367
+ {
1368
+ "name": "Symfony Community",
1369
+ "homepage": "https://symfony.com/contributors"
1370
+ }
1371
+ ],
1372
+ "description": "Symfony Yaml Component",
1373
+ "homepage": "https://symfony.com",
1374
+ "time": "2018-05-01T22:52:40+00:00"
1375
+ },
1376
+ {
1377
+ "name": "wp-cli/autoload-splitter",
1378
+ "version": "v0.1.5",
1379
+ "source": {
1380
+ "type": "git",
1381
+ "url": "https://github.com/wp-cli/autoload-splitter.git",
1382
+ "reference": "fb4302da26390811d2631c62b42b75976d224bb8"
1383
+ },
1384
+ "dist": {
1385
+ "type": "zip",
1386
+ "url": "https://api.github.com/repos/wp-cli/autoload-splitter/zipball/fb4302da26390811d2631c62b42b75976d224bb8",
1387
+ "reference": "fb4302da26390811d2631c62b42b75976d224bb8",
1388
+ "shasum": ""
1389
+ },
1390
+ "require": {
1391
+ "composer-plugin-api": "^1.1"
1392
+ },
1393
+ "type": "composer-plugin",
1394
+ "extra": {
1395
+ "class": "WP_CLI\\AutoloadSplitter\\ComposerPlugin"
1396
+ },
1397
+ "autoload": {
1398
+ "psr-4": {
1399
+ "WP_CLI\\AutoloadSplitter\\": "src"
1400
+ }
1401
+ },
1402
+ "notification-url": "https://packagist.org/downloads/",
1403
+ "license": [
1404
+ "MIT"
1405
+ ],
1406
+ "authors": [
1407
+ {
1408
+ "name": "Alain Schlesser",
1409
+ "email": "alain.schlesser@gmail.com",
1410
+ "homepage": "https://www.alainschlesser.com"
1411
+ }
1412
+ ],
1413
+ "description": "Composer plugin for splitting a generated autoloader into two distinct parts.",
1414
+ "homepage": "https://wp-cli.org",
1415
+ "time": "2017-08-03T08:40:16+00:00"
1416
+ },
1417
+ {
1418
+ "name": "wp-cli/cache-command",
1419
+ "version": "v1.0.6",
1420
+ "source": {
1421
+ "type": "git",
1422
+ "url": "https://github.com/wp-cli/cache-command.git",
1423
+ "reference": "d82cba9effa198f17847dce5771c8fb20c443ffa"
1424
+ },
1425
+ "dist": {
1426
+ "type": "zip",
1427
+ "url": "https://api.github.com/repos/wp-cli/cache-command/zipball/d82cba9effa198f17847dce5771c8fb20c443ffa",
1428
+ "reference": "d82cba9effa198f17847dce5771c8fb20c443ffa",
1429
+ "shasum": ""
1430
+ },
1431
+ "require-dev": {
1432
+ "behat/behat": "~2.5",
1433
+ "wp-cli/wp-cli": "*"
1434
+ },
1435
+ "type": "wp-cli-package",
1436
+ "extra": {
1437
+ "branch-alias": {
1438
+ "dev-master": "1.x-dev"
1439
+ },
1440
+ "bundled": true,
1441
+ "commands": [
1442
+ "cache",
1443
+ "cache add",
1444
+ "cache decr",
1445
+ "cache delete",
1446
+ "cache flush",
1447
+ "cache get",
1448
+ "cache incr",
1449
+ "cache replace",
1450
+ "cache set",
1451
+ "cache type",
1452
+ "transient",
1453
+ "transient delete",
1454
+ "transient get",
1455
+ "transient set",
1456
+ "transient type"
1457
+ ]
1458
+ },
1459
+ "autoload": {
1460
+ "psr-4": {
1461
+ "": "src/"
1462
+ },
1463
+ "files": [
1464
+ "cache-command.php"
1465
+ ]
1466
+ },
1467
+ "notification-url": "https://packagist.org/downloads/",
1468
+ "license": [
1469
+ "MIT"
1470
+ ],
1471
+ "authors": [
1472
+ {
1473
+ "name": "Daniel Bachhuber",
1474
+ "email": "daniel@runcommand.io",
1475
+ "homepage": "https://runcommand.io"
1476
+ }
1477
+ ],
1478
+ "description": "Manages object and transient caches.",
1479
+ "homepage": "https://github.com/wp-cli/cache-command",
1480
+ "time": "2017-12-14T19:21:19+00:00"
1481
+ },
1482
+ {
1483
+ "name": "wp-cli/checksum-command",
1484
+ "version": "v1.0.9",
1485
+ "source": {
1486
+ "type": "git",
1487
+ "url": "https://github.com/wp-cli/checksum-command.git",
1488
+ "reference": "89a319440651f2867f282339c2223cfe5e9cc3fb"
1489
+ },
1490
+ "dist": {
1491
+ "type": "zip",
1492
+ "url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/89a319440651f2867f282339c2223cfe5e9cc3fb",
1493
+ "reference": "89a319440651f2867f282339c2223cfe5e9cc3fb",
1494
+ "shasum": ""
1495
+ },
1496
+ "require-dev": {
1497
+ "behat/behat": "~2.5",
1498
+ "wp-cli/wp-cli": "^1.5"
1499
+ },
1500
+ "type": "wp-cli-package",
1501
+ "extra": {
1502
+ "branch-alias": {
1503
+ "dev-master": "1.x-dev"
1504
+ },
1505
+ "bundled": true,
1506
+ "commands": [
1507
+ "core verify-checksums",
1508
+ "plugin verify-checksums"
1509
+ ]
1510
+ },
1511
+ "autoload": {
1512
+ "psr-4": {
1513
+ "": "src/"
1514
+ },
1515
+ "files": [
1516
+ "checksum-command.php"
1517
+ ]
1518
+ },
1519
+ "notification-url": "https://packagist.org/downloads/",
1520
+ "license": [
1521
+ "MIT"
1522
+ ],
1523
+ "authors": [
1524
+ {
1525
+ "name": "Daniel Bachhuber",
1526
+ "email": "daniel@runcommand.io",
1527
+ "homepage": "https://runcommand.io"
1528
+ }
1529
+ ],
1530
+ "description": "Verifies file integrity by comparing to published checksums.",
1531
+ "homepage": "https://github.com/wp-cli/checksum-command",
1532
+ "time": "2018-04-20T07:47:27+00:00"
1533
+ },
1534
+ {
1535
+ "name": "wp-cli/config-command",
1536
+ "version": "v1.2.0",
1537
+ "source": {
1538
+ "type": "git",
1539
+ "url": "https://github.com/wp-cli/config-command.git",
1540
+ "reference": "7bec9b4685b4022ab511630422dd6acccadfca9b"
1541
+ },
1542
+ "dist": {
1543
+ "type": "zip",
1544
+ "url": "https://api.github.com/repos/wp-cli/config-command/zipball/7bec9b4685b4022ab511630422dd6acccadfca9b",
1545
+ "reference": "7bec9b4685b4022ab511630422dd6acccadfca9b",
1546
+ "shasum": ""
1547
+ },
1548
+ "require": {
1549
+ "wp-cli/wp-config-transformer": "^1.2.1"
1550
+ },
1551
+ "require-dev": {
1552
+ "behat/behat": "~2.5",
1553
+ "wp-cli/wp-cli": "*"
1554
+ },
1555
+ "type": "wp-cli-package",
1556
+ "extra": {
1557
+ "branch-alias": {
1558
+ "dev-master": "1.x-dev"
1559
+ },
1560
+ "bundled": true,
1561
+ "commands": [
1562
+ "config",
1563
+ "config edit",
1564
+ "config delete",
1565
+ "config create",
1566
+ "config get",
1567
+ "config has",
1568
+ "config list",
1569
+ "config path",
1570
+ "config set"
1571
+ ]
1572
+ },
1573
+ "autoload": {
1574
+ "psr-4": {
1575
+ "": "src/"
1576
+ },
1577
+ "files": [
1578
+ "config-command.php"
1579
+ ]
1580
+ },
1581
+ "notification-url": "https://packagist.org/downloads/",
1582
+ "license": [
1583
+ "MIT"
1584
+ ],
1585
+ "authors": [
1586
+ {
1587
+ "name": "Daniel Bachhuber",
1588
+ "email": "daniel@runcommand.io",
1589
+ "homepage": "https://runcommand.io"
1590
+ },
1591
+ {
1592
+ "name": "Alain Schlesser",
1593
+ "email": "alain.schlesser@gmail.com",
1594
+ "homepage": "https://www.alainschlesser.com"
1595
+ }
1596
+ ],
1597
+ "description": "Generates and reads the wp-config.php file.",
1598
+ "homepage": "https://github.com/wp-cli/config-command",
1599
+ "time": "2018-04-20T08:03:51+00:00"
1600
+ },
1601
+ {
1602
+ "name": "wp-cli/core-command",
1603
+ "version": "v1.0.9",
1604
+ "source": {
1605
+ "type": "git",
1606
+ "url": "https://github.com/wp-cli/core-command.git",
1607
+ "reference": "0e825668d2c060c40ec1d7debbee94bc08eec9b3"
1608
+ },
1609
+ "dist": {
1610
+ "type": "zip",
1611
+ "url": "https://api.github.com/repos/wp-cli/core-command/zipball/0e825668d2c060c40ec1d7debbee94bc08eec9b3",
1612
+ "reference": "0e825668d2c060c40ec1d7debbee94bc08eec9b3",
1613
+ "shasum": ""
1614
+ },
1615
+ "require-dev": {
1616
+ "behat/behat": "~2.5",
1617
+ "wp-cli/wp-cli": "*"
1618
+ },
1619
+ "type": "wp-cli-package",
1620
+ "extra": {
1621
+ "branch-alias": {
1622
+ "dev-master": "1.x-dev"
1623
+ },
1624
+ "bundled": true,
1625
+ "commands": [
1626
+ "core",
1627
+ "core check-update",
1628
+ "core download",
1629
+ "core install",
1630
+ "core is-installed",
1631
+ "core multisite-convert",
1632
+ "core multisite-install",
1633
+ "core update",
1634
+ "core update-db",
1635
+ "core version"
1636
+ ]
1637
+ },
1638
+ "autoload": {
1639
+ "psr-4": {
1640
+ "": "src/"
1641
+ },
1642
+ "files": [
1643
+ "core-command.php"
1644
+ ]
1645
+ },
1646
+ "notification-url": "https://packagist.org/downloads/",
1647
+ "license": [
1648
+ "MIT"
1649
+ ],
1650
+ "authors": [
1651
+ {
1652
+ "name": "Daniel Bachhuber",
1653
+ "email": "daniel@runcommand.io",
1654
+ "homepage": "https://runcommand.io"
1655
+ }
1656
+ ],
1657
+ "description": "Downloads, installs, updates, and manages a WordPress installation.",
1658
+ "homepage": "https://github.com/wp-cli/core-command",
1659
+ "time": "2018-01-30T06:57:10+00:00"
1660
+ },
1661
+ {
1662
+ "name": "wp-cli/cron-command",
1663
+ "version": "v1.0.5",
1664
+ "source": {
1665
+ "type": "git",
1666
+ "url": "https://github.com/wp-cli/cron-command.git",
1667
+ "reference": "9da7e36e8f9c14cb171a3c5204cba2865e0ed7ef"
1668
+ },
1669
+ "dist": {
1670
+ "type": "zip",
1671
+ "url": "https://api.github.com/repos/wp-cli/cron-command/zipball/9da7e36e8f9c14cb171a3c5204cba2865e0ed7ef",
1672
+ "reference": "9da7e36e8f9c14cb171a3c5204cba2865e0ed7ef",
1673
+ "shasum": ""
1674
+ },
1675
+ "require-dev": {
1676
+ "behat/behat": "~2.5",
1677
+ "wp-cli/wp-cli": "*"
1678
+ },
1679
+ "type": "wp-cli-package",
1680
+ "extra": {
1681
+ "branch-alias": {
1682
+ "dev-master": "1.x-dev"
1683
+ },
1684
+ "bundled": true,
1685
+ "commands": [
1686
+ "cron",
1687
+ "cron test",
1688
+ "cron event",
1689
+ "cron event delete",
1690
+ "cron event list",
1691
+ "cron event run",
1692
+ "cron event schedule",
1693
+ "cron schedule",
1694
+ "cron schedule list"
1695
+ ]
1696
+ },
1697
+ "autoload": {
1698
+ "psr-4": {
1699
+ "": "src/"
1700
+ },
1701
+ "files": [
1702
+ "cron-command.php"
1703
+ ]
1704
+ },
1705
+ "notification-url": "https://packagist.org/downloads/",
1706
+ "license": [
1707
+ "MIT"
1708
+ ],
1709
+ "authors": [
1710
+ {
1711
+ "name": "Daniel Bachhuber",
1712
+ "email": "daniel@runcommand.io",
1713
+ "homepage": "https://runcommand.io"
1714
+ }
1715
+ ],
1716
+ "description": "Tests, runs, and deletes WP-Cron events; manages WP-Cron schedules.",
1717
+ "homepage": "https://github.com/wp-cli/cron-command",
1718
+ "time": "2017-12-08T15:09:54+00:00"
1719
+ },
1720
+ {
1721
+ "name": "wp-cli/db-command",
1722
+ "version": "v1.3.3",
1723
+ "source": {
1724
+ "type": "git",
1725
+ "url": "https://github.com/wp-cli/db-command.git",
1726
+ "reference": "7d361a15ffe34dfc9d798a81208fe61b8a2f049a"
1727
+ },
1728
+ "dist": {
1729
+ "type": "zip",
1730
+ "url": "https://api.github.com/repos/wp-cli/db-command/zipball/7d361a15ffe34dfc9d798a81208fe61b8a2f049a",
1731
+ "reference": "7d361a15ffe34dfc9d798a81208fe61b8a2f049a",
1732
+ "shasum": ""
1733
+ },
1734
+ "require-dev": {
1735
+ "behat/behat": "~2.5",
1736
+ "wp-cli/wp-cli": "^1.5"
1737
+ },
1738
+ "type": "wp-cli-package",
1739
+ "extra": {
1740
+ "branch-alias": {
1741
+ "dev-master": "1.x-dev"
1742
+ },
1743
+ "bundled": true,
1744
+ "commands": [
1745
+ "db",
1746
+ "db create",
1747
+ "db drop",
1748
+ "db reset",
1749
+ "db check",
1750
+ "db optimize",
1751
+ "db prefix",
1752
+ "db repair",
1753
+ "db cli",
1754
+ "db query",
1755
+ "db export",
1756
+ "db import",
1757
+ "db search",
1758
+ "db tables",
1759
+ "db size"
1760
+ ]
1761
+ },
1762
+ "autoload": {
1763
+ "psr-4": {
1764
+ "": "src/"
1765
+ },
1766
+ "files": [
1767
+ "db-command.php"
1768
+ ]
1769
+ },
1770
+ "notification-url": "https://packagist.org/downloads/",
1771
+ "license": [
1772
+ "MIT"
1773
+ ],
1774
+ "authors": [
1775
+ {
1776
+ "name": "Daniel Bachhuber",
1777
+ "email": "daniel@runcommand.io",
1778
+ "homepage": "https://runcommand.io"
1779
+ }
1780
+ ],
1781
+ "description": "Performs basic database operations using credentials stored in wp-config.php.",
1782
+ "homepage": "https://github.com/wp-cli/db-command",
1783
+ "time": "2018-01-29T02:30:16+00:00"
1784
+ },
1785
+ {
1786
+ "name": "wp-cli/embed-command",
1787
+ "version": "v1.0.0",
1788
+ "source": {
1789
+ "type": "git",
1790
+ "url": "https://github.com/wp-cli/embed-command.git",
1791
+ "reference": "81319d4243a8dfe096389bf54cdc4fc3dec53497"
1792
+ },
1793
+ "dist": {
1794
+ "type": "zip",
1795
+ "url": "https://api.github.com/repos/wp-cli/embed-command/zipball/81319d4243a8dfe096389bf54cdc4fc3dec53497",
1796
+ "reference": "81319d4243a8dfe096389bf54cdc4fc3dec53497",
1797
+ "shasum": ""
1798
+ },
1799
+ "require-dev": {
1800
+ "behat/behat": "~2.5",
1801
+ "wp-cli/wp-cli": "^1.5"
1802
+ },
1803
+ "type": "wp-cli-package",
1804
+ "extra": {
1805
+ "branch-alias": {
1806
+ "dev-master": "1.x-dev"
1807
+ },
1808
+ "bundled": true,
1809
+ "commands": [
1810
+ "embed",
1811
+ "embed fetch",
1812
+ "embed provider list",
1813
+ "embed provider match",
1814
+ "embed handler list",
1815
+ "embed cache clear",
1816
+ "embed cache find",
1817
+ "embed cache trigger"
1818
+ ]
1819
+ },
1820
+ "autoload": {
1821
+ "psr-4": {
1822
+ "WP_CLI\\Embeds\\": "src/"
1823
+ },
1824
+ "files": [
1825
+ "embed-command.php"
1826
+ ]
1827
+ },
1828
+ "notification-url": "https://packagist.org/downloads/",
1829
+ "license": [
1830
+ "MIT"
1831
+ ],
1832
+ "authors": [
1833
+ {
1834
+ "name": "Pascal Birchler",
1835
+ "homepage": "https://pascalbirchler.com/"
1836
+ }
1837
+ ],
1838
+ "description": "Inspects oEmbed providers, clears embed cache, and more.",
1839
+ "homepage": "https://github.com/wp-cli/embed-command",
1840
+ "time": "2018-01-22T21:26:48+00:00"
1841
+ },
1842
+ {
1843
+ "name": "wp-cli/entity-command",
1844
+ "version": "v1.2.0",
1845
+ "source": {
1846
+ "type": "git",
1847
+ "url": "https://github.com/wp-cli/entity-command.git",
1848
+ "reference": "035b74ea16912f5b14db7d28036a6d123eb90547"
1849
+ },
1850
+ "dist": {
1851
+ "type": "zip",
1852
+ "url": "https://api.github.com/repos/wp-cli/entity-command/zipball/035b74ea16912f5b14db7d28036a6d123eb90547",
1853
+ "reference": "035b74ea16912f5b14db7d28036a6d123eb90547",
1854
+ "shasum": ""
1855
+ },
1856
+ "require-dev": {
1857
+ "behat/behat": "~2.5",
1858
+ "phpunit/phpunit": "^4.8",
1859
+ "wp-cli/wp-cli": "^1.5"
1860
+ },
1861
+ "type": "wp-cli-package",
1862
+ "extra": {
1863
+ "branch-alias": {
1864
+ "dev-master": "1.x-dev"
1865
+ },
1866
+ "bundled": true,
1867
+ "commands": [
1868
+ "comment",
1869
+ "comment approve",
1870
+ "comment count",
1871
+ "comment create",
1872
+ "comment delete",
1873
+ "comment exists",
1874
+ "comment generate",
1875
+ "comment get",
1876
+ "comment list",
1877
+ "comment meta",
1878
+ "comment meta add",
1879
+ "comment meta delete",
1880
+ "comment meta get",
1881
+ "comment meta list",
1882
+ "comment meta patch",
1883
+ "comment meta pluck",
1884
+ "comment meta update",
1885
+ "comment recount",
1886
+ "comment spam",
1887
+ "comment status",
1888
+ "comment trash",
1889
+ "comment unapprove",
1890
+ "comment unspam",
1891
+ "comment untrash",
1892
+ "comment update",
1893
+ "menu",
1894
+ "menu create",
1895
+ "menu delete",
1896
+ "menu item",
1897
+ "menu item add-custom",
1898
+ "menu item add-post",
1899
+ "menu item add-term",
1900
+ "menu item delete",
1901
+ "menu item list",
1902
+ "menu item update",
1903
+ "menu list",
1904
+ "menu location",
1905
+ "menu location assign",
1906
+ "menu location list",
1907
+ "menu location remove",
1908
+ "network meta",
1909
+ "network meta add",
1910
+ "network meta delete",
1911
+ "network meta get",
1912
+ "network meta list",
1913
+ "network meta patch",
1914
+ "network meta pluck",
1915
+ "network meta update",
1916
+ "option",
1917
+ "option add",
1918
+ "option delete",
1919
+ "option get",
1920
+ "option list",
1921
+ "option patch",
1922
+ "option pluck",
1923
+ "option update",
1924
+ "post",
1925
+ "post create",
1926
+ "post delete",
1927
+ "post edit",
1928
+ "post generate",
1929
+ "post get",
1930
+ "post list",
1931
+ "post meta",
1932
+ "post meta add",
1933
+ "post meta delete",
1934
+ "post meta get",
1935
+ "post meta list",
1936
+ "post meta patch",
1937
+ "post meta pluck",
1938
+ "post meta update",
1939
+ "post term",
1940
+ "post term add",
1941
+ "post term list",
1942
+ "post term remove",
1943
+ "post term set",
1944
+ "post update",
1945
+ "post-type",
1946
+ "post-type get",
1947
+ "post-type list",
1948
+ "site",
1949
+ "site activate",
1950
+ "site archive",
1951
+ "site create",
1952
+ "site deactivate",
1953
+ "site delete",
1954
+ "site empty",
1955
+ "site list",
1956
+ "site mature",
1957
+ "site option",
1958
+ "site private",
1959
+ "site public",
1960
+ "site spam",
1961
+ "site unarchive",
1962
+ "site unmature",
1963
+ "site unspam",
1964
+ "taxonomy",
1965
+ "taxonomy get",
1966
+ "taxonomy list",
1967
+ "term",
1968
+ "term create",
1969
+ "term delete",
1970
+ "term generate",
1971
+ "term get",
1972
+ "term list",
1973
+ "term meta",
1974
+ "term meta add",
1975
+ "term meta delete",
1976
+ "term meta get",
1977
+ "term meta list",
1978
+ "term meta patch",
1979
+ "term meta pluck",
1980
+ "term meta update",
1981
+ "term recount",
1982
+ "term update",
1983
+ "user",
1984
+ "user add-cap",
1985
+ "user add-role",
1986
+ "user create",
1987
+ "user delete",
1988
+ "user generate",
1989
+ "user get",
1990
+ "user import-csv",
1991
+ "user list",
1992
+ "user list-caps",
1993
+ "user meta",
1994
+ "user meta add",
1995
+ "user meta delete",
1996
+ "user meta get",
1997
+ "user meta list",
1998
+ "user meta patch",
1999
+ "user meta pluck",
2000
+ "user meta update",
2001
+ "user remove-cap",
2002
+ "user remove-role",
2003
+ "user reset-password",
2004
+ "user session",
2005
+ "user session destroy",
2006
+ "user session list",
2007
+ "user set-role",
2008
+ "user spam",
2009
+ "user term",
2010
+ "user term add",
2011
+ "user term list",
2012
+ "user term remove",
2013
+ "user term set",
2014
+ "user unspam",
2015
+ "user update"
2016
+ ]
2017
+ },
2018
+ "autoload": {
2019
+ "psr-4": {
2020
+ "": "src/",
2021
+ "WP_CLI\\": "src/WP_CLI"
2022
+ },
2023
+ "files": [
2024
+ "entity-command.php"
2025
+ ]
2026
+ },
2027
+ "notification-url": "https://packagist.org/downloads/",
2028
+ "license": [
2029
+ "MIT"
2030
+ ],
2031
+ "authors": [
2032
+ {
2033
+ "name": "Daniel Bachhuber",
2034
+ "email": "daniel@runcommand.io",
2035
+ "homepage": "https://runcommand.io"
2036
+ }
2037
+ ],
2038
+ "description": "Manage WordPress core entities.",
2039
+ "homepage": "https://github.com/wp-cli/entity-command",
2040
+ "time": "2018-01-29T15:10:05+00:00"
2041
+ },
2042
+ {
2043
+ "name": "wp-cli/eval-command",
2044
+ "version": "v1.0.5",
2045
+ "source": {
2046
+ "type": "git",
2047
+ "url": "https://github.com/wp-cli/eval-command.git",
2048
+ "reference": "9640d40ab28cd86590396f08f8c382e659f57321"
2049
+ },
2050
+ "dist": {
2051
+ "type": "zip",
2052
+ "url": "https://api.github.com/repos/wp-cli/eval-command/zipball/9640d40ab28cd86590396f08f8c382e659f57321",
2053
+ "reference": "9640d40ab28cd86590396f08f8c382e659f57321",
2054
+ "shasum": ""
2055
+ },
2056
+ "require": {
2057
+ "wp-cli/wp-cli": "*"
2058
+ },
2059
+ "require-dev": {
2060
+ "behat/behat": "~2.5"
2061
+ },
2062
+ "type": "wp-cli-package",
2063
+ "extra": {
2064
+ "branch-alias": {
2065
+ "dev-master": "1.x-dev"
2066
+ },
2067
+ "bundled": true,
2068
+ "commands": [
2069
+ "eval",
2070
+ "eval-file"
2071
+ ]
2072
+ },
2073
+ "autoload": {
2074
+ "psr-4": {
2075
+ "": "src/"
2076
+ },
2077
+ "files": [
2078
+ "eval-command.php"
2079
+ ]
2080
+ },
2081
+ "notification-url": "https://packagist.org/downloads/",
2082
+ "license": [
2083
+ "MIT"
2084
+ ],
2085
+ "authors": [
2086
+ {
2087
+ "name": "Daniel Bachhuber",
2088
+ "email": "daniel@runcommand.io",
2089
+ "homepage": "https://runcommand.io"
2090
+ }
2091
+ ],
2092
+ "description": "Executes arbitrary PHP code or files.",
2093
+ "homepage": "https://github.com/wp-cli/eval-command",
2094
+ "time": "2017-12-08T14:33:34+00:00"
2095
+ },
2096
+ {
2097
+ "name": "wp-cli/export-command",
2098
+ "version": "v1.0.6",
2099
+ "source": {
2100
+ "type": "git",
2101
+ "url": "https://github.com/wp-cli/export-command.git",
2102
+ "reference": "4ae43d370ed6ed0cffd166dd84cfc6c8c2f3f633"
2103
+ },
2104
+ "dist": {
2105
+ "type": "zip",
2106
+ "url": "https://api.github.com/repos/wp-cli/export-command/zipball/4ae43d370ed6ed0cffd166dd84cfc6c8c2f3f633",
2107
+ "reference": "4ae43d370ed6ed0cffd166dd84cfc6c8c2f3f633",
2108
+ "shasum": ""
2109
+ },
2110
+ "require": {
2111
+ "nb/oxymel": "~0.1.0"
2112
+ },
2113
+ "require-dev": {
2114
+ "behat/behat": "~2.5",
2115
+ "wp-cli/wp-cli": "^1.5"
2116
+ },
2117
+ "type": "wp-cli-package",
2118
+ "extra": {
2119
+ "branch-alias": {
2120
+ "dev-master": "1.x-dev"
2121
+ },
2122
+ "bundled": true,
2123
+ "commands": [
2124
+ "export"
2125
+ ]
2126
+ },
2127
+ "autoload": {
2128
+ "psr-4": {
2129
+ "": "src/"
2130
+ },
2131
+ "files": [
2132
+ "export-command.php"
2133
+ ]
2134
+ },
2135
+ "notification-url": "https://packagist.org/downloads/",
2136
+ "license": [
2137
+ "MIT"
2138
+ ],
2139
+ "authors": [
2140
+ {
2141
+ "name": "Daniel Bachhuber",
2142
+ "email": "daniel@runcommand.io",
2143
+ "homepage": "https://runcommand.io"
2144
+ }
2145
+ ],
2146
+ "description": "Exports WordPress content to a WXR file.",
2147
+ "homepage": "https://github.com/wp-cli/export-command",
2148
+ "time": "2018-01-29T02:33:05+00:00"
2149
+ },
2150
+ {
2151
+ "name": "wp-cli/extension-command",
2152
+ "version": "v1.1.10",
2153
+ "source": {
2154
+ "type": "git",
2155
+ "url": "https://github.com/wp-cli/extension-command.git",
2156
+ "reference": "3fd9ff469311bb2d6935997bc7d7e9f157fe29e6"
2157
+ },
2158
+ "dist": {
2159
+ "type": "zip",
2160
+ "url": "https://api.github.com/repos/wp-cli/extension-command/zipball/3fd9ff469311bb2d6935997bc7d7e9f157fe29e6",
2161
+ "reference": "3fd9ff469311bb2d6935997bc7d7e9f157fe29e6",
2162
+ "shasum": ""
2163
+ },
2164
+ "require-dev": {
2165
+ "behat/behat": "~2.5",
2166
+ "wp-cli/wp-cli": "*"
2167
+ },
2168
+ "type": "wp-cli-package",
2169
+ "extra": {
2170
+ "branch-alias": {
2171
+ "dev-master": "1.x-dev"
2172
+ },
2173
+ "bundled": true,
2174
+ "commands": [
2175
+ "plugin",
2176
+ "plugin activate",
2177
+ "plugin deactivate",
2178
+ "plugin delete",
2179
+ "plugin get",
2180
+ "plugin install",
2181
+ "plugin is-installed",
2182
+ "plugin list",
2183
+ "plugin path",
2184
+ "plugin search",
2185
+ "plugin status",
2186
+ "plugin toggle",
2187
+ "plugin uninstall",
2188
+ "plugin update",
2189
+ "theme",
2190
+ "theme activate",
2191
+ "theme delete",
2192
+ "theme disable",
2193
+ "theme enable",
2194
+ "theme get",
2195
+ "theme install",
2196
+ "theme is-installed",
2197
+ "theme list",
2198
+ "theme mod",
2199
+ "theme mod get",
2200
+ "theme mod set",
2201
+ "theme mod remove",
2202
+ "theme path",
2203
+ "theme search",
2204
+ "theme status",
2205
+ "theme update"
2206
+ ]
2207
+ },
2208
+ "autoload": {
2209
+ "psr-4": {
2210
+ "": "src/"
2211
+ },
2212
+ "files": [
2213
+ "extension-command.php"
2214
+ ]
2215
+ },
2216
+ "notification-url": "https://packagist.org/downloads/",
2217
+ "license": [
2218
+ "MIT"
2219
+ ],
2220
+ "authors": [
2221
+ {
2222
+ "name": "Daniel Bachhuber",
2223
+ "email": "daniel@runcommand.io",
2224
+ "homepage": "https://runcommand.io"
2225
+ }
2226
+ ],
2227
+ "description": "Manages plugins and themes, including installs, activations, and updates.",
2228
+ "homepage": "https://github.com/wp-cli/extension-command",
2229
+ "time": "2018-03-02T13:26:40+00:00"
2230
+ },
2231
+ {
2232
+ "name": "wp-cli/import-command",
2233
+ "version": "v1.0.6",
2234
+ "source": {
2235
+ "type": "git",
2236
+ "url": "https://github.com/wp-cli/import-command.git",
2237
+ "reference": "d2c21d590a1bfae6ac4e289a0b57fb1870b5990c"
2238
+ },
2239
+ "dist": {
2240
+ "type": "zip",
2241
+ "url": "https://api.github.com/repos/wp-cli/import-command/zipball/d2c21d590a1bfae6ac4e289a0b57fb1870b5990c",
2242
+ "reference": "d2c21d590a1bfae6ac4e289a0b57fb1870b5990c",
2243
+ "shasum": ""
2244
+ },
2245
+ "require": {
2246
+ "wp-cli/wp-cli": "*"
2247
+ },
2248
+ "require-dev": {
2249
+ "behat/behat": "~2.5"
2250
+ },
2251
+ "type": "wp-cli-package",
2252
+ "extra": {
2253
+ "branch-alias": {
2254
+ "dev-master": "1.x-dev"
2255
+ },
2256
+ "bundled": true,
2257
+ "commands": [
2258
+ "import"
2259
+ ]
2260
+ },
2261
+ "autoload": {
2262
+ "psr-4": {
2263
+ "": "src/"
2264
+ },
2265
+ "files": [
2266
+ "import-command.php"
2267
+ ]
2268
+ },
2269
+ "notification-url": "https://packagist.org/downloads/",
2270
+ "license": [
2271
+ "MIT"
2272
+ ],
2273
+ "authors": [
2274
+ {
2275
+ "name": "Daniel Bachhuber",
2276
+ "email": "daniel@runcommand.io",
2277
+ "homepage": "https://runcommand.io"
2278
+ }
2279
+ ],
2280
+ "description": "Imports content from a given WXR file.",
2281
+ "homepage": "https://github.com/wp-cli/import-command",
2282
+ "time": "2017-12-08T15:13:36+00:00"
2283
+ },
2284
+ {
2285
+ "name": "wp-cli/language-command",
2286
+ "version": "v1.0.6",
2287
+ "source": {
2288
+ "type": "git",
2289
+ "url": "https://github.com/wp-cli/language-command.git",
2290
+ "reference": "2a3d1ce5a722a4d70809619a065087aa933f6209"
2291
+ },
2292
+ "dist": {
2293
+ "type": "zip",
2294
+ "url": "https://api.github.com/repos/wp-cli/language-command/zipball/2a3d1ce5a722a4d70809619a065087aa933f6209",
2295
+ "reference": "2a3d1ce5a722a4d70809619a065087aa933f6209",
2296
+ "shasum": ""
2297
+ },
2298
+ "require-dev": {
2299
+ "behat/behat": "~2.5",
2300
+ "wp-cli/wp-cli": "*"
2301
+ },
2302
+ "type": "wp-cli-package",
2303
+ "extra": {
2304
+ "branch-alias": {
2305
+ "dev-master": "1.x-dev"
2306
+ },
2307
+ "commands": [
2308
+ "language",
2309
+ "language core",
2310
+ "language core activate",
2311
+ "language core install",
2312
+ "language core list",
2313
+ "language core uninstall",
2314
+ "language core update"
2315
+ ],
2316
+ "bundled": true
2317
+ },
2318
+ "autoload": {
2319
+ "psr-4": {
2320
+ "": "src/"
2321
+ },
2322
+ "files": [
2323
+ "language-command.php"
2324
+ ]
2325
+ },
2326
+ "notification-url": "https://packagist.org/downloads/",
2327
+ "license": [
2328
+ "MIT"
2329
+ ],
2330
+ "authors": [
2331
+ {
2332
+ "name": "Daniel Bachhuber",
2333
+ "email": "daniel@runcommand.io",
2334
+ "homepage": "https://runcommand.io"
2335
+ }
2336
+ ],
2337
+ "description": "Installs, activates, and manages language packs.",
2338
+ "homepage": "https://github.com/wp-cli/language-command",
2339
+ "time": "2017-12-08T17:50:26+00:00"
2340
+ },
2341
+ {
2342
+ "name": "wp-cli/media-command",
2343
+ "version": "v1.1.4",
2344
+ "source": {
2345
+ "type": "git",
2346
+ "url": "https://github.com/wp-cli/media-command.git",
2347
+ "reference": "7f8664ba722505446b3ef3dbc6717e8e7f20265c"
2348
+ },
2349
+ "dist": {
2350
+ "type": "zip",
2351
+ "url": "https://api.github.com/repos/wp-cli/media-command/zipball/7f8664ba722505446b3ef3dbc6717e8e7f20265c",
2352
+ "reference": "7f8664ba722505446b3ef3dbc6717e8e7f20265c",
2353
+ "shasum": ""
2354
+ },
2355
+ "require-dev": {
2356
+ "behat/behat": "~2.5",
2357
+ "wp-cli/wp-cli": "^1.5"
2358
+ },
2359
+ "type": "wp-cli-package",
2360
+ "extra": {
2361
+ "branch-alias": {
2362
+ "dev-master": "1.x-dev"
2363
+ },
2364
+ "bundled": true,
2365
+ "commands": [
2366
+ "media",
2367
+ "media import",
2368
+ "media regenerate",
2369
+ "media image-size"
2370
+ ]
2371
+ },
2372
+ "autoload": {
2373
+ "psr-4": {
2374
+ "": "src/"
2375
+ },
2376
+ "files": [
2377
+ "media-command.php"
2378
+ ]
2379
+ },
2380
+ "notification-url": "https://packagist.org/downloads/",
2381
+ "license": [
2382
+ "MIT"
2383
+ ],
2384
+ "authors": [
2385
+ {
2386
+ "name": "Daniel Bachhuber",
2387
+ "email": "daniel@runcommand.io",
2388
+ "homepage": "https://runcommand.io"
2389
+ }
2390
+ ],
2391
+ "description": "Imports files as attachments, regenerates thumbnails, or lists registered image sizes.",
2392
+ "homepage": "https://github.com/wp-cli/media-command",
2393
+ "time": "2018-01-29T02:17:56+00:00"
2394
+ },
2395
+ {
2396
+ "name": "wp-cli/mustangostang-spyc",
2397
+ "version": "0.6.3",
2398
+ "source": {
2399
+ "type": "git",
2400
+ "url": "https://github.com/wp-cli/spyc.git",
2401
+ "reference": "6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7"
2402
+ },
2403
+ "dist": {
2404
+ "type": "zip",
2405
+ "url": "https://api.github.com/repos/wp-cli/spyc/zipball/6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7",
2406
+ "reference": "6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7",
2407
+ "shasum": ""
2408
+ },
2409
+ "require": {
2410
+ "php": ">=5.3.1"
2411
+ },
2412
+ "require-dev": {
2413
+ "phpunit/phpunit": "4.3.*@dev"
2414
+ },
2415
+ "type": "library",
2416
+ "extra": {
2417
+ "branch-alias": {
2418
+ "dev-master": "0.5.x-dev"
2419
+ }
2420
+ },
2421
+ "autoload": {
2422
+ "psr-4": {
2423
+ "Mustangostang\\": "src/"
2424
+ },
2425
+ "files": [
2426
+ "includes/functions.php"
2427
+ ]
2428
+ },
2429
+ "notification-url": "https://packagist.org/downloads/",
2430
+ "license": [
2431
+ "MIT"
2432
+ ],
2433
+ "authors": [
2434
+ {
2435
+ "name": "mustangostang",
2436
+ "email": "vlad.andersen@gmail.com"
2437
+ }
2438
+ ],
2439
+ "description": "A simple YAML loader/dumper class for PHP (WP-CLI fork)",
2440
+ "homepage": "https://github.com/mustangostang/spyc/",
2441
+ "time": "2017-04-25T11:26:20+00:00"
2442
+ },
2443
+ {
2444
+ "name": "wp-cli/package-command",
2445
+ "version": "v1.0.13",
2446
+ "source": {
2447
+ "type": "git",
2448
+ "url": "https://github.com/wp-cli/package-command.git",
2449
+ "reference": "c912f5bbad216997d7496d46fc5c05af0e16fc5b"
2450
+ },
2451
+ "dist": {
2452
+ "type": "zip",
2453
+ "url": "https://api.github.com/repos/wp-cli/package-command/zipball/c912f5bbad216997d7496d46fc5c05af0e16fc5b",
2454
+ "reference": "c912f5bbad216997d7496d46fc5c05af0e16fc5b",
2455
+ "shasum": ""
2456
+ },
2457
+ "require": {
2458
+ "composer/composer": "^1.2.0"
2459
+ },
2460
+ "require-dev": {
2461
+ "behat/behat": "~2.5",
2462
+ "wp-cli/wp-cli": "^1.5"
2463
+ },
2464
+ "type": "wp-cli-package",
2465
+ "extra": {
2466
+ "branch-alias": {
2467
+ "dev-master": "1.x-dev"
2468
+ },
2469
+ "bundled": true,
2470
+ "commands": [
2471
+ "package",
2472
+ "package browse",
2473
+ "package install",
2474
+ "package list",
2475
+ "package update",
2476
+ "package uninstall"
2477
+ ]
2478
+ },
2479
+ "autoload": {
2480
+ "psr-4": {
2481
+ "": "src/"
2482
+ },
2483
+ "files": [
2484
+ "package-command.php"
2485
+ ]
2486
+ },
2487
+ "notification-url": "https://packagist.org/downloads/",
2488
+ "license": [
2489
+ "MIT"
2490
+ ],
2491
+ "authors": [
2492
+ {
2493
+ "name": "Daniel Bachhuber",
2494
+ "email": "daniel@runcommand.io",
2495
+ "homepage": "https://runcommand.io"
2496
+ }
2497
+ ],
2498
+ "description": "Lists, installs, and removes WP-CLI packages.",
2499
+ "homepage": "https://github.com/wp-cli/package-command",
2500
+ "time": "2018-04-20T23:33:22+00:00"
2501
+ },
2502
+ {
2503
+ "name": "wp-cli/php-cli-tools",
2504
+ "version": "v0.11.9",
2505
+ "source": {
2506
+ "type": "git",
2507
+ "url": "https://github.com/wp-cli/php-cli-tools.git",
2508
+ "reference": "766653b45f99c817edb2b05dc23f7ee9a893768d"
2509
+ },
2510
+ "dist": {
2511
+ "type": "zip",
2512
+ "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/766653b45f99c817edb2b05dc23f7ee9a893768d",
2513
+ "reference": "766653b45f99c817edb2b05dc23f7ee9a893768d",
2514
+ "shasum": ""
2515
+ },
2516
+ "require": {
2517
+ "php": ">= 5.3.0"
2518
+ },
2519
+ "type": "library",
2520
+ "autoload": {
2521
+ "psr-0": {
2522
+ "cli": "lib/"
2523
+ },
2524
+ "files": [
2525
+ "lib/cli/cli.php"
2526
+ ]
2527
+ },
2528
+ "notification-url": "https://packagist.org/downloads/",
2529
+ "license": [
2530
+ "MIT"
2531
+ ],
2532
+ "authors": [
2533
+ {
2534
+ "name": "James Logsdon",
2535
+ "email": "jlogsdon@php.net",
2536
+ "role": "Developer"
2537
+ },
2538
+ {
2539
+ "name": "Daniel Bachhuber",
2540
+ "email": "daniel@handbuilt.co",
2541
+ "role": "Maintainer"
2542
+ }
2543
+ ],
2544
+ "description": "Console utilities for PHP",
2545
+ "homepage": "http://github.com/wp-cli/php-cli-tools",
2546
+ "keywords": [
2547
+ "cli",
2548
+ "console"
2549
+ ],
2550
+ "time": "2018-04-20T08:11:30+00:00"
2551
+ },
2552
+ {
2553
+ "name": "wp-cli/rewrite-command",
2554
+ "version": "v1.0.5",
2555
+ "source": {
2556
+ "type": "git",
2557
+ "url": "https://github.com/wp-cli/rewrite-command.git",
2558
+ "reference": "6b1695887e289ffad14c8f4ea86b5f1d92757408"
2559
+ },
2560
+ "dist": {
2561
+ "type": "zip",
2562
+ "url": "https://api.github.com/repos/wp-cli/rewrite-command/zipball/6b1695887e289ffad14c8f4ea86b5f1d92757408",
2563
+ "reference": "6b1695887e289ffad14c8f4ea86b5f1d92757408",
2564
+ "shasum": ""
2565
+ },
2566
+ "require-dev": {
2567
+ "behat/behat": "~2.5",
2568
+ "wp-cli/wp-cli": "*"
2569
+ },
2570
+ "type": "wp-cli-package",
2571
+ "extra": {
2572
+ "branch-alias": {
2573
+ "dev-master": "1.x-dev"
2574
+ },
2575
+ "commands": [
2576
+ "rewrite",
2577
+ "rewrite flush",
2578
+ "rewrite list",
2579
+ "rewrite structure"
2580
+ ],
2581
+ "bundled": true
2582
+ },
2583
+ "autoload": {
2584
+ "psr-4": {
2585
+ "": "src/"
2586
+ },
2587
+ "files": [
2588
+ "rewrite-command.php"
2589
+ ]
2590
+ },
2591
+ "notification-url": "https://packagist.org/downloads/",
2592
+ "license": [
2593
+ "MIT"
2594
+ ],
2595
+ "authors": [
2596
+ {
2597
+ "name": "Daniel Bachhuber",
2598
+ "email": "daniel@runcommand.io",
2599
+ "homepage": "https://runcommand.io"
2600
+ }
2601
+ ],
2602
+ "description": "Lists or flushes the site's rewrite rules, updates the permalink structure.",
2603
+ "homepage": "https://github.com/wp-cli/rewrite-command",
2604
+ "time": "2017-12-08T17:51:04+00:00"
2605
+ },
2606
+ {
2607
+ "name": "wp-cli/role-command",
2608
+ "version": "v1.1.0",
2609
+ "source": {
2610
+ "type": "git",
2611
+ "url": "https://github.com/wp-cli/role-command.git",
2612
+ "reference": "f50134ea9c27c108b1069cf044f7395c8f9bf716"
2613
+ },
2614
+ "dist": {
2615
+ "type": "zip",
2616
+ "url": "https://api.github.com/repos/wp-cli/role-command/zipball/f50134ea9c27c108b1069cf044f7395c8f9bf716",
2617
+ "reference": "f50134ea9c27c108b1069cf044f7395c8f9bf716",
2618
+ "shasum": ""
2619
+ },
2620
+ "require-dev": {
2621
+ "behat/behat": "~2.5",
2622
+ "wp-cli/wp-cli": "*"
2623
+ },
2624
+ "type": "wp-cli-package",
2625
+ "extra": {
2626
+ "branch-alias": {
2627
+ "dev-master": "1.x-dev"
2628
+ },
2629
+ "commands": [
2630
+ "role",
2631
+ "role create",
2632
+ "role delete",
2633
+ "role exists",
2634
+ "role list",
2635
+ "role reset",
2636
+ "cap",
2637
+ "cap add",
2638
+ "cap list",
2639
+ "cap remove"
2640
+ ],
2641
+ "bundled": true
2642
+ },
2643
+ "autoload": {
2644
+ "psr-4": {
2645
+ "": "src/"
2646
+ },
2647
+ "files": [
2648
+ "role-command.php"
2649
+ ]
2650
+ },
2651
+ "notification-url": "https://packagist.org/downloads/",
2652
+ "license": [
2653
+ "MIT"
2654
+ ],
2655
+ "authors": [
2656
+ {
2657
+ "name": "Daniel Bachhuber",
2658
+ "email": "daniel@runcommand.io",
2659
+ "homepage": "https://runcommand.io"
2660
+ }
2661
+ ],
2662
+ "description": "Adds, removes, lists, and resets roles and capabilities.",
2663
+ "homepage": "https://github.com/wp-cli/role-command",
2664
+ "time": "2018-04-20T08:05:51+00:00"
2665
+ },
2666
+ {
2667
+ "name": "wp-cli/scaffold-command",
2668
+ "version": "v1.1.3",
2669
+ "source": {
2670
+ "type": "git",
2671
+ "url": "https://github.com/wp-cli/scaffold-command.git",
2672
+ "reference": "659348f05ebb47e70d7286b2e989146893a3c588"
2673
+ },
2674
+ "dist": {
2675
+ "type": "zip",
2676
+ "url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/659348f05ebb47e70d7286b2e989146893a3c588",
2677
+ "reference": "659348f05ebb47e70d7286b2e989146893a3c588",
2678
+ "shasum": ""
2679
+ },
2680
+ "require-dev": {
2681
+ "behat/behat": "~2.5",
2682
+ "wp-cli/wp-cli": "^1.5"
2683
+ },
2684
+ "type": "wp-cli-package",
2685
+ "extra": {
2686
+ "branch-alias": {
2687
+ "dev-master": "1.x-dev"
2688
+ },
2689
+ "bundled": true,
2690
+ "commands": [
2691
+ "scaffold",
2692
+ "scaffold _s",
2693
+ "scaffold block",
2694
+ "scaffold child-theme",
2695
+ "scaffold plugin",
2696
+ "scaffold plugin-tests",
2697
+ "scaffold post-type",
2698
+ "scaffold taxonomy",
2699
+ "scaffold theme-tests"
2700
+ ]
2701
+ },
2702
+ "autoload": {
2703
+ "psr-4": {
2704
+ "": "src/"
2705
+ },
2706
+ "files": [
2707
+ "scaffold-command.php"
2708
+ ]
2709
+ },
2710
+ "notification-url": "https://packagist.org/downloads/",
2711
+ "license": [
2712
+ "MIT"
2713
+ ],
2714
+ "authors": [
2715
+ {
2716
+ "name": "Daniel Bachhuber",
2717
+ "email": "daniel@runcommand.io",
2718
+ "homepage": "https://runcommand.io"
2719
+ }
2720
+ ],
2721
+ "description": "Generates code for post types, taxonomies, blocks, plugins, child themes, etc.",
2722
+ "homepage": "https://github.com/wp-cli/scaffold-command",
2723
+ "time": "2018-04-20T18:37:18+00:00"
2724
+ },
2725
+ {
2726
+ "name": "wp-cli/search-replace-command",
2727
+ "version": "v1.3.0",
2728
+ "source": {
2729
+ "type": "git",
2730
+ "url": "https://github.com/wp-cli/search-replace-command.git",
2731
+ "reference": "df1092f65a5953dddace5fc060a9155f430a560e"
2732
+ },
2733
+ "dist": {
2734
+ "type": "zip",
2735
+ "url": "https://api.github.com/repos/wp-cli/search-replace-command/zipball/df1092f65a5953dddace5fc060a9155f430a560e",
2736
+ "reference": "df1092f65a5953dddace5fc060a9155f430a560e",
2737
+ "shasum": ""
2738
+ },
2739
+ "require-dev": {
2740
+ "behat/behat": "~2.5",
2741
+ "wp-cli/wp-cli": "^1.5"
2742
+ },
2743
+ "type": "wp-cli-package",
2744
+ "extra": {
2745
+ "branch-alias": {
2746
+ "dev-master": "1.x-dev"
2747
+ },
2748
+ "bundled": true,
2749
+ "commands": [
2750
+ "search-replace"
2751
+ ]
2752
+ },
2753
+ "autoload": {
2754
+ "psr-4": {
2755
+ "": "src/"
2756
+ },
2757
+ "files": [
2758
+ "search-replace-command.php"
2759
+ ]
2760
+ },
2761
+ "notification-url": "https://packagist.org/downloads/",
2762
+ "license": [
2763
+ "MIT"
2764
+ ],
2765
+ "authors": [
2766
+ {
2767
+ "name": "Daniel Bachhuber",
2768
+ "email": "daniel@runcommand.io",
2769
+ "homepage": "https://runcommand.io"
2770
+ }
2771
+ ],
2772
+ "description": "Searches/replaces strings in the database.",
2773
+ "homepage": "https://github.com/wp-cli/search-replace-command",
2774
+ "time": "2018-04-21T01:30:44+00:00"
2775
+ },
2776
+ {
2777
+ "name": "wp-cli/server-command",
2778
+ "version": "v1.0.9",
2779
+ "source": {
2780
+ "type": "git",
2781
+ "url": "https://github.com/wp-cli/server-command.git",
2782
+ "reference": "6192e6d7becd07e4c11a8f1560655c73a3b3526a"
2783
+ },
2784
+ "dist": {
2785
+ "type": "zip",
2786
+ "url": "https://api.github.com/repos/wp-cli/server-command/zipball/6192e6d7becd07e4c11a8f1560655c73a3b3526a",
2787
+ "reference": "6192e6d7becd07e4c11a8f1560655c73a3b3526a",
2788
+ "shasum": ""
2789
+ },
2790
+ "require": {
2791
+ "wp-cli/wp-cli": "*"
2792
+ },
2793
+ "require-dev": {
2794
+ "behat/behat": "~2.5"
2795
+ },
2796
+ "type": "wp-cli-package",
2797
+ "extra": {
2798
+ "branch-alias": {
2799
+ "dev-master": "1.x-dev"
2800
+ },
2801
+ "commands": [
2802
+ "server"
2803
+ ],
2804
+ "bundled": true
2805
+ },
2806
+ "autoload": {
2807
+ "psr-4": {
2808
+ "": "src/"
2809
+ },
2810
+ "files": [
2811
+ "server-command.php"
2812
+ ]
2813
+ },
2814
+ "notification-url": "https://packagist.org/downloads/",
2815
+ "license": [
2816
+ "MIT"
2817
+ ],
2818
+ "authors": [
2819
+ {
2820
+ "name": "Daniel Bachhuber",
2821
+ "email": "daniel@runcommand.io",
2822
+ "homepage": "https://runcommand.io"
2823
+ }
2824
+ ],
2825
+ "description": "Launches PHP's built-in web server for a specific WordPress installation.",
2826
+ "homepage": "https://github.com/wp-cli/server-command",
2827
+ "time": "2017-12-14T20:06:24+00:00"
2828
+ },
2829
+ {
2830
+ "name": "wp-cli/shell-command",
2831
+ "version": "v1.0.5",
2832
+ "source": {
2833
+ "type": "git",
2834
+ "url": "https://github.com/wp-cli/shell-command.git",
2835
+ "reference": "507603a8994d984b6c4d5bd26e31ede6d9cce37e"
2836
+ },
2837
+ "dist": {
2838
+ "type": "zip",
2839
+ "url": "https://api.github.com/repos/wp-cli/shell-command/zipball/507603a8994d984b6c4d5bd26e31ede6d9cce37e",
2840
+ "reference": "507603a8994d984b6c4d5bd26e31ede6d9cce37e",
2841
+ "shasum": ""
2842
+ },
2843
+ "require": {
2844
+ "wp-cli/wp-cli": "*"
2845
+ },
2846
+ "require-dev": {
2847
+ "behat/behat": "~2.5"
2848
+ },
2849
+ "type": "wp-cli-package",
2850
+ "extra": {
2851
+ "branch-alias": {
2852
+ "dev-master": "1.x-dev"
2853
+ },
2854
+ "commands": [
2855
+ "shell"
2856
+ ],
2857
+ "bundled": true
2858
+ },
2859
+ "autoload": {
2860
+ "psr-4": {
2861
+ "": "src/",
2862
+ "WP_CLI\\": "src/WP_CLI"
2863
+ },
2864
+ "files": [
2865
+ "shell-command.php"
2866
+ ]
2867
+ },
2868
+ "notification-url": "https://packagist.org/downloads/",
2869
+ "license": [
2870
+ "MIT"
2871
+ ],
2872
+ "authors": [
2873
+ {
2874
+ "name": "Daniel Bachhuber",
2875
+ "email": "daniel@runcommand.io",
2876
+ "homepage": "https://runcommand.io"
2877
+ }
2878
+ ],
2879
+ "description": "Opens an interactive PHP console for running and testing PHP code.",
2880
+ "homepage": "https://github.com/wp-cli/shell-command",
2881
+ "time": "2017-12-08T16:03:53+00:00"
2882
+ },
2883
+ {
2884
+ "name": "wp-cli/super-admin-command",
2885
+ "version": "v1.0.6",
2886
+ "source": {
2887
+ "type": "git",
2888
+ "url": "https://github.com/wp-cli/super-admin-command.git",
2889
+ "reference": "2982d2e6514dbb318561d72d0577746a3a37181e"
2890
+ },
2891
+ "dist": {
2892
+ "type": "zip",
2893
+ "url": "https://api.github.com/repos/wp-cli/super-admin-command/zipball/2982d2e6514dbb318561d72d0577746a3a37181e",
2894
+ "reference": "2982d2e6514dbb318561d72d0577746a3a37181e",
2895
+ "shasum": ""
2896
+ },
2897
+ "require-dev": {
2898
+ "behat/behat": "~2.5",
2899
+ "wp-cli/wp-cli": "*"
2900
+ },
2901
+ "type": "wp-cli-package",
2902
+ "extra": {
2903
+ "branch-alias": {
2904
+ "dev-master": "1.x-dev"
2905
+ },
2906
+ "commands": [
2907
+ "super-admin",
2908
+ "super-admin add",
2909
+ "super-admin list",
2910
+ "super-admin remove"
2911
+ ],
2912
+ "bundled": true
2913
+ },
2914
+ "autoload": {
2915
+ "psr-4": {
2916
+ "": "src/"
2917
+ },
2918
+ "files": [
2919
+ "super-admin-command.php"
2920
+ ]
2921
+ },
2922
+ "notification-url": "https://packagist.org/downloads/",
2923
+ "license": [
2924
+ "MIT"
2925
+ ],
2926
+ "authors": [
2927
+ {
2928
+ "name": "Daniel Bachhuber",
2929
+ "email": "daniel@runcommand.io",
2930
+ "homepage": "https://runcommand.io"
2931
+ }
2932
+ ],
2933
+ "description": "Lists, adds, or removes super admin users on a multisite installation.",
2934
+ "homepage": "https://github.com/wp-cli/super-admin-command",
2935
+ "time": "2017-12-08T17:43:53+00:00"
2936
+ },
2937
+ {
2938
+ "name": "wp-cli/widget-command",
2939
+ "version": "v1.0.5",
2940
+ "source": {
2941
+ "type": "git",
2942
+ "url": "https://github.com/wp-cli/widget-command.git",
2943
+ "reference": "657e0f77d80c892f8f72f90a3a25112c254386df"
2944
+ },
2945
+ "dist": {
2946
+ "type": "zip",
2947
+ "url": "https://api.github.com/repos/wp-cli/widget-command/zipball/657e0f77d80c892f8f72f90a3a25112c254386df",
2948
+ "reference": "657e0f77d80c892f8f72f90a3a25112c254386df",
2949
+ "shasum": ""
2950
+ },
2951
+ "require-dev": {
2952
+ "behat/behat": "~2.5",
2953
+ "wp-cli/wp-cli": "*"
2954
+ },
2955
+ "type": "wp-cli-package",
2956
+ "extra": {
2957
+ "branch-alias": {
2958
+ "dev-master": "1.x-dev"
2959
+ },
2960
+ "commands": [
2961
+ "widget",
2962
+ "widget add",
2963
+ "widget deactivate",
2964
+ "widget delete",
2965
+ "widget list",
2966
+ "widget move",
2967
+ "widget reset",
2968
+ "widget update",
2969
+ "sidebar",
2970
+ "sidebar list"
2971
+ ],
2972
+ "bundled": true
2973
+ },
2974
+ "autoload": {
2975
+ "psr-4": {
2976
+ "": "src/"
2977
+ },
2978
+ "files": [
2979
+ "widget-command.php"
2980
+ ]
2981
+ },
2982
+ "notification-url": "https://packagist.org/downloads/",
2983
+ "license": [
2984
+ "MIT"
2985
+ ],
2986
+ "authors": [
2987
+ {
2988
+ "name": "Daniel Bachhuber",
2989
+ "email": "daniel@runcommand.io",
2990
+ "homepage": "https://runcommand.io"
2991
+ }
2992
+ ],
2993
+ "description": "Adds, moves, and removes widgets; lists sidebars.",
2994
+ "homepage": "https://github.com/wp-cli/widget-command",
2995
+ "time": "2017-12-08T17:45:57+00:00"
2996
+ },
2997
+ {
2998
+ "name": "wp-cli/wp-cli",
2999
+ "version": "v1.5.1",
3000
+ "source": {
3001
+ "type": "git",
3002
+ "url": "https://github.com/wp-cli/wp-cli.git",
3003
+ "reference": "76ee045996169a50b3466dac518e38cdf24109a7"
3004
+ },
3005
+ "dist": {
3006
+ "type": "zip",
3007
+ "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/76ee045996169a50b3466dac518e38cdf24109a7",
3008
+ "reference": "76ee045996169a50b3466dac518e38cdf24109a7",
3009
+ "shasum": ""
3010
+ },
3011
+ "require": {
3012
+ "composer/composer": "^1.2.0",
3013
+ "composer/semver": "~1.0",
3014
+ "justinrainbow/json-schema": "~5.2.5",
3015
+ "mustache/mustache": "~2.4",
3016
+ "php": ">=5.3.29",
3017
+ "ramsey/array_column": "~1.1",
3018
+ "rmccue/requests": "~1.6",
3019
+ "symfony/config": "^2.7|^3.0",
3020
+ "symfony/console": "^2.7|^3.0",
3021
+ "symfony/debug": "^2.7|^3.0",
3022
+ "symfony/dependency-injection": "^2.7|^3.0",
3023
+ "symfony/event-dispatcher": "^2.7|^3.0",
3024
+ "symfony/filesystem": "^2.7|^3.0",
3025
+ "symfony/finder": "^2.7|^3.0",
3026
+ "symfony/process": "^2.1|^3.0",
3027
+ "symfony/translation": "^2.7|^3.0",
3028
+ "symfony/yaml": "^2.7|^3.0",
3029
+ "wp-cli/autoload-splitter": "^0.1.5",
3030
+ "wp-cli/cache-command": "^1.0",
3031
+ "wp-cli/checksum-command": "^1.0",
3032
+ "wp-cli/config-command": "^1.0",
3033
+ "wp-cli/core-command": "^1.0",
3034
+ "wp-cli/cron-command": "^1.0",
3035
+ "wp-cli/db-command": "^1.0",
3036
+ "wp-cli/embed-command": "^1.0",
3037
+ "wp-cli/entity-command": "^1.0",
3038
+ "wp-cli/eval-command": "^1.0",
3039
+ "wp-cli/export-command": "^1.0",
3040
+ "wp-cli/extension-command": "^1.0",
3041
+ "wp-cli/import-command": "^1.0",
3042
+ "wp-cli/language-command": "^1.0",
3043
+ "wp-cli/media-command": "^1.0",
3044
+ "wp-cli/mustangostang-spyc": "^0.6.3",
3045
+ "wp-cli/package-command": "^1.0",
3046
+ "wp-cli/php-cli-tools": "~0.11.2",
3047
+ "wp-cli/rewrite-command": "^1.0",
3048
+ "wp-cli/role-command": "^1.0",
3049
+ "wp-cli/scaffold-command": "^1.0",
3050
+ "wp-cli/search-replace-command": "^1.0",
3051
+ "wp-cli/server-command": "^1.0",
3052
+ "wp-cli/shell-command": "^1.0",
3053
+ "wp-cli/super-admin-command": "^1.0",
3054
+ "wp-cli/widget-command": "^1.0"
3055
+ },
3056
+ "require-dev": {
3057
+ "behat/behat": "2.5.*",
3058
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3",
3059
+ "phpunit/phpunit": "3.7.*",
3060
+ "roave/security-advisories": "dev-master",
3061
+ "wimg/php-compatibility": "^8.0",
3062
+ "wp-coding-standards/wpcs": "^0.13.1"
3063
+ },
3064
+ "suggest": {
3065
+ "psy/psysh": "Enhanced `wp shell` functionality"
3066
+ },
3067
+ "bin": [
3068
+ "bin/wp.bat",
3069
+ "bin/wp"
3070
+ ],
3071
+ "type": "library",
3072
+ "extra": {
3073
+ "branch-alias": {
3074
+ "dev-master": "1.5.x-dev"
3075
+ },
3076
+ "autoload-splitter": {
3077
+ "splitter-logic": "WP_CLI\\AutoloadSplitter",
3078
+ "splitter-location": "php/WP_CLI/AutoloadSplitter.php",
3079
+ "split-target-prefix-true": "autoload_commands",
3080
+ "split-target-prefix-false": "autoload_framework"
3081
+ }
3082
+ },
3083
+ "autoload": {
3084
+ "psr-0": {
3085
+ "WP_CLI": "php"
3086
+ },
3087
+ "psr-4": {
3088
+ "": "php/commands/src"
3089
+ }
3090
+ },
3091
+ "notification-url": "https://packagist.org/downloads/",
3092
+ "license": [
3093
+ "MIT"
3094
+ ],
3095
+ "description": "The command line interface for WordPress",
3096
+ "homepage": "https://wp-cli.org",
3097
+ "keywords": [
3098
+ "cli",
3099
+ "wordpress"
3100
+ ],
3101
+ "time": "2018-04-14T14:35:48+00:00"
3102
+ },
3103
+ {
3104
+ "name": "wp-cli/wp-config-transformer",
3105
+ "version": "v1.2.1",
3106
+ "source": {
3107
+ "type": "git",
3108
+ "url": "https://github.com/wp-cli/wp-config-transformer.git",
3109
+ "reference": "6ce0a9fae09d53145c9c9c79486a69684598488d"
3110
+ },
3111
+ "dist": {
3112
+ "type": "zip",
3113
+ "url": "https://api.github.com/repos/wp-cli/wp-config-transformer/zipball/6ce0a9fae09d53145c9c9c79486a69684598488d",
3114
+ "reference": "6ce0a9fae09d53145c9c9c79486a69684598488d",
3115
+ "shasum": ""
3116
+ },
3117
+ "require": {
3118
+ "php": ">=5.3.29"
3119
+ },
3120
+ "require-dev": {
3121
+ "composer/composer": "^1.5.6",
3122
+ "phpunit/phpunit": "^6.5.5",
3123
+ "wp-coding-standards/wpcs": "^0.14.0"
3124
+ },
3125
+ "type": "library",
3126
+ "autoload": {
3127
+ "files": [
3128
+ "src/WPConfigTransformer.php"
3129
+ ]
3130
+ },
3131
+ "notification-url": "https://packagist.org/downloads/",
3132
+ "license": [
3133
+ "MIT"
3134
+ ],
3135
+ "authors": [
3136
+ {
3137
+ "name": "Frankie Jarrett",
3138
+ "email": "fjarrett@gmail.com"
3139
+ }
3140
+ ],
3141
+ "description": "Programmatically edit a wp-config.php file.",
3142
+ "time": "2018-03-20T16:19:27+00:00"
3143
+ }
3144
+ ],
3145
+ "packages-dev": [
3146
+ {
3147
+ "name": "behat/behat",
3148
+ "version": "v2.5.5",
3149
+ "source": {
3150
+ "type": "git",
3151
+ "url": "https://github.com/Behat/Behat.git",
3152
+ "reference": "c1e48826b84669c97a1efa78459aedfdcdcf2120"
3153
+ },
3154
+ "dist": {
3155
+ "type": "zip",
3156
+ "url": "https://api.github.com/repos/Behat/Behat/zipball/c1e48826b84669c97a1efa78459aedfdcdcf2120",
3157
+ "reference": "c1e48826b84669c97a1efa78459aedfdcdcf2120",
3158
+ "shasum": ""
3159
+ },
3160
+ "require": {
3161
+ "behat/gherkin": "~2.3.0",
3162
+ "php": ">=5.3.1",
3163
+ "symfony/config": "~2.3",
3164
+ "symfony/console": "~2.0",
3165
+ "symfony/dependency-injection": "~2.0",
3166
+ "symfony/event-dispatcher": "~2.0",
3167
+ "symfony/finder": "~2.0",
3168
+ "symfony/translation": "~2.3",
3169
+ "symfony/yaml": "~2.0"
3170
+ },
3171
+ "require-dev": {
3172
+ "phpunit/phpunit": "~3.7.19"
3173
+ },
3174
+ "suggest": {
3175
+ "behat/mink-extension": "for integration with Mink testing framework",
3176
+ "behat/symfony2-extension": "for integration with Symfony2 web framework",
3177
+ "behat/yii-extension": "for integration with Yii web framework"
3178
+ },
3179
+ "bin": [
3180
+ "bin/behat"
3181
+ ],
3182
+ "type": "library",
3183
+ "autoload": {
3184
+ "psr-0": {
3185
+ "Behat\\Behat": "src/"
3186
+ }
3187
+ },
3188
+ "notification-url": "https://packagist.org/downloads/",
3189
+ "license": [
3190
+ "MIT"
3191
+ ],
3192
+ "authors": [
3193
+ {
3194
+ "name": "Konstantin Kudryashov",
3195
+ "email": "ever.zet@gmail.com",
3196
+ "homepage": "http://everzet.com"
3197
+ }
3198
+ ],
3199
+ "description": "Scenario-oriented BDD framework for PHP 5.3",
3200
+ "homepage": "http://behat.org/",
3201
+ "keywords": [
3202
+ "BDD",
3203
+ "Behat",
3204
+ "Symfony2"
3205
+ ],
3206
+ "time": "2015-06-01T09:37:55+00:00"
3207
+ },
3208
+ {
3209
+ "name": "behat/gherkin",
3210
+ "version": "v2.3.5",
3211
+ "source": {
3212
+ "type": "git",
3213
+ "url": "https://github.com/Behat/Gherkin.git",
3214
+ "reference": "2b33963da5525400573560c173ab5c9c057e1852"
3215
+ },
3216
+ "dist": {
3217
+ "type": "zip",
3218
+ "url": "https://api.github.com/repos/Behat/Gherkin/zipball/2b33963da5525400573560c173ab5c9c057e1852",
3219
+ "reference": "2b33963da5525400573560c173ab5c9c057e1852",
3220
+ "shasum": ""
3221
+ },
3222
+ "require": {
3223
+ "php": ">=5.3.1",
3224
+ "symfony/finder": "~2.0"
3225
+ },
3226
+ "require-dev": {
3227
+ "symfony/config": "~2.0",
3228
+ "symfony/translation": "~2.0",
3229
+ "symfony/yaml": "~2.0"
3230
+ },
3231
+ "suggest": {
3232
+ "symfony/config": "If you want to use Config component to manage resources",
3233
+ "symfony/translation": "If you want to use Symfony2 translations adapter",
3234
+ "symfony/yaml": "If you want to parse features, represented in YAML files"
3235
+ },
3236
+ "type": "library",
3237
+ "extra": {
3238
+ "branch-alias": {
3239
+ "dev-develop": "2.2-dev"
3240
+ }
3241
+ },
3242
+ "autoload": {
3243
+ "psr-0": {
3244
+ "Behat\\Gherkin": "src/"
3245
+ }
3246
+ },
3247
+ "notification-url": "https://packagist.org/downloads/",
3248
+ "license": [
3249
+ "MIT"
3250
+ ],
3251
+ "authors": [
3252
+ {
3253
+ "name": "Konstantin Kudryashov",
3254
+ "email": "ever.zet@gmail.com",
3255
+ "homepage": "http://everzet.com"
3256
+ }
3257
+ ],
3258
+ "description": "Gherkin DSL parser for PHP 5.3",
3259
+ "homepage": "http://behat.org/",
3260
+ "keywords": [
3261
+ "BDD",
3262
+ "Behat",
3263
+ "DSL",
3264
+ "Symfony2",
3265
+ "parser"
3266
+ ],
3267
+ "time": "2013-10-15T11:22:17+00:00"
3268
+ }
3269
+ ],
3270
+ "aliases": [],
3271
+ "minimum-stability": "dev",
3272
+ "stability-flags": [],
3273
+ "prefer-stable": true,
3274
+ "prefer-lowest": false,
3275
+ "platform": {
3276
+ "php": ">=5.3"
3277
+ },
3278
+ "platform-dev": []
3279
+ }
cli/features/component.feature CHANGED
@@ -17,9 +17,9 @@ Feature: Manage BuddyPress Components
17
 
18
  When I run `wp bp component list --type=required`
19
  Then STDOUT should be a table containing rows:
20
- | id | title | description |
21
- | core | BuddyPress Core | It&#8216;s what makes <del>time travel</del> BuddyPress possible! |
22
- | members | Community Members | Everything in a BuddyPress community revolves around its members. |
23
 
24
  When I run `wp bp component list --fields=id --type=required`
25
  Then STDOUT should be a table containing rows:
17
 
18
  When I run `wp bp component list --type=required`
19
  Then STDOUT should be a table containing rows:
20
+ | number | id | status | title | description |
21
+ | 1 | core | Active | BuddyPress Core | It&#8216;s what makes <del>time travel</del> BuddyPress possible! |
22
+ | 2 | members | Inactive | Community Members | Everything in a BuddyPress community revolves around its members. |
23
 
24
  When I run `wp bp component list --fields=id --type=required`
25
  Then STDOUT should be a table containing rows:
cli/readme.md CHANGED
@@ -22,6 +22,14 @@ Please use and provide feedback!
22
 
23
  ## Changelog
24
 
 
 
 
 
 
 
 
 
25
  ### 1.6.0
26
 
27
  * `bp email` commands introduced
22
 
23
  ## Changelog
24
 
25
+ ### 1.7.0
26
+
27
+ * Updated `bp` and `bp xprofile` commands PHPDoc info
28
+ * Fixed `component list` commands output
29
+ * Check if the `component` exists first before using it
30
+ * Fixed `component` Behat tests
31
+ * Removed PHP 5.3 support from Travis
32
+
33
  ### 1.6.0
34
 
35
  * `bp email` commands introduced
cli/wp-cli-bp.php CHANGED
@@ -10,6 +10,7 @@ if ( ! defined( '\WP_CLI' ) ) {
10
 
11
  WP_CLI::add_hook( 'before_wp_load', function() {
12
  require_once( __DIR__ . '/component.php' );
 
13
  require_once( __DIR__ . '/components/signup.php' );
14
  require_once( __DIR__ . '/components/activity.php' );
15
  require_once( __DIR__ . '/components/activity-favorite.php' );
@@ -19,6 +20,7 @@ WP_CLI::add_hook( 'before_wp_load', function() {
19
  require_once( __DIR__ . '/components/group-invite.php' );
20
  require_once( __DIR__ . '/components/member.php' );
21
  require_once( __DIR__ . '/components/friend.php' );
 
22
  require_once( __DIR__ . '/components/xprofile-group.php' );
23
  require_once( __DIR__ . '/components/xprofile-field.php' );
24
  require_once( __DIR__ . '/components/xprofile-data.php' );
@@ -26,6 +28,14 @@ WP_CLI::add_hook( 'before_wp_load', function() {
26
  require_once( __DIR__ . '/components/message.php' );
27
  require_once( __DIR__ . '/components/email.php' );
28
 
 
 
 
 
 
 
 
 
29
  WP_CLI::add_command( 'bp signup', __NAMESPACE__ . '\\Command\\Signup', array(
30
  'before_invoke' => function() {
31
  if ( ! class_exists( 'Buddypress' ) ) {
@@ -130,6 +140,18 @@ WP_CLI::add_hook( 'before_wp_load', function() {
130
  },
131
  ) );
132
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  WP_CLI::add_command( 'bp xprofile group', __NAMESPACE__ . '\\Command\\XProfile_Group', array(
134
  'before_invoke' => function() {
135
  if ( ! class_exists( 'Buddypress' ) ) {
10
 
11
  WP_CLI::add_hook( 'before_wp_load', function() {
12
  require_once( __DIR__ . '/component.php' );
13
+ require_once( __DIR__ . '/components/buddypress.php' );
14
  require_once( __DIR__ . '/components/signup.php' );
15
  require_once( __DIR__ . '/components/activity.php' );
16
  require_once( __DIR__ . '/components/activity-favorite.php' );
20
  require_once( __DIR__ . '/components/group-invite.php' );
21
  require_once( __DIR__ . '/components/member.php' );
22
  require_once( __DIR__ . '/components/friend.php' );
23
+ require_once( __DIR__ . '/components/xprofile.php' );
24
  require_once( __DIR__ . '/components/xprofile-group.php' );
25
  require_once( __DIR__ . '/components/xprofile-field.php' );
26
  require_once( __DIR__ . '/components/xprofile-data.php' );
28
  require_once( __DIR__ . '/components/message.php' );
29
  require_once( __DIR__ . '/components/email.php' );
30
 
31
+ WP_CLI::add_command( 'bp', __NAMESPACE__ . '\\Command\\Buddypress', array(
32
+ 'before_invoke' => function() {
33
+ if ( ! class_exists( 'Buddypress' ) ) {
34
+ WP_CLI::error( 'The BuddyPress plugin is not active.' );
35
+ }
36
+ },
37
+ ) );
38
+
39
  WP_CLI::add_command( 'bp signup', __NAMESPACE__ . '\\Command\\Signup', array(
40
  'before_invoke' => function() {
41
  if ( ! class_exists( 'Buddypress' ) ) {
140
  },
141
  ) );
142
 
143
+ WP_CLI::add_command( 'bp xprofile', __NAMESPACE__ . '\\Command\\XProfile', array(
144
+ 'before_invoke' => function() {
145
+ if ( ! class_exists( 'Buddypress' ) ) {
146
+ WP_CLI::error( 'The BuddyPress plugin is not active.' );
147
+ }
148
+
149
+ if ( ! bp_is_active( 'xprofile' ) ) {
150
+ WP_CLI::error( 'The XProfile component is not active.' );
151
+ }
152
+ },
153
+ ) );
154
+
155
  WP_CLI::add_command( 'bp xprofile group', __NAMESPACE__ . '\\Command\\XProfile_Group', array(
156
  'before_invoke' => function() {
157
  if ( ! class_exists( 'Buddypress' ) ) {
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: user profiles, activity streams, messaging, friends, user groups, notifica
4
  Requires at least: 4.5
5
  Tested up to: 4.9.6
6
  Requires PHP: 5.3
7
- Stable tag: 3.0.0
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -126,11 +126,11 @@ Try <a href="https://wordpress.org/plugins/bbpress/">bbPress</a>. It integrates
126
 
127
  == Upgrade Notice ==
128
 
129
- = 3.0.0 =
130
- See: https://codex.buddypress.org/releases/version-3-0-0/
131
 
132
  == Changelog ==
133
 
134
- = 3.0.0 =
135
 
136
- See: https://codex.buddypress.org/releases/version-3-0-0/
4
  Requires at least: 4.5
5
  Tested up to: 4.9.6
6
  Requires PHP: 5.3
7
+ Stable tag: 3.1.0
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
 
126
 
127
  == Upgrade Notice ==
128
 
129
+ = 3.1.0 =
130
+ See: https://codex.buddypress.org/releases/version-3-1-0/
131
 
132
  == Changelog ==
133
 
134
+ = 3.1.0 =
135
 
136
+ See: https://codex.buddypress.org/releases/version-3-1-0/