Version Description
See: http://codex.buddypress.org/releases/version-1-7-3/
Download this release
Release Info
Developer | boonebgorges |
Plugin | BuddyPress |
Version | 1.7.3 |
Comparing to | |
See all releases |
Code changes from version 1.8-beta2 to 1.7.3
- bp-activity/bp-activity-actions.php +44 -85
- bp-activity/bp-activity-admin.php +8 -8
- bp-activity/bp-activity-cache.php +1 -18
- bp-activity/bp-activity-classes.php +6 -350
- bp-activity/bp-activity-filters.php +5 -18
- bp-activity/bp-activity-functions.php +7 -36
- bp-activity/bp-activity-loader.php +20 -26
- bp-activity/bp-activity-screens.php +11 -68
- bp-activity/bp-activity-template.php +8 -54
- bp-activity/feeds/bp-activity-favorites-feed.php +74 -0
- bp-activity/feeds/bp-activity-friends-feed.php +64 -0
- bp-activity/feeds/bp-activity-group-feed.php +59 -0
- bp-activity/feeds/bp-activity-mentions-feed.php +65 -0
- bp-activity/feeds/bp-activity-mygroups-feed.php +65 -0
- bp-activity/feeds/bp-activity-personal-feed.php +64 -0
- bp-activity/feeds/bp-activity-sitewide-feed.php +59 -0
- bp-blogs/bp-blogs-actions.php +1 -1
- bp-blogs/bp-blogs-activity.php +2 -1
- bp-blogs/bp-blogs-cache.php +1 -1
- bp-blogs/bp-blogs-functions.php +10 -9
- bp-blogs/bp-blogs-loader.php +0 -9
- bp-blogs/bp-blogs-screens.php +0 -48
- bp-blogs/bp-blogs-template.php +4 -2
- bp-blogs/bp-blogs-widgets.php +9 -32
- bp-core/admin/bp-core-components.php +1 -0
- bp-core/admin/bp-core-functions.php +2 -12
- bp-core/admin/bp-core-slugs.php +1 -0
- bp-core/bp-core-actions.php +0 -2
- bp-core/bp-core-admin.php +54 -57
- bp-core/bp-core-adminbar.php +1 -1
- bp-core/bp-core-avatars.php +68 -86
- bp-core/bp-core-buddybar.php +22 -19
- bp-core/bp-core-caps.php +2 -0
- bp-core/bp-core-catchuri.php +2 -2
- bp-core/bp-core-classes.php +14 -74
- bp-core/bp-core-component.php +51 -59
- bp-core/bp-core-dependency.php +0 -10
- bp-core/bp-core-filters.php +3 -2
- bp-core/bp-core-functions.php +532 -612
- bp-core/bp-core-loader.php +2 -3
- bp-core/bp-core-options.php +20 -20
- bp-core/bp-core-template-loader.php +11 -27
- bp-core/bp-core-template.php +20 -31
- bp-core/bp-core-theme-compatibility.php +90 -88
- bp-core/bp-core-update.php +3 -1
- bp-core/bp-core-widgets.php +10 -16
- bp-core/bp-core-wpabstraction.php +8 -8
- bp-core/deprecated/1.2.php +0 -48
- bp-core/deprecated/1.5.php +4 -4
- bp-core/deprecated/1.6.php +1 -1
- bp-forums/bp-forums-bbpress-sa.php +3 -3
- bp-forums/bp-forums-functions.php +2 -2
- bp-forums/bp-forums-loader.php +0 -6
- bp-forums/bp-forums-template.php +2 -2
- bp-forums/deprecated/1.6.php +8 -96
- bp-forums/deprecated/1.7.php +229 -0
- bp-friends/bp-friends-activity.php +2 -2
- bp-friends/bp-friends-functions.php +0 -4
- bp-friends/bp-friends-template.php +1 -1
- bp-groups/admin/css/admin.css +0 -37
- bp-groups/admin/css/admin.min.css +1 -1
- bp-groups/admin/js/admin.js +1 -17
- bp-groups/admin/js/admin.min.js +1 -1
- bp-groups/bp-groups-actions.php +13 -28
- bp-groups/bp-groups-admin.php +59 -149
- bp-groups/bp-groups-buddybar.php +1 -0
- bp-groups/bp-groups-cache.php +4 -6
- bp-groups/bp-groups-classes.php +188 -1584
- bp-groups/bp-groups-forums.php +1 -1
- bp-groups/bp-groups-functions.php +20 -62
- bp-groups/bp-groups-loader.php +1 -11
- bp-groups/bp-groups-screens.php +3 -84
- bp-groups/bp-groups-template.php +36 -56
- bp-groups/bp-groups-widgets.php +5 -7
- bp-languages/buddypress.pot +914 -936
- bp-loader.php +26 -43
- bp-members/bp-members-actions.php +3 -2
- bp-members/bp-members-adminbar.php +14 -20
- bp-members/bp-members-functions.php +40 -141
- bp-members/bp-members-notifications.php +1 -1
- bp-members/bp-members-screens.php +2 -83
- bp-members/bp-members-template.php +4 -5
- bp-messages/bp-messages-functions.php +2 -2
- bp-messages/bp-messages-template.php +3 -5
- bp-messages/js/autocomplete/jquery.autocompletefb.js +2 -2
- bp-messages/js/autocomplete/jquery.autocompletefb.min.js +1 -1
- bp-messages/js/autocomplete/license.bgiframe.txt +19 -19
- bp-settings/bp-settings-actions.php +7 -0
- bp-settings/bp-settings-screens.php +8 -0
- bp-templates/bp-legacy/buddypress-functions.php +43 -109
- bp-templates/bp-legacy/buddypress/activity/comment.php +1 -1
- bp-templates/bp-legacy/buddypress/activity/index.php +6 -10
- bp-templates/bp-legacy/buddypress/groups/single/admin.php +40 -40
- bp-templates/bp-legacy/buddypress/members/activate.php +1 -1
- bp-templates/bp-legacy/buddypress/members/index.php +0 -2
- bp-templates/bp-legacy/buddypress/members/register.php +8 -8
- bp-templates/bp-legacy/buddypress/members/single/home.php +1 -1
- bp-templates/bp-legacy/buddypress/members/single/member-header.php +1 -4
- bp-templates/bp-legacy/buddypress/members/single/profile.php +11 -5
- bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php +26 -14
- bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php +33 -21
- bp-templates/bp-legacy/buddypress/members/single/settings/general.php +33 -19
- bp-templates/bp-legacy/buddypress/members/single/settings/notifications.php +26 -12
- bp-templates/bp-legacy/css/buddypress-rtl.css +126 -120
- bp-templates/bp-legacy/css/buddypress.css +116 -110
- bp-templates/bp-legacy/js/buddypress.js +34 -119
- bp-themes/bp-default/_inc/ajax.php +5 -17
- bp-themes/bp-default/_inc/css/default.css +0 -14
- bp-themes/bp-default/_inc/global.js +26 -94
- bp-themes/bp-default/activity/comment.php +1 -1
- bp-themes/bp-default/activity/index.php +2 -6
- bp-themes/bp-default/comments.php +1 -1
- bp-themes/bp-default/functions.php +2 -3
- bp-themes/bp-default/groups/single/admin.php +40 -40
- bp-themes/bp-default/groups/single/home.php +5 -4
- bp-themes/bp-default/license.txt +280 -280
- bp-themes/bp-default/members/index.php +0 -2
- bp-themes/bp-default/members/single/member-header.php +1 -4
- bp-themes/bp-default/members/single/profile.php +11 -5
- bp-themes/bp-default/members/single/settings/general.php +1 -1
- bp-themes/bp-default/readme.txt +21 -21
- bp-themes/bp-default/registration/activate.php +1 -1
- bp-themes/bp-default/registration/register.php +9 -9
- bp-themes/bp-default/rtl.css +1 -1
- bp-themes/bp-default/style.css +1 -1
- bp-xprofile/admin/js/admin.js +0 -6
- bp-xprofile/admin/js/admin.min.js +1 -1
- bp-xprofile/bp-xprofile-activity.php +2 -2
- bp-xprofile/bp-xprofile-admin.php +2 -2
- bp-xprofile/bp-xprofile-classes.php +6 -5
- bp-xprofile/bp-xprofile-functions.php +15 -15
- bp-xprofile/bp-xprofile-template.php +2 -34
- readme.txt +4 -1
bp-activity/bp-activity-actions.php
CHANGED
@@ -45,13 +45,14 @@ add_action( 'bp_init', 'bp_register_activity_actions', 8 );
|
|
45 |
* @return bool False on failure
|
46 |
*/
|
47 |
function bp_activity_action_permalink_router() {
|
|
|
48 |
|
49 |
// Not viewing activity
|
50 |
-
if ( !
|
51 |
return false;
|
52 |
|
53 |
// No activity to display
|
54 |
-
if ( !
|
55 |
return false;
|
56 |
|
57 |
// Get the activity details
|
@@ -61,6 +62,7 @@ function bp_activity_action_permalink_router() {
|
|
61 |
if ( empty( $activity['activities'][0] ) ) {
|
62 |
bp_do_404();
|
63 |
return;
|
|
|
64 |
} else {
|
65 |
$activity = $activity['activities'][0];
|
66 |
}
|
@@ -69,10 +71,10 @@ function bp_activity_action_permalink_router() {
|
|
69 |
$redirect = false;
|
70 |
|
71 |
// Redirect based on the type of activity
|
72 |
-
if ( bp_is_active( 'groups' ) && $activity->component ==
|
73 |
|
74 |
// Activity is a user update
|
75 |
-
if ( !
|
76 |
$redirect = bp_core_get_user_domain( $activity->user_id, $activity->user_nicename, $activity->user_login ) . bp_get_activity_slug() . '/' . $activity->id . '/';
|
77 |
|
78 |
// Activity is something else
|
@@ -85,21 +87,20 @@ function bp_activity_action_permalink_router() {
|
|
85 |
}
|
86 |
|
87 |
// Set redirect to users' activity stream
|
88 |
-
} else
|
89 |
$redirect = bp_core_get_user_domain( $activity->user_id, $activity->user_nicename, $activity->user_login ) . bp_get_activity_slug() . '/' . $activity->id . '/';
|
90 |
}
|
91 |
|
92 |
// If set, add the original query string back onto the redirect URL
|
93 |
-
if ( !
|
94 |
$query_frags = array();
|
95 |
wp_parse_str( $_SERVER['QUERY_STRING'], $query_frags );
|
96 |
$redirect = add_query_arg( urlencode_deep( $query_frags ), $redirect );
|
97 |
}
|
98 |
|
99 |
// Allow redirect to be filtered
|
100 |
-
if (
|
101 |
bp_core_redirect( bp_get_root_domain() );
|
102 |
-
}
|
103 |
|
104 |
// Redirect to the actual activity permalink page
|
105 |
bp_core_redirect( $redirect );
|
@@ -421,22 +422,16 @@ add_action( 'bp_actions', 'bp_activity_action_remove_favorite' );
|
|
421 |
* @return bool False on failure
|
422 |
*/
|
423 |
function bp_activity_action_sitewide_feed() {
|
424 |
-
global $bp;
|
425 |
|
426 |
-
if ( !
|
427 |
return false;
|
428 |
|
429 |
-
|
430 |
-
|
431 |
-
'id' => 'sitewide',
|
432 |
-
|
433 |
-
/* translators: Sitewide activity RSS title - "[Site Name] | Site Wide Activity" */
|
434 |
-
'title' => sprintf( __( '%s | Site Wide Activity', 'buddypress' ), bp_get_site_name() ),
|
435 |
|
436 |
-
|
437 |
-
|
438 |
-
'activity_args' => 'display_comments=threaded'
|
439 |
-
) );
|
440 |
}
|
441 |
add_action( 'bp_actions', 'bp_activity_action_sitewide_feed' );
|
442 |
|
@@ -453,21 +448,16 @@ add_action( 'bp_actions', 'bp_activity_action_sitewide_feed' );
|
|
453 |
* @return bool False on failure
|
454 |
*/
|
455 |
function bp_activity_action_personal_feed() {
|
456 |
-
|
457 |
-
return false;
|
458 |
-
}
|
459 |
|
460 |
-
|
461 |
-
|
462 |
-
'id' => 'personal',
|
463 |
|
464 |
-
|
465 |
-
|
466 |
|
467 |
-
|
468 |
-
|
469 |
-
'activity_args' => 'user_id=' . bp_displayed_user_id()
|
470 |
-
) );
|
471 |
}
|
472 |
add_action( 'bp_actions', 'bp_activity_action_personal_feed' );
|
473 |
|
@@ -487,21 +477,16 @@ add_action( 'bp_actions', 'bp_activity_action_personal_feed' );
|
|
487 |
* @return bool False on failure
|
488 |
*/
|
489 |
function bp_activity_action_friends_feed() {
|
490 |
-
|
491 |
-
return false;
|
492 |
-
}
|
493 |
|
494 |
-
|
495 |
-
|
496 |
-
'id' => 'friends',
|
497 |
|
498 |
-
|
499 |
-
|
500 |
|
501 |
-
|
502 |
-
|
503 |
-
'activity_args' => 'scope=friends'
|
504 |
-
) );
|
505 |
}
|
506 |
add_action( 'bp_actions', 'bp_activity_action_friends_feed' );
|
507 |
|
@@ -521,29 +506,16 @@ add_action( 'bp_actions', 'bp_activity_action_friends_feed' );
|
|
521 |
* @return bool False on failure
|
522 |
*/
|
523 |
function bp_activity_action_my_groups_feed() {
|
524 |
-
|
|
|
|
|
525 |
return false;
|
526 |
-
}
|
527 |
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
buddypress()->activity->feed = new BP_Activity_Feed( array(
|
534 |
-
'id' => 'mygroups',
|
535 |
-
|
536 |
-
/* translators: Member groups activity RSS title - "[Site Name] | [User Display Name] | Groups Activity" */
|
537 |
-
'title' => sprintf( __( '%1$s | %2$s | Group Activity', 'buddypress' ), bp_get_site_name(), bp_get_displayed_user_fullname() ),
|
538 |
-
|
539 |
-
'link' => trailingslashit( bp_displayed_user_domain() . bp_get_activity_slug() . '/' . bp_get_groups_slug() ),
|
540 |
-
'description' => sprintf( __( "Public group activity feed of which %s is a member of.", 'buddypress' ), bp_get_displayed_user_fullname() ),
|
541 |
-
'activity_args' => array(
|
542 |
-
'object' => buddypress()->groups->id,
|
543 |
-
'primary_id' => $group_ids,
|
544 |
-
'display_comments' => 'threaded'
|
545 |
-
)
|
546 |
-
) );
|
547 |
}
|
548 |
add_action( 'bp_actions', 'bp_activity_action_my_groups_feed' );
|
549 |
|
@@ -563,10 +535,6 @@ add_action( 'bp_actions', 'bp_activity_action_my_groups_feed' );
|
|
563 |
function bp_activity_action_mentions_feed() {
|
564 |
global $wp_query;
|
565 |
|
566 |
-
if ( ! bp_activity_do_mentions() ) {
|
567 |
-
return false;
|
568 |
-
}
|
569 |
-
|
570 |
if ( !bp_is_user_activity() || !bp_is_current_action( 'mentions' ) || !bp_is_action_variable( 'feed', 0 ) )
|
571 |
return false;
|
572 |
|
@@ -592,25 +560,16 @@ add_action( 'bp_actions', 'bp_activity_action_mentions_feed' );
|
|
592 |
* @return bool False on failure
|
593 |
*/
|
594 |
function bp_activity_action_favorites_feed() {
|
595 |
-
|
596 |
-
return false;
|
597 |
-
}
|
598 |
-
|
599 |
-
// get displayed user's favorite activity IDs
|
600 |
-
$favs = bp_activity_get_user_favorites( bp_displayed_user_id() );
|
601 |
-
$fav_ids = implode( ',', (array) $favs );
|
602 |
|
603 |
-
|
604 |
-
|
605 |
-
'id' => 'favorites',
|
606 |
|
607 |
-
|
608 |
-
|
609 |
|
610 |
-
|
611 |
-
|
612 |
-
'activity_args' => 'include=' . $fav_ids
|
613 |
-
) );
|
614 |
}
|
615 |
add_action( 'bp_actions', 'bp_activity_action_favorites_feed' );
|
616 |
|
45 |
* @return bool False on failure
|
46 |
*/
|
47 |
function bp_activity_action_permalink_router() {
|
48 |
+
global $bp;
|
49 |
|
50 |
// Not viewing activity
|
51 |
+
if ( !bp_is_activity_component() || !bp_is_current_action( 'p' ) )
|
52 |
return false;
|
53 |
|
54 |
// No activity to display
|
55 |
+
if ( !bp_action_variable( 0 ) || !is_numeric( bp_action_variable( 0 ) ) )
|
56 |
return false;
|
57 |
|
58 |
// Get the activity details
|
62 |
if ( empty( $activity['activities'][0] ) ) {
|
63 |
bp_do_404();
|
64 |
return;
|
65 |
+
|
66 |
} else {
|
67 |
$activity = $activity['activities'][0];
|
68 |
}
|
71 |
$redirect = false;
|
72 |
|
73 |
// Redirect based on the type of activity
|
74 |
+
if ( bp_is_active( 'groups' ) && $activity->component == $bp->groups->id ) {
|
75 |
|
76 |
// Activity is a user update
|
77 |
+
if ( !empty( $activity->user_id ) ) {
|
78 |
$redirect = bp_core_get_user_domain( $activity->user_id, $activity->user_nicename, $activity->user_login ) . bp_get_activity_slug() . '/' . $activity->id . '/';
|
79 |
|
80 |
// Activity is something else
|
87 |
}
|
88 |
|
89 |
// Set redirect to users' activity stream
|
90 |
+
} else {
|
91 |
$redirect = bp_core_get_user_domain( $activity->user_id, $activity->user_nicename, $activity->user_login ) . bp_get_activity_slug() . '/' . $activity->id . '/';
|
92 |
}
|
93 |
|
94 |
// If set, add the original query string back onto the redirect URL
|
95 |
+
if ( !empty( $_SERVER['QUERY_STRING'] ) ) {
|
96 |
$query_frags = array();
|
97 |
wp_parse_str( $_SERVER['QUERY_STRING'], $query_frags );
|
98 |
$redirect = add_query_arg( urlencode_deep( $query_frags ), $redirect );
|
99 |
}
|
100 |
|
101 |
// Allow redirect to be filtered
|
102 |
+
if ( !$redirect = apply_filters_ref_array( 'bp_activity_permalink_redirect_url', array( $redirect, &$activity ) ) )
|
103 |
bp_core_redirect( bp_get_root_domain() );
|
|
|
104 |
|
105 |
// Redirect to the actual activity permalink page
|
106 |
bp_core_redirect( $redirect );
|
422 |
* @return bool False on failure
|
423 |
*/
|
424 |
function bp_activity_action_sitewide_feed() {
|
425 |
+
global $bp, $wp_query;
|
426 |
|
427 |
+
if ( !bp_is_activity_component() || !bp_is_current_action( 'feed' ) || bp_is_user() || !empty( $bp->groups->current_group ) )
|
428 |
return false;
|
429 |
|
430 |
+
$wp_query->is_404 = false;
|
431 |
+
status_header( 200 );
|
|
|
|
|
|
|
|
|
432 |
|
433 |
+
include_once( 'feeds/bp-activity-sitewide-feed.php' );
|
434 |
+
die;
|
|
|
|
|
435 |
}
|
436 |
add_action( 'bp_actions', 'bp_activity_action_sitewide_feed' );
|
437 |
|
448 |
* @return bool False on failure
|
449 |
*/
|
450 |
function bp_activity_action_personal_feed() {
|
451 |
+
global $wp_query;
|
|
|
|
|
452 |
|
453 |
+
if ( !bp_is_user_activity() || !bp_is_current_action( 'feed' ) )
|
454 |
+
return false;
|
|
|
455 |
|
456 |
+
$wp_query->is_404 = false;
|
457 |
+
status_header( 200 );
|
458 |
|
459 |
+
include_once( 'feeds/bp-activity-personal-feed.php' );
|
460 |
+
die;
|
|
|
|
|
461 |
}
|
462 |
add_action( 'bp_actions', 'bp_activity_action_personal_feed' );
|
463 |
|
477 |
* @return bool False on failure
|
478 |
*/
|
479 |
function bp_activity_action_friends_feed() {
|
480 |
+
global $wp_query;
|
|
|
|
|
481 |
|
482 |
+
if ( !bp_is_active( 'friends' ) || !bp_is_user_activity() || !bp_is_current_action( bp_get_friends_slug() ) || !bp_is_action_variable( 'feed', 0 ) )
|
483 |
+
return false;
|
|
|
484 |
|
485 |
+
$wp_query->is_404 = false;
|
486 |
+
status_header( 200 );
|
487 |
|
488 |
+
include_once( 'feeds/bp-activity-friends-feed.php' );
|
489 |
+
die;
|
|
|
|
|
490 |
}
|
491 |
add_action( 'bp_actions', 'bp_activity_action_friends_feed' );
|
492 |
|
506 |
* @return bool False on failure
|
507 |
*/
|
508 |
function bp_activity_action_my_groups_feed() {
|
509 |
+
global $wp_query;
|
510 |
+
|
511 |
+
if ( !bp_is_active( 'groups' ) || !bp_is_user_activity() || !bp_is_current_action( bp_get_groups_slug() ) || !bp_is_action_variable( 'feed', 0 ) )
|
512 |
return false;
|
|
|
513 |
|
514 |
+
$wp_query->is_404 = false;
|
515 |
+
status_header( 200 );
|
516 |
+
|
517 |
+
include_once( 'feeds/bp-activity-mygroups-feed.php' );
|
518 |
+
die;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
}
|
520 |
add_action( 'bp_actions', 'bp_activity_action_my_groups_feed' );
|
521 |
|
535 |
function bp_activity_action_mentions_feed() {
|
536 |
global $wp_query;
|
537 |
|
|
|
|
|
|
|
|
|
538 |
if ( !bp_is_user_activity() || !bp_is_current_action( 'mentions' ) || !bp_is_action_variable( 'feed', 0 ) )
|
539 |
return false;
|
540 |
|
560 |
* @return bool False on failure
|
561 |
*/
|
562 |
function bp_activity_action_favorites_feed() {
|
563 |
+
global $wp_query;
|
|
|
|
|
|
|
|
|
|
|
|
|
564 |
|
565 |
+
if ( !bp_is_user_activity() || !bp_is_current_action( 'favorites' ) || !bp_is_action_variable( 'feed', 0 ) )
|
566 |
+
return false;
|
|
|
567 |
|
568 |
+
$wp_query->is_404 = false;
|
569 |
+
status_header( 200 );
|
570 |
|
571 |
+
include_once( 'feeds/bp-activity-favorites-feed.php' );
|
572 |
+
die;
|
|
|
|
|
573 |
}
|
574 |
add_action( 'bp_actions', 'bp_activity_action_favorites_feed' );
|
575 |
|
bp-activity/bp-activity-admin.php
CHANGED
@@ -588,7 +588,7 @@ function bp_activity_admin_edit() {
|
|
588 |
|
589 |
<div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
|
590 |
<div id="post-body-content">
|
591 |
-
<div id="postdiv">
|
592 |
<div id="bp_activity_action" class="postbox">
|
593 |
<h3><?php _e( 'Action', 'buddypress' ); ?></h3>
|
594 |
<div class="inside">
|
@@ -1127,13 +1127,13 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
1127 |
* @since BuddyPress (1.6)
|
1128 |
*/
|
1129 |
function get_views() {
|
1130 |
-
$
|
1131 |
-
|
1132 |
<ul class="subsubsub">
|
1133 |
-
<li class="all"><a href="<?php echo esc_attr( esc_url( $
|
1134 |
-
<li class="spam"><a href="<?php echo esc_attr( esc_url( add_query_arg( 'activity_status', 'spam', $
|
1135 |
|
1136 |
-
<?php do_action( 'bp_activity_list_table_get_views', $
|
1137 |
</ul>
|
1138 |
<?php
|
1139 |
}
|
@@ -1224,7 +1224,7 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
1224 |
* @since BuddyPress (1.6)
|
1225 |
*/
|
1226 |
function column_cb( $item ) {
|
1227 |
-
printf( '<
|
1228 |
}
|
1229 |
|
1230 |
/**
|
@@ -1297,7 +1297,7 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
1297 |
$actions = apply_filters( 'bp_activity_admin_comment_row_actions', array_filter( $actions ), $item );
|
1298 |
|
1299 |
/* translators: 2: activity admin ui date/time */
|
1300 |
-
printf( __( 'Submitted on <a href="%1$s">%2$s at %3$s</a>', 'buddypress' ), bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $item['id'] . '/',
|
1301 |
|
1302 |
// End timestamp
|
1303 |
echo '</div>';
|
588 |
|
589 |
<div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
|
590 |
<div id="post-body-content">
|
591 |
+
<div id="postdiv" class="postarea">
|
592 |
<div id="bp_activity_action" class="postbox">
|
593 |
<h3><?php _e( 'Action', 'buddypress' ); ?></h3>
|
594 |
<div class="inside">
|
1127 |
* @since BuddyPress (1.6)
|
1128 |
*/
|
1129 |
function get_views() {
|
1130 |
+
$redirect_to = remove_query_arg( array( 'activity_status', 'aid', 'deleted', 'error', 'spammed', 'unspammed', 'updated', ), $_SERVER['REQUEST_URI'] );
|
1131 |
+
?>
|
1132 |
<ul class="subsubsub">
|
1133 |
+
<li class="all"><a href="<?php echo esc_attr( esc_url( $redirect_to ) ); ?>" class="<?php if ( 'spam' != $this->view ) echo 'current'; ?>"><?php _e( 'All', 'buddypress' ); ?></a> |</li>
|
1134 |
+
<li class="spam"><a href="<?php echo esc_attr( esc_url( add_query_arg( 'activity_status', 'spam', $redirect_to ) ) ); ?>" class="<?php if ( 'spam' == $this->view ) echo 'current'; ?>"><?php printf( __( 'Spam <span class="count">(%s)</span>', 'buddypress' ), number_format_i18n( $this->spam_count ) ); ?></a></li>
|
1135 |
|
1136 |
+
<?php do_action( 'bp_activity_list_table_get_views', $redirect_to, $this->view ); ?>
|
1137 |
</ul>
|
1138 |
<?php
|
1139 |
}
|
1224 |
* @since BuddyPress (1.6)
|
1225 |
*/
|
1226 |
function column_cb( $item ) {
|
1227 |
+
printf( '<input type="checkbox" name="aid[]" value="%d" />', (int) $item['id'] );
|
1228 |
}
|
1229 |
|
1230 |
/**
|
1297 |
$actions = apply_filters( 'bp_activity_admin_comment_row_actions', array_filter( $actions ), $item );
|
1298 |
|
1299 |
/* translators: 2: activity admin ui date/time */
|
1300 |
+
printf( __( 'Submitted on <a href="%1$s">%2$s at %3$s</a>', 'buddypress' ), bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $item['id'] . '/', date_i18n( get_option( 'date_format' ), strtotime( $item['date_recorded'] ) ), date_i18n( get_option( 'time_format' ), strtotime( $item['date_recorded'] ) ) );
|
1301 |
|
1302 |
// End timestamp
|
1303 |
echo '</div>';
|
bp-activity/bp-activity-cache.php
CHANGED
@@ -32,23 +32,6 @@ function bp_activity_update_meta_cache( $activity_ids = false ) {
|
|
32 |
'meta_table' => $bp->activity->table_name_meta,
|
33 |
'cache_key_prefix' => 'bp_activity_meta'
|
34 |
);
|
35 |
-
|
36 |
bp_update_meta_cache( $cache_args );
|
37 |
}
|
38 |
-
|
39 |
-
/**
|
40 |
-
* Clear the cache for all metadata of a given activity
|
41 |
-
*
|
42 |
-
* @param int $activity_id
|
43 |
-
*/
|
44 |
-
function bp_activity_clear_meta_cache_for_activity( $activity_id ) {
|
45 |
-
global $wp_object_cache;
|
46 |
-
|
47 |
-
if ( is_object( $wp_object_cache ) && ! empty( $wp_object_cache->cache['bp'] ) ) {
|
48 |
-
foreach ( $wp_object_cache->cache['bp'] as $ckey => $cvalue ) {
|
49 |
-
if ( 0 === strpos( $ckey, 'bp_activity_meta_' . $activity_id ) ) {
|
50 |
-
wp_cache_delete( $ckey, 'bp' );
|
51 |
-
}
|
52 |
-
}
|
53 |
-
}
|
54 |
-
}
|
32 |
'meta_table' => $bp->activity->table_name_meta,
|
33 |
'cache_key_prefix' => 'bp_activity_meta'
|
34 |
);
|
35 |
+
|
36 |
bp_update_meta_cache( $cache_args );
|
37 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bp-activity/bp-activity-classes.php
CHANGED
@@ -144,7 +144,6 @@ class BP_Activity_Activity {
|
|
144 |
'sort' => 'DESC', // ASC or DESC
|
145 |
'exclude' => false, // Array of ids to exclude
|
146 |
'in' => false, // Array of ids to limit query by (IN)
|
147 |
-
'meta_query' => false, // Filter by activitymeta
|
148 |
'filter' => false, // See self::get_filter_sql()
|
149 |
'search_terms' => false, // Terms to search by
|
150 |
'display_comments' => false, // Whether to include activity comments
|
@@ -159,8 +158,6 @@ class BP_Activity_Activity {
|
|
159 |
|
160 |
$from_sql = " FROM {$bp->activity->table_name} a LEFT JOIN {$wpdb->users} u ON a.user_id = u.ID";
|
161 |
|
162 |
-
$join_sql = '';
|
163 |
-
|
164 |
// Where conditions
|
165 |
$where_conditions = array();
|
166 |
|
@@ -200,17 +197,6 @@ class BP_Activity_Activity {
|
|
200 |
$where_conditions['in'] = "a.id IN ({$in})";
|
201 |
}
|
202 |
|
203 |
-
// Process meta_query into SQL
|
204 |
-
$meta_query_sql = self::get_meta_query_sql( $meta_query );
|
205 |
-
|
206 |
-
if ( ! empty( $meta_query_sql['join'] ) ) {
|
207 |
-
$join_sql .= $meta_query_sql['join'];
|
208 |
-
}
|
209 |
-
|
210 |
-
if ( ! empty( $meta_query_sql['where'] ) ) {
|
211 |
-
$where_conditions[] = $meta_query_sql['where'];
|
212 |
-
}
|
213 |
-
|
214 |
// Alter the query based on whether we want to show activity item
|
215 |
// comments in the stream like normal comments or threaded below
|
216 |
// the activity.
|
@@ -242,12 +228,12 @@ class BP_Activity_Activity {
|
|
242 |
$per_page = absint( $per_page );
|
243 |
|
244 |
$pag_sql = $wpdb->prepare( "LIMIT %d, %d", absint( ( $page - 1 ) * $per_page ), $per_page );
|
245 |
-
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$
|
246 |
} else {
|
247 |
-
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$
|
248 |
}
|
249 |
|
250 |
-
$total_activities_sql = apply_filters( 'bp_activity_total_activities_sql', "SELECT count(a.id) FROM {$bp->activity->table_name} a {$index_hint_sql} {$
|
251 |
|
252 |
$total_activities = $wpdb->get_var( $total_activities_sql );
|
253 |
|
@@ -256,7 +242,7 @@ class BP_Activity_Activity {
|
|
256 |
$activity_user_ids = wp_list_pluck( $activities, 'user_id' );
|
257 |
$activity_user_ids = implode( ',', wp_parse_id_list( $activity_user_ids ) );
|
258 |
|
259 |
-
if ( !empty( $activity_user_ids ) ) {
|
260 |
if ( $names = $wpdb->get_results( "SELECT user_id, value AS user_fullname FROM {$bp->profile->table_name_data} WHERE field_id = 1 AND user_id IN ({$activity_user_ids})" ) ) {
|
261 |
foreach ( (array) $names as $name )
|
262 |
$tmp_names[$name->user_id] = $name->user_fullname;
|
@@ -294,46 +280,6 @@ class BP_Activity_Activity {
|
|
294 |
return array( 'activities' => $activities, 'total' => (int) $total_activities );
|
295 |
}
|
296 |
|
297 |
-
/**
|
298 |
-
* Get the SQL for the 'meta_query' param in BP_Activity_Activity::get()
|
299 |
-
*
|
300 |
-
* We use WP_Meta_Query to do the heavy lifting of parsing the
|
301 |
-
* meta_query array and creating the necessary SQL clauses. However,
|
302 |
-
* since BP_Activity_Activity::get() builds its SQL differently than
|
303 |
-
* WP_Query, we have to alter the return value (stripping the leading
|
304 |
-
* AND keyword from the 'where' clause).
|
305 |
-
*
|
306 |
-
* @since BuddyPress (1.8)
|
307 |
-
*
|
308 |
-
* @param array $meta_query An array of meta_query filters. See the
|
309 |
-
* documentation for WP_Meta_Query for details.
|
310 |
-
* @return array $sql_array 'join' and 'where' clauses
|
311 |
-
*/
|
312 |
-
public static function get_meta_query_sql( $meta_query = array() ) {
|
313 |
-
global $wpdb;
|
314 |
-
|
315 |
-
$sql_array = array(
|
316 |
-
'join' => '',
|
317 |
-
'where' => '',
|
318 |
-
);
|
319 |
-
|
320 |
-
if ( ! empty( $meta_query ) ) {
|
321 |
-
$activity_meta_query = new WP_Meta_Query( $meta_query );
|
322 |
-
|
323 |
-
// WP_Meta_Query expects the table name at
|
324 |
-
// $wpdb->activitymeta
|
325 |
-
$wpdb->activitymeta = buddypress()->activity->table_name_meta;
|
326 |
-
|
327 |
-
$meta_sql = $activity_meta_query->get_sql( 'activity', 'a', 'id' );
|
328 |
-
|
329 |
-
// Strip the leading AND - BP handles it in get()
|
330 |
-
$sql_array['where'] = preg_replace( '/^\sAND/', '', $meta_sql['where'] );
|
331 |
-
$sql_array['join'] = $meta_sql['join'];
|
332 |
-
}
|
333 |
-
|
334 |
-
return $sql_array;
|
335 |
-
}
|
336 |
-
|
337 |
/**
|
338 |
* In BuddyPress 1.2.x, this was used to retrieve specific activity stream items (for example, on an activity's permalink page).
|
339 |
* As of 1.5.x, use BP_Activity_Activity::get() with an 'in' parameter instead.
|
@@ -479,10 +425,6 @@ class BP_Activity_Activity {
|
|
479 |
|
480 |
$activity_ids = implode( ',', wp_parse_id_list( $activity_ids ) );
|
481 |
|
482 |
-
foreach ( (array) $activity_ids as $activity_id ) {
|
483 |
-
bp_activity_clear_meta_cache_for_activity( $activity_id );
|
484 |
-
}
|
485 |
-
|
486 |
return $wpdb->query( "DELETE FROM {$bp->activity->table_name_meta} WHERE activity_id IN ({$activity_ids})" );
|
487 |
}
|
488 |
|
@@ -614,14 +556,10 @@ class BP_Activity_Activity {
|
|
614 |
return $wpdb->get_results( $wpdb->prepare( "SELECT id FROM {$bp->activity->table_name} WHERE type = 'activity_comment' AND secondary_item_id = %d", $parent_id ) );
|
615 |
}
|
616 |
|
617 |
-
/**
|
618 |
-
* Fetch a list of all components that have activity items recorded
|
619 |
-
*
|
620 |
-
* @return array
|
621 |
-
*/
|
622 |
function get_recorded_components() {
|
623 |
global $wpdb, $bp;
|
624 |
-
|
|
|
625 |
}
|
626 |
|
627 |
function get_sitewide_items_for_feed( $limit = 35 ) {
|
@@ -730,285 +668,3 @@ class BP_Activity_Activity {
|
|
730 |
return $wpdb->get_var( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET hide_sitewide = 1 WHERE user_id = %d", $user_id ) );
|
731 |
}
|
732 |
}
|
733 |
-
|
734 |
-
/**
|
735 |
-
* Create a RSS feed using the activity component.
|
736 |
-
*
|
737 |
-
* You should only construct a new feed when you've validated that you're on
|
738 |
-
* the appropriate screen.
|
739 |
-
*
|
740 |
-
* See {@link bp_activity_action_sitewide_feed()} as an example.
|
741 |
-
*
|
742 |
-
* Accepted parameters:
|
743 |
-
* id - internal id for the feed; should be alphanumeric only
|
744 |
-
* (required)
|
745 |
-
* title - RSS feed title
|
746 |
-
* link - Relevant link for the RSS feed
|
747 |
-
* description - RSS feed description
|
748 |
-
* ttl - Time-to-live (see inline doc in constructor)
|
749 |
-
* update_period - Part of the syndication module (see inline doc in
|
750 |
-
* constructor for more info)
|
751 |
-
* update_frequency - Part of the syndication module (see inline doc in
|
752 |
-
* constructor for more info)
|
753 |
-
* max - Number of feed items to display
|
754 |
-
* activity_args - Arguments passed to {@link bp_has_activities()}
|
755 |
-
*
|
756 |
-
* @since BuddyPress (1.8)
|
757 |
-
*/
|
758 |
-
class BP_Activity_Feed {
|
759 |
-
/**
|
760 |
-
* Holds our custom class properties.
|
761 |
-
*
|
762 |
-
* These variables are stored in a protected array that is magically
|
763 |
-
* updated using PHP 5.2+ methods.
|
764 |
-
*
|
765 |
-
* @see BP_Feed::__construct() This is where $data is added
|
766 |
-
* @var array
|
767 |
-
*/
|
768 |
-
protected $data;
|
769 |
-
|
770 |
-
/**
|
771 |
-
* Magic method for checking the existence of a certain data variable.
|
772 |
-
*
|
773 |
-
* @param string $key
|
774 |
-
*/
|
775 |
-
public function __isset( $key ) { return isset( $this->data[$key] ); }
|
776 |
-
|
777 |
-
/**
|
778 |
-
* Magic method for getting a certain data variable.
|
779 |
-
*
|
780 |
-
* @param string $key
|
781 |
-
*/
|
782 |
-
public function __get( $key ) { return isset( $this->data[$key] ) ? $this->data[$key] : null; }
|
783 |
-
|
784 |
-
/**
|
785 |
-
* Constructor.
|
786 |
-
*
|
787 |
-
* @param array $args Optional
|
788 |
-
*/
|
789 |
-
public function __construct( $args = array() ) {
|
790 |
-
// If feeds are disabled, stop now!
|
791 |
-
if ( false === (bool) apply_filters( 'bp_activity_enable_feeds', true ) ) {
|
792 |
-
global $wp_query;
|
793 |
-
|
794 |
-
// set feed flag to false
|
795 |
-
$wp_query->is_feed = false;
|
796 |
-
|
797 |
-
return false;
|
798 |
-
}
|
799 |
-
|
800 |
-
// Setup data
|
801 |
-
$this->data = wp_parse_args( $args, array(
|
802 |
-
// Internal identifier for the RSS feed - should be alphanumeric only
|
803 |
-
'id' => '',
|
804 |
-
|
805 |
-
// RSS title - should be plain-text
|
806 |
-
'title' => '',
|
807 |
-
|
808 |
-
// relevant link for the RSS feed
|
809 |
-
'link' => '',
|
810 |
-
|
811 |
-
// RSS description - should be plain-text
|
812 |
-
'description' => '',
|
813 |
-
|
814 |
-
// Time-to-live - number of minutes to cache the data before an aggregator
|
815 |
-
// requests it again. This is only acknowledged if the RSS client supports it
|
816 |
-
//
|
817 |
-
// See: http://www.rssboard.org/rss-profile#element-channel-ttl
|
818 |
-
// http://www.kbcafe.com/rss/rssfeedstate.html#ttl
|
819 |
-
'ttl' => '30',
|
820 |
-
|
821 |
-
// Syndication module - similar to ttl, but not really supported by RSS
|
822 |
-
// clients
|
823 |
-
//
|
824 |
-
// See: http://web.resource.org/rss/1.0/modules/syndication/#description
|
825 |
-
// http://www.kbcafe.com/rss/rssfeedstate.html#syndicationmodule
|
826 |
-
'update_period' => 'hourly',
|
827 |
-
'update_frequency' => 2,
|
828 |
-
|
829 |
-
// Number of items to display
|
830 |
-
'max' => 50,
|
831 |
-
|
832 |
-
// Activity arguments passed to bp_has_activities()
|
833 |
-
'activity_args' => array()
|
834 |
-
) );
|
835 |
-
|
836 |
-
// Plugins can use this filter to modify the feed before it is setup
|
837 |
-
do_action_ref_array( 'bp_activity_feed_prefetch', array( &$this ) );
|
838 |
-
|
839 |
-
// Setup class properties
|
840 |
-
$this->setup_properties();
|
841 |
-
|
842 |
-
// Check if id is valid
|
843 |
-
if ( empty( $this->id ) ) {
|
844 |
-
_doing_it_wrong( 'BP_Activity_Feed', __( "RSS feed 'id' must be defined", 'buddypress' ), 'BP 1.8' );
|
845 |
-
return false;
|
846 |
-
}
|
847 |
-
|
848 |
-
// Plugins can use this filter to modify the feed after it's setup
|
849 |
-
do_action_ref_array( 'bp_activity_feed_postfetch', array( &$this ) );
|
850 |
-
|
851 |
-
// Setup feed hooks
|
852 |
-
$this->setup_hooks();
|
853 |
-
|
854 |
-
// Output the feed
|
855 |
-
$this->output();
|
856 |
-
|
857 |
-
// Kill the rest of the output
|
858 |
-
die();
|
859 |
-
}
|
860 |
-
|
861 |
-
/** SETUP ****************************************************************/
|
862 |
-
|
863 |
-
/**
|
864 |
-
* Setup and validate the class properties.
|
865 |
-
*/
|
866 |
-
protected function setup_properties() {
|
867 |
-
$this->id = sanitize_title( $this->id );
|
868 |
-
$this->title = strip_tags( $this->title );
|
869 |
-
$this->link = esc_url_raw( $this->link );
|
870 |
-
$this->description = strip_tags( $this->description );
|
871 |
-
$this->ttl = (int) $this->ttl;
|
872 |
-
$this->update_period = strip_tags( $this->update_period );
|
873 |
-
$this->update_frequency = (int) $this->update_frequency;
|
874 |
-
|
875 |
-
$this->activity_args = wp_parse_args( $this->activity_args, array(
|
876 |
-
'max' => $this->max,
|
877 |
-
'display_comments' => 'stream'
|
878 |
-
) );
|
879 |
-
|
880 |
-
}
|
881 |
-
|
882 |
-
/**
|
883 |
-
* Setup some hooks that are used in the feed.
|
884 |
-
*
|
885 |
-
* Currently, these hooks are used to maintain backwards compatibility with
|
886 |
-
* the RSS feeds previous to BP 1.8.
|
887 |
-
*/
|
888 |
-
protected function setup_hooks() {
|
889 |
-
add_action( 'bp_activity_feed_rss_attributes', array( $this, 'backpat_rss_attributes' ) );
|
890 |
-
add_action( 'bp_activity_feed_channel_elements', array( $this, 'backpat_channel_elements' ) );
|
891 |
-
add_action( 'bp_activity_feed_item_elements', array( $this, 'backpat_item_elements' ) );
|
892 |
-
}
|
893 |
-
|
894 |
-
/** BACKPAT HOOKS ********************************************************/
|
895 |
-
|
896 |
-
public function backpat_rss_attributes() {
|
897 |
-
do_action( 'bp_activity_' . $this->id . '_feed' );
|
898 |
-
}
|
899 |
-
|
900 |
-
public function backpat_channel_elements() {
|
901 |
-
do_action( 'bp_activity_' . $this->id . '_feed_head' );
|
902 |
-
}
|
903 |
-
|
904 |
-
public function backpat_item_elements() {
|
905 |
-
switch ( $this->id ) {
|
906 |
-
|
907 |
-
// sitewide and friends feeds use the 'personal' hook
|
908 |
-
case 'sitewide' :
|
909 |
-
case 'friends' :
|
910 |
-
$id = 'personal';
|
911 |
-
|
912 |
-
break;
|
913 |
-
|
914 |
-
default :
|
915 |
-
$id = $this->id;
|
916 |
-
|
917 |
-
break;
|
918 |
-
}
|
919 |
-
|
920 |
-
do_action( 'bp_activity_' . $id . '_feed_item' );
|
921 |
-
}
|
922 |
-
|
923 |
-
/** HELPERS **************************************************************/
|
924 |
-
|
925 |
-
/**
|
926 |
-
* Output the feed's item content.
|
927 |
-
*/
|
928 |
-
protected function feed_content() {
|
929 |
-
bp_activity_content_body();
|
930 |
-
|
931 |
-
switch ( $this->id ) {
|
932 |
-
|
933 |
-
// also output parent activity item if we're on a specific feed
|
934 |
-
case 'favorites' :
|
935 |
-
case 'friends' :
|
936 |
-
case 'mentions' :
|
937 |
-
case 'personal' :
|
938 |
-
|
939 |
-
if ( 'activity_comment' == bp_get_activity_action_name() ) :
|
940 |
-
?>
|
941 |
-
<strong><?php _e( 'In reply to', 'buddypress' ) ?></strong> -
|
942 |
-
<?php bp_activity_parent_content() ?>
|
943 |
-
<?php
|
944 |
-
endif;
|
945 |
-
|
946 |
-
break;
|
947 |
-
}
|
948 |
-
}
|
949 |
-
|
950 |
-
/** OUTPUT ***************************************************************/
|
951 |
-
|
952 |
-
/**
|
953 |
-
* Output the RSS feed.
|
954 |
-
*/
|
955 |
-
protected function output() {
|
956 |
-
// set up some additional headers if not on a directory page
|
957 |
-
// this is done b/c BP uses pseudo-pages
|
958 |
-
if ( ! bp_is_directory() ) {
|
959 |
-
global $wp_query;
|
960 |
-
|
961 |
-
$wp_query->is_404 = false;
|
962 |
-
status_header( 200 );
|
963 |
-
}
|
964 |
-
|
965 |
-
header( 'Content-Type: text/xml; charset=' . get_option( 'blog_charset' ), true );
|
966 |
-
echo '<?xml version="1.0" encoding="' . get_option( 'blog_charset' ) . '"?'.'>';
|
967 |
-
?>
|
968 |
-
|
969 |
-
<rss version="2.0"
|
970 |
-
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
971 |
-
xmlns:atom="http://www.w3.org/2005/Atom"
|
972 |
-
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
973 |
-
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
|
974 |
-
<?php do_action( 'bp_activity_feed_rss_attributes' ); ?>
|
975 |
-
>
|
976 |
-
|
977 |
-
<channel>
|
978 |
-
<title><?php echo $this->title; ?></title>
|
979 |
-
<link><?php echo $this->link; ?></link>
|
980 |
-
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
981 |
-
<description><?php echo $this->description ?></description>
|
982 |
-
<lastBuildDate><?php echo mysql2date( 'D, d M Y H:i:s O', bp_activity_get_last_updated(), false ); ?></lastBuildDate>
|
983 |
-
<generator>http://buddypress.org/?v=<?php bp_version(); ?></generator>
|
984 |
-
<language><?php bloginfo_rss( 'language' ); ?></language>
|
985 |
-
<ttl><?php echo $this->ttl; ?></ttl>
|
986 |
-
<sy:updatePeriod><?php echo $this->update_period; ?></sy:updatePeriod>
|
987 |
-
<sy:updateFrequency><?php echo $this->update_frequency; ?></sy:updateFrequency>
|
988 |
-
<?php do_action( 'bp_activity_feed_channel_elements' ); ?>
|
989 |
-
|
990 |
-
<?php if ( bp_has_activities( $this->activity_args ) ) : ?>
|
991 |
-
<?php while ( bp_activities() ) : bp_the_activity(); ?>
|
992 |
-
<item>
|
993 |
-
<guid isPermaLink="false"><?php bp_activity_feed_item_guid(); ?></guid>
|
994 |
-
<title><?php echo stripslashes( bp_get_activity_feed_item_title() ); ?></title>
|
995 |
-
<link><?php bp_activity_thread_permalink() ?></link>
|
996 |
-
<pubDate><?php echo mysql2date( 'D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false ); ?></pubDate>
|
997 |
-
|
998 |
-
<?php if ( bp_get_activity_feed_item_description() ) : ?>
|
999 |
-
<content:encoded><![CDATA[<?php $this->feed_content(); ?>]]></content:encoded>
|
1000 |
-
<?php endif; ?>
|
1001 |
-
|
1002 |
-
<?php if ( bp_activity_can_comment() ) : ?>
|
1003 |
-
<slash:comments><?php bp_activity_comment_count(); ?></slash:comments>
|
1004 |
-
<?php endif; ?>
|
1005 |
-
|
1006 |
-
<?php do_action( 'bp_activity_feed_item_elements' ); ?>
|
1007 |
-
</item>
|
1008 |
-
<?php endwhile; ?>
|
1009 |
-
|
1010 |
-
<?php endif; ?>
|
1011 |
-
</channel>
|
1012 |
-
</rss><?php
|
1013 |
-
}
|
1014 |
-
}
|
144 |
'sort' => 'DESC', // ASC or DESC
|
145 |
'exclude' => false, // Array of ids to exclude
|
146 |
'in' => false, // Array of ids to limit query by (IN)
|
|
|
147 |
'filter' => false, // See self::get_filter_sql()
|
148 |
'search_terms' => false, // Terms to search by
|
149 |
'display_comments' => false, // Whether to include activity comments
|
158 |
|
159 |
$from_sql = " FROM {$bp->activity->table_name} a LEFT JOIN {$wpdb->users} u ON a.user_id = u.ID";
|
160 |
|
|
|
|
|
161 |
// Where conditions
|
162 |
$where_conditions = array();
|
163 |
|
197 |
$where_conditions['in'] = "a.id IN ({$in})";
|
198 |
}
|
199 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
// Alter the query based on whether we want to show activity item
|
201 |
// comments in the stream like normal comments or threaded below
|
202 |
// the activity.
|
228 |
$per_page = absint( $per_page );
|
229 |
|
230 |
$pag_sql = $wpdb->prepare( "LIMIT %d, %d", absint( ( $page - 1 ) * $per_page ), $per_page );
|
231 |
+
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort} {$pag_sql}", $select_sql, $from_sql, $where_sql, $sort, $pag_sql ) );
|
232 |
} else {
|
233 |
+
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$where_sql} ORDER BY a.date_recorded {$sort}", $select_sql, $from_sql, $where_sql, $sort ) );
|
234 |
}
|
235 |
|
236 |
+
$total_activities_sql = apply_filters( 'bp_activity_total_activities_sql', "SELECT count(a.id) FROM {$bp->activity->table_name} a {$index_hint_sql} {$where_sql} ORDER BY a.date_recorded {$sort}", $where_sql, $sort );
|
237 |
|
238 |
$total_activities = $wpdb->get_var( $total_activities_sql );
|
239 |
|
242 |
$activity_user_ids = wp_list_pluck( $activities, 'user_id' );
|
243 |
$activity_user_ids = implode( ',', wp_parse_id_list( $activity_user_ids ) );
|
244 |
|
245 |
+
if ( !empty( $activity_user_ids ) ) {
|
246 |
if ( $names = $wpdb->get_results( "SELECT user_id, value AS user_fullname FROM {$bp->profile->table_name_data} WHERE field_id = 1 AND user_id IN ({$activity_user_ids})" ) ) {
|
247 |
foreach ( (array) $names as $name )
|
248 |
$tmp_names[$name->user_id] = $name->user_fullname;
|
280 |
return array( 'activities' => $activities, 'total' => (int) $total_activities );
|
281 |
}
|
282 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
/**
|
284 |
* In BuddyPress 1.2.x, this was used to retrieve specific activity stream items (for example, on an activity's permalink page).
|
285 |
* As of 1.5.x, use BP_Activity_Activity::get() with an 'in' parameter instead.
|
425 |
|
426 |
$activity_ids = implode( ',', wp_parse_id_list( $activity_ids ) );
|
427 |
|
|
|
|
|
|
|
|
|
428 |
return $wpdb->query( "DELETE FROM {$bp->activity->table_name_meta} WHERE activity_id IN ({$activity_ids})" );
|
429 |
}
|
430 |
|
556 |
return $wpdb->get_results( $wpdb->prepare( "SELECT id FROM {$bp->activity->table_name} WHERE type = 'activity_comment' AND secondary_item_id = %d", $parent_id ) );
|
557 |
}
|
558 |
|
|
|
|
|
|
|
|
|
|
|
559 |
function get_recorded_components() {
|
560 |
global $wpdb, $bp;
|
561 |
+
|
562 |
+
return $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT component FROM {$bp->activity->table_name} ORDER BY component ASC" ) );
|
563 |
}
|
564 |
|
565 |
function get_sitewide_items_for_feed( $limit = 35 ) {
|
668 |
return $wpdb->get_var( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET hide_sitewide = 1 WHERE user_id = %d", $user_id ) );
|
669 |
}
|
670 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bp-activity/bp-activity-filters.php
CHANGED
@@ -125,6 +125,7 @@ function bp_activity_get_moderated_activity_types() {
|
|
125 |
*
|
126 |
* @since BuddyPress (1.6)
|
127 |
* @param BP_Activity_Activity $activity
|
|
|
128 |
*/
|
129 |
function bp_activity_check_moderation_keys( $activity ) {
|
130 |
|
@@ -143,6 +144,7 @@ function bp_activity_check_moderation_keys( $activity ) {
|
|
143 |
*
|
144 |
* @since BuddyPress (1.6)
|
145 |
* @param BP_Activity_Activity $activity
|
|
|
146 |
*/
|
147 |
function bp_activity_check_blacklist_keys( $activity ) {
|
148 |
|
@@ -206,11 +208,6 @@ function bp_activity_filter_kses( $content ) {
|
|
206 |
*/
|
207 |
function bp_activity_at_name_filter( $content, $activity_id = 0 ) {
|
208 |
|
209 |
-
// Are mentions disabled?
|
210 |
-
if ( ! bp_activity_do_mentions() ) {
|
211 |
-
return $content;
|
212 |
-
}
|
213 |
-
|
214 |
// Try to find mentions
|
215 |
$usernames = bp_activity_find_mentions( $content );
|
216 |
|
@@ -235,16 +232,11 @@ function bp_activity_at_name_filter( $content, $activity_id = 0 ) {
|
|
235 |
*
|
236 |
* @since BuddyPress (1.5)
|
237 |
*
|
238 |
-
* @param
|
239 |
*
|
240 |
* @uses bp_activity_find_mentions()
|
241 |
*/
|
242 |
function bp_activity_at_name_filter_updates( $activity ) {
|
243 |
-
// Are mentions disabled?
|
244 |
-
if ( ! bp_activity_do_mentions() ) {
|
245 |
-
return;
|
246 |
-
}
|
247 |
-
|
248 |
// If activity was marked as spam, stop the rest of this function.
|
249 |
if ( ! empty( $activity->is_spam ) )
|
250 |
return;
|
@@ -273,17 +265,12 @@ function bp_activity_at_name_filter_updates( $activity ) {
|
|
273 |
*
|
274 |
* @since BuddyPress (1.7)
|
275 |
*
|
276 |
-
* @param
|
277 |
*
|
278 |
* @uses bp_activity_at_message_notification()
|
279 |
* @uses bp_activity_update_mention_count_for_user()
|
280 |
*/
|
281 |
function bp_activity_at_name_send_emails( $activity ) {
|
282 |
-
// Are mentions disabled?
|
283 |
-
if ( ! bp_activity_do_mentions() ) {
|
284 |
-
return;
|
285 |
-
}
|
286 |
-
|
287 |
// If our temporary variable doesn't exist, stop now.
|
288 |
if ( empty( buddypress()->activity->mentioned_users ) )
|
289 |
return;
|
@@ -339,7 +326,7 @@ function bp_activity_make_nofollow_filter( $text ) {
|
|
339 |
*
|
340 |
* @since BuddyPress (1.5)
|
341 |
*
|
342 |
-
* @param
|
343 |
*
|
344 |
* @uses bp_is_single_activity()
|
345 |
* @uses apply_filters() To call the 'bp_activity_excerpt_append_text' hook
|
125 |
*
|
126 |
* @since BuddyPress (1.6)
|
127 |
* @param BP_Activity_Activity $activity
|
128 |
+
* @return If activity type is not an update or comment
|
129 |
*/
|
130 |
function bp_activity_check_moderation_keys( $activity ) {
|
131 |
|
144 |
*
|
145 |
* @since BuddyPress (1.6)
|
146 |
* @param BP_Activity_Activity $activity
|
147 |
+
* @return If activity type is not an update or comment
|
148 |
*/
|
149 |
function bp_activity_check_blacklist_keys( $activity ) {
|
150 |
|
208 |
*/
|
209 |
function bp_activity_at_name_filter( $content, $activity_id = 0 ) {
|
210 |
|
|
|
|
|
|
|
|
|
|
|
211 |
// Try to find mentions
|
212 |
$usernames = bp_activity_find_mentions( $content );
|
213 |
|
232 |
*
|
233 |
* @since BuddyPress (1.5)
|
234 |
*
|
235 |
+
* @param obj $activity
|
236 |
*
|
237 |
* @uses bp_activity_find_mentions()
|
238 |
*/
|
239 |
function bp_activity_at_name_filter_updates( $activity ) {
|
|
|
|
|
|
|
|
|
|
|
240 |
// If activity was marked as spam, stop the rest of this function.
|
241 |
if ( ! empty( $activity->is_spam ) )
|
242 |
return;
|
265 |
*
|
266 |
* @since BuddyPress (1.7)
|
267 |
*
|
268 |
+
* @param obj $activity The BP_Activity_Activity object
|
269 |
*
|
270 |
* @uses bp_activity_at_message_notification()
|
271 |
* @uses bp_activity_update_mention_count_for_user()
|
272 |
*/
|
273 |
function bp_activity_at_name_send_emails( $activity ) {
|
|
|
|
|
|
|
|
|
|
|
274 |
// If our temporary variable doesn't exist, stop now.
|
275 |
if ( empty( buddypress()->activity->mentioned_users ) )
|
276 |
return;
|
326 |
*
|
327 |
* @since BuddyPress (1.5)
|
328 |
*
|
329 |
+
* @param $text The original activity entry text
|
330 |
*
|
331 |
* @uses bp_is_single_activity()
|
332 |
* @uses apply_filters() To call the 'bp_activity_excerpt_append_text' hook
|
bp-activity/bp-activity-functions.php
CHANGED
@@ -27,30 +27,6 @@ function bp_activity_has_directory() {
|
|
27 |
return (bool) !empty( $bp->pages->activity->id );
|
28 |
}
|
29 |
|
30 |
-
/**
|
31 |
-
* Are mentions enabled or disabled?
|
32 |
-
*
|
33 |
-
* The Mentions feature does a number of things, all of which will be turned
|
34 |
-
* off if you disable mentions:
|
35 |
-
* - Detecting and auto-linking @username in all BP/WP content
|
36 |
-
* - Sending BP notifications and emails to users when they are mentioned
|
37 |
-
* using the @username syntax
|
38 |
-
* - The Public Message button on user profiles
|
39 |
-
*
|
40 |
-
* Mentions are enabled by default. To disable, put the following line in
|
41 |
-
* bp-custom.php or your theme's functions.php file:
|
42 |
-
*
|
43 |
-
* add_filter( 'bp_activity_do_mentions', '__return_false' );
|
44 |
-
*
|
45 |
-
* @since BuddyPress (1.8)
|
46 |
-
*
|
47 |
-
* @uses apply_filters() To call 'bp_activity_do_mentions' hook.
|
48 |
-
* @return bool $retval True to enable mentions, false to disable.
|
49 |
-
*/
|
50 |
-
function bp_activity_do_mentions() {
|
51 |
-
return (bool) apply_filters( 'bp_activity_do_mentions', true );
|
52 |
-
}
|
53 |
-
|
54 |
/**
|
55 |
* Searches through the content of an activity item to locate usernames,
|
56 |
* designated by an @ sign.
|
@@ -391,7 +367,7 @@ function bp_activity_add_user_favorite( $activity_id, $user_id = 0 ) {
|
|
391 |
$user_id = bp_loggedin_user_id();
|
392 |
|
393 |
// Update the user's personal favorites
|
394 |
-
$my_favs = bp_get_user_meta(
|
395 |
$my_favs[] = $activity_id;
|
396 |
|
397 |
// Update the total number of users who have favorited this activity
|
@@ -399,7 +375,7 @@ function bp_activity_add_user_favorite( $activity_id, $user_id = 0 ) {
|
|
399 |
$fav_count = !empty( $fav_count ) ? (int) $fav_count + 1 : 1;
|
400 |
|
401 |
// Update user meta
|
402 |
-
bp_update_user_meta(
|
403 |
|
404 |
// Update activity meta counts
|
405 |
if ( true === bp_activity_update_meta( $activity_id, 'favorite_count', $fav_count ) ) {
|
@@ -905,7 +881,6 @@ function bp_activity_get( $args = '' ) {
|
|
905 |
'display_comments' => false, // false for no comments. 'stream' for within stream display, 'threaded' for below each activity item
|
906 |
|
907 |
'search_terms' => false, // Pass search terms as a string
|
908 |
-
'meta_query' => false, // Filter by activity meta. See WP_Meta_Query for format
|
909 |
'show_hidden' => false, // Show activity items that are hidden site-wide?
|
910 |
'exclude' => false, // Comma-separated list of activity IDs to exclude
|
911 |
'in' => false, // Comma-separated list or array of activity IDs to which you want to limit the query
|
@@ -927,7 +902,7 @@ function bp_activity_get( $args = '' ) {
|
|
927 |
extract( $r, EXTR_SKIP );
|
928 |
|
929 |
// Attempt to return a cached copy of the first page of sitewide activity.
|
930 |
-
if ( 1 == (int) $page && empty( $max ) && empty( $search_terms ) && empty( $
|
931 |
if ( !$activity = wp_cache_get( 'bp_activity_sitewide_front', 'bp' ) ) {
|
932 |
$args = array(
|
933 |
'page' => $page,
|
@@ -935,7 +910,6 @@ function bp_activity_get( $args = '' ) {
|
|
935 |
'max' => $max,
|
936 |
'sort' => $sort,
|
937 |
'search_terms' => $search_terms,
|
938 |
-
'meta_query' => $meta_query,
|
939 |
'filter' => $filter,
|
940 |
'display_comments' => $display_comments,
|
941 |
'show_hidden' => $show_hidden,
|
@@ -952,7 +926,6 @@ function bp_activity_get( $args = '' ) {
|
|
952 |
'max' => $max,
|
953 |
'sort' => $sort,
|
954 |
'search_terms' => $search_terms,
|
955 |
-
'meta_query' => $meta_query,
|
956 |
'filter' => $filter,
|
957 |
'display_comments' => $display_comments,
|
958 |
'show_hidden' => $show_hidden,
|
@@ -1130,10 +1103,10 @@ function bp_activity_post_update( $args = '' ) {
|
|
1130 |
'type' => 'activity_update'
|
1131 |
) );
|
1132 |
|
1133 |
-
$activity_content = apply_filters( 'bp_activity_latest_update_content', $content
|
1134 |
|
1135 |
// Add this update to the "latest update" usermeta so it can be fetched anywhere.
|
1136 |
-
bp_update_user_meta( bp_loggedin_user_id(), 'bp_latest_update', array( 'id' => $activity_id, 'content' => $
|
1137 |
|
1138 |
do_action( 'bp_activity_posted_update', $content, $user_id, $activity_id );
|
1139 |
|
@@ -1525,15 +1498,13 @@ function bp_activity_hide_user_activity( $user_id ) {
|
|
1525 |
*
|
1526 |
* @param string $content The content to work with
|
1527 |
* @param string $link Optional. The URL that the image should link to
|
1528 |
-
* @param array $activity_args Optional. The args passed to the activity
|
1529 |
-
* creation function (eg bp_blogs_record_activity())
|
1530 |
*
|
1531 |
* @uses esc_attr()
|
1532 |
* @uses apply_filters() To call the 'bp_activity_thumbnail_content_images' hook
|
1533 |
*
|
1534 |
* @return string $content The content with images stripped and replaced with a single thumb.
|
1535 |
*/
|
1536 |
-
function bp_activity_thumbnail_content_images( $content, $link = false
|
1537 |
|
1538 |
preg_match_all( '/<img[^>]*>/Ui', $content, $matches );
|
1539 |
|
@@ -1572,7 +1543,7 @@ function bp_activity_thumbnail_content_images( $content, $link = false, $args =
|
|
1572 |
}
|
1573 |
}
|
1574 |
|
1575 |
-
return apply_filters( 'bp_activity_thumbnail_content_images', $content, $matches
|
1576 |
}
|
1577 |
|
1578 |
/**
|
27 |
return (bool) !empty( $bp->pages->activity->id );
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
* Searches through the content of an activity item to locate usernames,
|
32 |
* designated by an @ sign.
|
367 |
$user_id = bp_loggedin_user_id();
|
368 |
|
369 |
// Update the user's personal favorites
|
370 |
+
$my_favs = bp_get_user_meta( bp_loggedin_user_id(), 'bp_favorite_activities', true );
|
371 |
$my_favs[] = $activity_id;
|
372 |
|
373 |
// Update the total number of users who have favorited this activity
|
375 |
$fav_count = !empty( $fav_count ) ? (int) $fav_count + 1 : 1;
|
376 |
|
377 |
// Update user meta
|
378 |
+
bp_update_user_meta( bp_loggedin_user_id(), 'bp_favorite_activities', $my_favs );
|
379 |
|
380 |
// Update activity meta counts
|
381 |
if ( true === bp_activity_update_meta( $activity_id, 'favorite_count', $fav_count ) ) {
|
881 |
'display_comments' => false, // false for no comments. 'stream' for within stream display, 'threaded' for below each activity item
|
882 |
|
883 |
'search_terms' => false, // Pass search terms as a string
|
|
|
884 |
'show_hidden' => false, // Show activity items that are hidden site-wide?
|
885 |
'exclude' => false, // Comma-separated list of activity IDs to exclude
|
886 |
'in' => false, // Comma-separated list or array of activity IDs to which you want to limit the query
|
902 |
extract( $r, EXTR_SKIP );
|
903 |
|
904 |
// Attempt to return a cached copy of the first page of sitewide activity.
|
905 |
+
if ( 1 == (int) $page && empty( $max ) && empty( $search_terms ) && empty( $filter ) && empty( $exclude ) && empty( $in ) && 'DESC' == $sort && empty( $exclude ) && 'ham_only' == $spam ) {
|
906 |
if ( !$activity = wp_cache_get( 'bp_activity_sitewide_front', 'bp' ) ) {
|
907 |
$args = array(
|
908 |
'page' => $page,
|
910 |
'max' => $max,
|
911 |
'sort' => $sort,
|
912 |
'search_terms' => $search_terms,
|
|
|
913 |
'filter' => $filter,
|
914 |
'display_comments' => $display_comments,
|
915 |
'show_hidden' => $show_hidden,
|
926 |
'max' => $max,
|
927 |
'sort' => $sort,
|
928 |
'search_terms' => $search_terms,
|
|
|
929 |
'filter' => $filter,
|
930 |
'display_comments' => $display_comments,
|
931 |
'show_hidden' => $show_hidden,
|
1103 |
'type' => 'activity_update'
|
1104 |
) );
|
1105 |
|
1106 |
+
$activity_content = apply_filters( 'bp_activity_latest_update_content', $content );
|
1107 |
|
1108 |
// Add this update to the "latest update" usermeta so it can be fetched anywhere.
|
1109 |
+
bp_update_user_meta( bp_loggedin_user_id(), 'bp_latest_update', array( 'id' => $activity_id, 'content' => $content ) );
|
1110 |
|
1111 |
do_action( 'bp_activity_posted_update', $content, $user_id, $activity_id );
|
1112 |
|
1498 |
*
|
1499 |
* @param string $content The content to work with
|
1500 |
* @param string $link Optional. The URL that the image should link to
|
|
|
|
|
1501 |
*
|
1502 |
* @uses esc_attr()
|
1503 |
* @uses apply_filters() To call the 'bp_activity_thumbnail_content_images' hook
|
1504 |
*
|
1505 |
* @return string $content The content with images stripped and replaced with a single thumb.
|
1506 |
*/
|
1507 |
+
function bp_activity_thumbnail_content_images( $content, $link = false ) {
|
1508 |
|
1509 |
preg_match_all( '/<img[^>]*>/Ui', $content, $matches );
|
1510 |
|
1543 |
}
|
1544 |
}
|
1545 |
|
1546 |
+
return apply_filters( 'bp_activity_thumbnail_content_images', $content, $matches );
|
1547 |
}
|
1548 |
|
1549 |
/**
|
bp-activity/bp-activity-loader.php
CHANGED
@@ -150,17 +150,15 @@ class BP_Activity_Component extends BP_Component {
|
|
150 |
);
|
151 |
|
152 |
// @ mentions
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
);
|
163 |
-
}
|
164 |
|
165 |
// Favorite activity items
|
166 |
$sub_nav[] = array(
|
@@ -230,13 +228,11 @@ class BP_Activity_Component extends BP_Component {
|
|
230 |
$activity_link = trailingslashit( $user_domain . $this->slug );
|
231 |
|
232 |
// Unread message count
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
$title = __( 'Mentions', 'buddypress' );
|
239 |
-
}
|
240 |
}
|
241 |
|
242 |
// Add the "Activity" sub menu
|
@@ -248,14 +244,12 @@ class BP_Activity_Component extends BP_Component {
|
|
248 |
);
|
249 |
|
250 |
// Mentions
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
);
|
258 |
-
}
|
259 |
|
260 |
// Personal
|
261 |
$wp_admin_nav[] = array(
|
150 |
);
|
151 |
|
152 |
// @ mentions
|
153 |
+
$sub_nav[] = array(
|
154 |
+
'name' => __( 'Mentions', 'buddypress' ),
|
155 |
+
'slug' => 'mentions',
|
156 |
+
'parent_url' => $activity_link,
|
157 |
+
'parent_slug' => $this->slug,
|
158 |
+
'screen_function' => 'bp_activity_screen_mentions',
|
159 |
+
'position' => 20,
|
160 |
+
'item_css_id' => 'activity-mentions'
|
161 |
+
);
|
|
|
|
|
162 |
|
163 |
// Favorite activity items
|
164 |
$sub_nav[] = array(
|
228 |
$activity_link = trailingslashit( $user_domain . $this->slug );
|
229 |
|
230 |
// Unread message count
|
231 |
+
$count = bp_get_total_mention_count_for_user( bp_loggedin_user_id() );
|
232 |
+
if ( !empty( $count ) ) {
|
233 |
+
$title = sprintf( __( 'Mentions <span class="count">%s</span>', 'buddypress' ), number_format_i18n( $count ) );
|
234 |
+
} else {
|
235 |
+
$title = __( 'Mentions', 'buddypress' );
|
|
|
|
|
236 |
}
|
237 |
|
238 |
// Add the "Activity" sub menu
|
244 |
);
|
245 |
|
246 |
// Mentions
|
247 |
+
$wp_admin_nav[] = array(
|
248 |
+
'parent' => 'my-account-' . $this->id,
|
249 |
+
'id' => 'my-account-' . $this->id . '-mentions',
|
250 |
+
'title' => $title,
|
251 |
+
'href' => trailingslashit( $activity_link . 'mentions' )
|
252 |
+
);
|
|
|
|
|
253 |
|
254 |
// Personal
|
255 |
$wp_admin_nav[] = array(
|
bp-activity/bp-activity-screens.php
CHANGED
@@ -265,17 +265,11 @@ add_action( 'bp_screens', 'bp_activity_screen_single_activity_permalink' );
|
|
265 |
*/
|
266 |
function bp_activity_screen_notification_settings() {
|
267 |
|
268 |
-
if (
|
269 |
-
|
270 |
-
$mention = 'yes';
|
271 |
-
}
|
272 |
-
}
|
273 |
-
|
274 |
-
if ( ! $reply = bp_get_user_meta( bp_displayed_user_id(), 'notification_activity_new_reply', true ) ) {
|
275 |
-
$reply = 'yes';
|
276 |
-
}
|
277 |
|
278 |
-
|
|
|
279 |
|
280 |
<table class="notification-settings" id="activity-notification-settings">
|
281 |
<thead>
|
@@ -288,15 +282,12 @@ function bp_activity_screen_notification_settings() {
|
|
288 |
</thead>
|
289 |
|
290 |
<tbody>
|
291 |
-
|
292 |
-
<
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
</tr>
|
298 |
-
<?php endif; ?>
|
299 |
-
|
300 |
<tr id="activity-notification-settings-replies">
|
301 |
<td> </td>
|
302 |
<td><?php _e( "A member replies to an update or comment you've posted", 'buddypress' ) ?></td>
|
@@ -318,7 +309,7 @@ add_action( 'bp_notification_settings', 'bp_activity_screen_notification_setting
|
|
318 |
* The main theme compat class for BuddyPress Activity
|
319 |
*
|
320 |
* This class sets up the necessary theme compatability actions to safely output
|
321 |
-
*
|
322 |
*
|
323 |
* @since BuddyPress (1.7)
|
324 |
*/
|
@@ -350,13 +341,11 @@ class BP_Activity_Theme_Compat {
|
|
350 |
|
351 |
do_action( 'bp_activity_screen_index' );
|
352 |
|
353 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'directory_template_hierarchy' ) );
|
354 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
|
355 |
add_filter( 'bp_replace_the_content', array( $this, 'directory_content' ) );
|
356 |
|
357 |
// Single activity
|
358 |
} elseif ( bp_is_single_activity() ) {
|
359 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'single_template_hierarchy' ) );
|
360 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'single_dummy_post' ) );
|
361 |
add_filter( 'bp_replace_the_content', array( $this, 'single_dummy_content' ) );
|
362 |
}
|
@@ -364,29 +353,6 @@ class BP_Activity_Theme_Compat {
|
|
364 |
|
365 |
/** Directory *************************************************************/
|
366 |
|
367 |
-
/**
|
368 |
-
* Add template hierarchy to theme compat for the activity directory page.
|
369 |
-
*
|
370 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
371 |
-
*
|
372 |
-
* @since BuddyPress (1.8)
|
373 |
-
*
|
374 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
375 |
-
* @return array $templates Array of custom templates to look for.
|
376 |
-
*/
|
377 |
-
public function directory_template_hierarchy( $templates ) {
|
378 |
-
// Setup our templates based on priority
|
379 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_activity_directory', array(
|
380 |
-
'activity/index-directory.php'
|
381 |
-
) );
|
382 |
-
|
383 |
-
// Merge new templates with existing stack
|
384 |
-
// @see bp_get_theme_compat_templates()
|
385 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
386 |
-
|
387 |
-
return $templates;
|
388 |
-
}
|
389 |
-
|
390 |
/**
|
391 |
* Update the global $post with directory data
|
392 |
*
|
@@ -417,29 +383,6 @@ class BP_Activity_Theme_Compat {
|
|
417 |
|
418 |
/** Single ****************************************************************/
|
419 |
|
420 |
-
/**
|
421 |
-
* Add custom template hierarchy to theme compat for activity permalink pages.
|
422 |
-
*
|
423 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
424 |
-
*
|
425 |
-
* @since BuddyPress (1.8)
|
426 |
-
*
|
427 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
428 |
-
* @return array $templates Array of custom templates to look for.
|
429 |
-
*/
|
430 |
-
public function single_template_hierarchy( $templates ) {
|
431 |
-
// Setup our templates based on priority
|
432 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_activity_single_item', array(
|
433 |
-
'activity/single/index.php'
|
434 |
-
) );
|
435 |
-
|
436 |
-
// Merge new templates with existing stack
|
437 |
-
// @see bp_get_theme_compat_templates()
|
438 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
439 |
-
|
440 |
-
return $templates;
|
441 |
-
}
|
442 |
-
|
443 |
/**
|
444 |
* Update the global $post with the displayed user's data
|
445 |
*
|
265 |
*/
|
266 |
function bp_activity_screen_notification_settings() {
|
267 |
|
268 |
+
if ( !$mention = bp_get_user_meta( bp_displayed_user_id(), 'notification_activity_new_mention', true ) )
|
269 |
+
$mention = 'yes';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
|
271 |
+
if ( !$reply = bp_get_user_meta( bp_displayed_user_id(), 'notification_activity_new_reply', true ) )
|
272 |
+
$reply = 'yes'; ?>
|
273 |
|
274 |
<table class="notification-settings" id="activity-notification-settings">
|
275 |
<thead>
|
282 |
</thead>
|
283 |
|
284 |
<tbody>
|
285 |
+
<tr id="activity-notification-settings-mentions">
|
286 |
+
<td> </td>
|
287 |
+
<td><?php printf( __( 'A member mentions you in an update using "@%s"', 'buddypress' ), bp_core_get_username( bp_displayed_user_id() ) ) ?></td>
|
288 |
+
<td class="yes"><input type="radio" name="notifications[notification_activity_new_mention]" value="yes" <?php checked( $mention, 'yes', true ) ?>/></td>
|
289 |
+
<td class="no"><input type="radio" name="notifications[notification_activity_new_mention]" value="no" <?php checked( $mention, 'no', true ) ?>/></td>
|
290 |
+
</tr>
|
|
|
|
|
|
|
291 |
<tr id="activity-notification-settings-replies">
|
292 |
<td> </td>
|
293 |
<td><?php _e( "A member replies to an update or comment you've posted", 'buddypress' ) ?></td>
|
309 |
* The main theme compat class for BuddyPress Activity
|
310 |
*
|
311 |
* This class sets up the necessary theme compatability actions to safely output
|
312 |
+
* group template parts to the_title and the_content areas of a theme.
|
313 |
*
|
314 |
* @since BuddyPress (1.7)
|
315 |
*/
|
341 |
|
342 |
do_action( 'bp_activity_screen_index' );
|
343 |
|
|
|
344 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
|
345 |
add_filter( 'bp_replace_the_content', array( $this, 'directory_content' ) );
|
346 |
|
347 |
// Single activity
|
348 |
} elseif ( bp_is_single_activity() ) {
|
|
|
349 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'single_dummy_post' ) );
|
350 |
add_filter( 'bp_replace_the_content', array( $this, 'single_dummy_content' ) );
|
351 |
}
|
353 |
|
354 |
/** Directory *************************************************************/
|
355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
356 |
/**
|
357 |
* Update the global $post with directory data
|
358 |
*
|
383 |
|
384 |
/** Single ****************************************************************/
|
385 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
386 |
/**
|
387 |
* Update the global $post with the displayed user's data
|
388 |
*
|
bp-activity/bp-activity-template.php
CHANGED
@@ -150,7 +150,6 @@ class BP_Activity_Template {
|
|
150 |
'in' => false,
|
151 |
'filter' => false,
|
152 |
'search_terms' => false,
|
153 |
-
'meta_query' => false,
|
154 |
'display_comments' => 'threaded',
|
155 |
'show_hidden' => false,
|
156 |
'spam' => 'ham_only',
|
@@ -173,7 +172,7 @@ class BP_Activity_Template {
|
|
173 |
|
174 |
// Fetch all activity items
|
175 |
else
|
176 |
-
$this->activities = bp_activity_get( array( 'display_comments' => $display_comments, 'max' => $max, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'sort' => $sort, 'search_terms' => $search_terms, '
|
177 |
|
178 |
if ( !$max || $max >= (int) $this->activities['total'] )
|
179 |
$this->total_activity_count = (int) $this->activities['total'];
|
@@ -362,8 +361,6 @@ function bp_has_activities( $args = '' ) {
|
|
362 |
'primary_id' => $primary_id, // object ID to filter on e.g. a group_id or forum_id or blog_id etc.
|
363 |
'secondary_id' => false, // secondary object ID to filter on e.g. a post_id
|
364 |
|
365 |
-
'meta_query' => false, // filter on activity meta. See WP_Meta_Query for format
|
366 |
-
|
367 |
// Searching
|
368 |
'search_terms' => false // specify terms to search on
|
369 |
);
|
@@ -413,17 +410,11 @@ function bp_has_activities( $args = '' ) {
|
|
413 |
if ( empty( $favs ) )
|
414 |
return false;
|
415 |
|
416 |
-
$
|
417 |
$display_comments = true;
|
418 |
-
$user_id = 0;
|
419 |
break;
|
420 |
case 'mentions':
|
421 |
|
422 |
-
// Are mentions disabled?
|
423 |
-
if ( ! bp_activity_do_mentions() ) {
|
424 |
-
return false;
|
425 |
-
}
|
426 |
-
|
427 |
// Start search at @ symbol and stop search at closing tag delimiter.
|
428 |
$search_terms = '@' . bp_core_get_username( $user_id ) . '<';
|
429 |
$display_comments = 'stream';
|
@@ -462,7 +453,6 @@ function bp_has_activities( $args = '' ) {
|
|
462 |
'in' => $in,
|
463 |
'filter' => $filter,
|
464 |
'search_terms' => $search_terms,
|
465 |
-
'meta_query' => $meta_query,
|
466 |
'display_comments' => $display_comments,
|
467 |
'show_hidden' => $show_hidden,
|
468 |
'spam' => $spam
|
@@ -682,7 +672,7 @@ function bp_activities_no_activity() {
|
|
682 |
* @global string $bp_activity_no_activity
|
683 |
* @uses apply_filters() To call the 'bp_get_activities_no_activity' hook
|
684 |
*
|
685 |
-
* @return
|
686 |
*/
|
687 |
function bp_get_activities_no_activity() {
|
688 |
global $bp_activity_no_activity;
|
@@ -1083,14 +1073,14 @@ function bp_activity_secondary_avatar( $args = '' ) {
|
|
1083 |
case 'groups' :
|
1084 |
$object = 'group';
|
1085 |
$item_id = $activities_template->activity->item_id;
|
1086 |
-
$link = '';
|
1087 |
-
$name = '';
|
1088 |
|
1089 |
// Only if groups is active
|
1090 |
if ( bp_is_active( 'groups' ) ) {
|
1091 |
$group = groups_get_group( array( 'group_id' => $item_id ) );
|
1092 |
$link = bp_get_group_permalink( $group );
|
1093 |
$name = $group->name;
|
|
|
|
|
1094 |
}
|
1095 |
|
1096 |
if ( empty( $alt ) ) {
|
@@ -2029,34 +2019,6 @@ function bp_activity_thread_permalink() {
|
|
2029 |
return apply_filters( 'bp_get_activity_thread_permalink', $link );
|
2030 |
}
|
2031 |
|
2032 |
-
/**
|
2033 |
-
* Echoes the activity comment permalink
|
2034 |
-
*
|
2035 |
-
* @since BuddyPress (1.8)
|
2036 |
-
*
|
2037 |
-
* @uses bp_get_activity_permalink_id()
|
2038 |
-
*/
|
2039 |
-
function bp_activity_comment_permalink() {
|
2040 |
-
echo bp_get_activity_comment_permalink();
|
2041 |
-
}
|
2042 |
-
/**
|
2043 |
-
* Gets the activity comment permalink
|
2044 |
-
*
|
2045 |
-
* @since BuddyPress (1.8)
|
2046 |
-
*
|
2047 |
-
* @uses bp_activity_get_permalink()
|
2048 |
-
* @uses apply_filters() To call the 'bp_get_activity_comment_permalink' hook
|
2049 |
-
*
|
2050 |
-
* @return string $link The activity comment permalink
|
2051 |
-
*/
|
2052 |
-
function bp_get_activity_comment_permalink() {
|
2053 |
-
global $activities_template;
|
2054 |
-
|
2055 |
-
$link = bp_activity_get_permalink( $activities_template->activity->id, $activities_template->activity ) . '#acomment-' . $activities_template->activity->current_comment->id;
|
2056 |
-
|
2057 |
-
return apply_filters( 'bp_get_activity_comment_permalink', $link );
|
2058 |
-
}
|
2059 |
-
|
2060 |
/**
|
2061 |
* Echoes the activity favorite link
|
2062 |
*
|
@@ -2433,10 +2395,6 @@ function bp_total_favorite_count_for_user( $user_id = 0 ) {
|
|
2433 |
* @return int The total favorite count for a specified user
|
2434 |
*/
|
2435 |
function bp_get_total_favorite_count_for_user( $user_id = 0 ) {
|
2436 |
-
if ( ! $user_id ) {
|
2437 |
-
$user_id = bp_displayed_user_id();
|
2438 |
-
}
|
2439 |
-
|
2440 |
return apply_filters( 'bp_get_total_favorite_count_for_user', bp_activity_total_favorites_for_user( $user_id ) );
|
2441 |
}
|
2442 |
|
@@ -2450,7 +2408,7 @@ function bp_total_favorite_count_for_user( $user_id = 0 ) {
|
|
2450 |
* @uses bp_get_total_favorite_count_for_user()
|
2451 |
*/
|
2452 |
function bp_total_mention_count_for_user( $user_id = 0 ) {
|
2453 |
-
echo
|
2454 |
}
|
2455 |
|
2456 |
/**
|
@@ -2464,10 +2422,6 @@ function bp_total_mention_count_for_user( $user_id = 0 ) {
|
|
2464 |
* @return int The total mention count for a specified user
|
2465 |
*/
|
2466 |
function bp_get_total_mention_count_for_user( $user_id = 0 ) {
|
2467 |
-
if ( ! $user_id ) {
|
2468 |
-
$user_id = bp_displayed_user_id();
|
2469 |
-
}
|
2470 |
-
|
2471 |
return apply_filters( 'bp_get_total_mention_count_for_user', bp_get_user_meta( $user_id, 'bp_new_mention_count', true ) );
|
2472 |
}
|
2473 |
|
@@ -2504,7 +2458,7 @@ function bp_send_public_message_link() {
|
|
2504 |
if ( bp_is_my_profile() || !is_user_logged_in() )
|
2505 |
return false;
|
2506 |
|
2507 |
-
return apply_filters( 'bp_get_send_public_message_link', wp_nonce_url(
|
2508 |
}
|
2509 |
|
2510 |
/**
|
@@ -2803,7 +2757,7 @@ function bp_activities_member_rss_link() { echo bp_get_member_activity_feed_link
|
|
2803 |
$link = bp_displayed_user_domain() . bp_get_activity_slug() . '/' . bp_get_groups_slug() . '/feed/';
|
2804 |
elseif ( 'favorites' == bp_current_action() )
|
2805 |
$link = bp_displayed_user_domain() . bp_get_activity_slug() . '/favorites/feed/';
|
2806 |
-
elseif ( 'mentions' == bp_current_action()
|
2807 |
$link = bp_displayed_user_domain() . bp_get_activity_slug() . '/mentions/feed/';
|
2808 |
else
|
2809 |
$link = '';
|
150 |
'in' => false,
|
151 |
'filter' => false,
|
152 |
'search_terms' => false,
|
|
|
153 |
'display_comments' => 'threaded',
|
154 |
'show_hidden' => false,
|
155 |
'spam' => 'ham_only',
|
172 |
|
173 |
// Fetch all activity items
|
174 |
else
|
175 |
+
$this->activities = bp_activity_get( array( 'display_comments' => $display_comments, 'max' => $max, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'sort' => $sort, 'search_terms' => $search_terms, 'filter' => $filter, 'show_hidden' => $show_hidden, 'exclude' => $exclude, 'in' => $in, 'spam' => $spam ) );
|
176 |
|
177 |
if ( !$max || $max >= (int) $this->activities['total'] )
|
178 |
$this->total_activity_count = (int) $this->activities['total'];
|
361 |
'primary_id' => $primary_id, // object ID to filter on e.g. a group_id or forum_id or blog_id etc.
|
362 |
'secondary_id' => false, // secondary object ID to filter on e.g. a post_id
|
363 |
|
|
|
|
|
364 |
// Searching
|
365 |
'search_terms' => false // specify terms to search on
|
366 |
);
|
410 |
if ( empty( $favs ) )
|
411 |
return false;
|
412 |
|
413 |
+
$include = implode( ',', (array) $favs );
|
414 |
$display_comments = true;
|
|
|
415 |
break;
|
416 |
case 'mentions':
|
417 |
|
|
|
|
|
|
|
|
|
|
|
418 |
// Start search at @ symbol and stop search at closing tag delimiter.
|
419 |
$search_terms = '@' . bp_core_get_username( $user_id ) . '<';
|
420 |
$display_comments = 'stream';
|
453 |
'in' => $in,
|
454 |
'filter' => $filter,
|
455 |
'search_terms' => $search_terms,
|
|
|
456 |
'display_comments' => $display_comments,
|
457 |
'show_hidden' => $show_hidden,
|
458 |
'spam' => $spam
|
672 |
* @global string $bp_activity_no_activity
|
673 |
* @uses apply_filters() To call the 'bp_get_activities_no_activity' hook
|
674 |
*
|
675 |
+
* @return unknown_type
|
676 |
*/
|
677 |
function bp_get_activities_no_activity() {
|
678 |
global $bp_activity_no_activity;
|
1073 |
case 'groups' :
|
1074 |
$object = 'group';
|
1075 |
$item_id = $activities_template->activity->item_id;
|
|
|
|
|
1076 |
|
1077 |
// Only if groups is active
|
1078 |
if ( bp_is_active( 'groups' ) ) {
|
1079 |
$group = groups_get_group( array( 'group_id' => $item_id ) );
|
1080 |
$link = bp_get_group_permalink( $group );
|
1081 |
$name = $group->name;
|
1082 |
+
} else {
|
1083 |
+
$name = '';
|
1084 |
}
|
1085 |
|
1086 |
if ( empty( $alt ) ) {
|
2019 |
return apply_filters( 'bp_get_activity_thread_permalink', $link );
|
2020 |
}
|
2021 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022 |
/**
|
2023 |
* Echoes the activity favorite link
|
2024 |
*
|
2395 |
* @return int The total favorite count for a specified user
|
2396 |
*/
|
2397 |
function bp_get_total_favorite_count_for_user( $user_id = 0 ) {
|
|
|
|
|
|
|
|
|
2398 |
return apply_filters( 'bp_get_total_favorite_count_for_user', bp_activity_total_favorites_for_user( $user_id ) );
|
2399 |
}
|
2400 |
|
2408 |
* @uses bp_get_total_favorite_count_for_user()
|
2409 |
*/
|
2410 |
function bp_total_mention_count_for_user( $user_id = 0 ) {
|
2411 |
+
echo bp_get_total_favorite_count_for_user( $user_id );
|
2412 |
}
|
2413 |
|
2414 |
/**
|
2422 |
* @return int The total mention count for a specified user
|
2423 |
*/
|
2424 |
function bp_get_total_mention_count_for_user( $user_id = 0 ) {
|
|
|
|
|
|
|
|
|
2425 |
return apply_filters( 'bp_get_total_mention_count_for_user', bp_get_user_meta( $user_id, 'bp_new_mention_count', true ) );
|
2426 |
}
|
2427 |
|
2458 |
if ( bp_is_my_profile() || !is_user_logged_in() )
|
2459 |
return false;
|
2460 |
|
2461 |
+
return apply_filters( 'bp_get_send_public_message_link', wp_nonce_url( bp_loggedin_user_domain() . bp_get_activity_slug() . '/?r=' . bp_core_get_username( bp_displayed_user_id(), bp_get_displayed_user_username(), $bp->displayed_user->userdata->user_login ) ) );
|
2462 |
}
|
2463 |
|
2464 |
/**
|
2757 |
$link = bp_displayed_user_domain() . bp_get_activity_slug() . '/' . bp_get_groups_slug() . '/feed/';
|
2758 |
elseif ( 'favorites' == bp_current_action() )
|
2759 |
$link = bp_displayed_user_domain() . bp_get_activity_slug() . '/favorites/feed/';
|
2760 |
+
elseif ( 'mentions' == bp_current_action() )
|
2761 |
$link = bp_displayed_user_domain() . bp_get_activity_slug() . '/mentions/feed/';
|
2762 |
else
|
2763 |
$link = '';
|
bp-activity/feeds/bp-activity-favorites-feed.php
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* RSS2 Feed Template for displaying a member's favorite activity
|
5 |
+
*
|
6 |
+
* @package BuddyPress
|
7 |
+
* @subpackage ActivityFeeds
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
+
|
13 |
+
header('Content-Type: text/xml; charset=' . get_option( 'blog_charset' ), true );
|
14 |
+
header('Status: 200 OK');
|
15 |
+
echo '<?xml version="1.0" encoding="' . get_option( 'blog_charset' ) . '"?'.'>'; ?>
|
16 |
+
|
17 |
+
<rss version="2.0"
|
18 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
19 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
20 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
21 |
+
xmlns:atom="http://www.w3.org/2005/Atom"
|
22 |
+
<?php do_action('bp_activity_favorites_feed'); ?>
|
23 |
+
>
|
24 |
+
|
25 |
+
<channel>
|
26 |
+
<?php /* translators: Favorited activity RSS title - "[Site Name] | [Displayed User Name] | Favorite Activity" */ ?>
|
27 |
+
<title><?php printf( '%1$s | %2$s | %3$s', bp_get_site_name(), bp_get_displayed_user_fullname(), __( 'Favorite Activity', 'buddypress' ) ) ?></title>
|
28 |
+
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
29 |
+
<link><?php echo home_url( bp_get_activity_root_slug() . '/#my-favorites/' ) ?></link>
|
30 |
+
<description><?php printf( __( '%s - Favorite Activity', 'buddypress' ), bp_get_displayed_user_fullname() ) ?></description>
|
31 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_activity_get_last_updated(), false); ?></pubDate>
|
32 |
+
<generator>http://buddypress.org/?v=<?php echo BP_VERSION ?></generator>
|
33 |
+
<language><?php bloginfo_rss( 'language' ); ?></language>
|
34 |
+
|
35 |
+
<?php do_action('bp_activity_favorites_feed_head'); ?>
|
36 |
+
|
37 |
+
<?php
|
38 |
+
$favs = bp_activity_get_user_favorites( bp_displayed_user_id() );
|
39 |
+
$fav_ids = implode( ',', (array) $favs );
|
40 |
+
?>
|
41 |
+
|
42 |
+
<?php if ( bp_has_activities( 'include=' . $fav_ids . '&max=50&display_comments=stream' ) ) : ?>
|
43 |
+
<?php while ( bp_activities() ) : bp_the_activity(); ?>
|
44 |
+
|
45 |
+
<item>
|
46 |
+
<guid><?php bp_activity_thread_permalink() ?></guid>
|
47 |
+
<title><?php bp_activity_feed_item_title() ?></title>
|
48 |
+
<link><?php echo bp_activity_thread_permalink() ?></link>
|
49 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false); ?></pubDate>
|
50 |
+
|
51 |
+
<description>
|
52 |
+
<![CDATA[
|
53 |
+
<?php bp_activity_feed_item_description() ?>
|
54 |
+
|
55 |
+
<?php if ( bp_activity_can_comment() ) : ?>
|
56 |
+
<p><?php printf( __( 'Comments: %s', 'buddypress' ), bp_activity_get_comment_count() ); ?></p>
|
57 |
+
<?php endif; ?>
|
58 |
+
|
59 |
+
<?php if ( 'activity_comment' == bp_get_activity_action_name() ) : ?>
|
60 |
+
<br /><strong><?php _e( 'In reply to', 'buddypress' ) ?></strong> -
|
61 |
+
<?php bp_activity_parent_content() ?>
|
62 |
+
<?php endif; ?>
|
63 |
+
]]>
|
64 |
+
</description>
|
65 |
+
|
66 |
+
<?php do_action('bp_activity_favorites_feed_item'); ?>
|
67 |
+
|
68 |
+
</item>
|
69 |
+
|
70 |
+
<?php endwhile; ?>
|
71 |
+
<?php endif; ?>
|
72 |
+
|
73 |
+
</channel>
|
74 |
+
</rss>
|
bp-activity/feeds/bp-activity-friends-feed.php
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* RSS2 Feed Template for displaying a member's friends activity stream.
|
5 |
+
*
|
6 |
+
* @package BuddyPress
|
7 |
+
* @subpackage ActivityFeeds
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
+
|
13 |
+
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
14 |
+
header('Status: 200 OK');
|
15 |
+
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
16 |
+
|
17 |
+
<rss version="2.0"
|
18 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
19 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
20 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
21 |
+
xmlns:atom="http://www.w3.org/2005/Atom"
|
22 |
+
<?php do_action('bp_activity_friends_feed'); ?>
|
23 |
+
>
|
24 |
+
|
25 |
+
<channel>
|
26 |
+
<?php /* translators: Member friends activity RSS title - "[Site Name] | Friends Activity" */ ?>
|
27 |
+
<title><?php bp_site_name() ?> | <?php bp_displayed_user_fullname(); ?> | <?php _e( 'Friends Activity', 'buddypress' ); ?></title>
|
28 |
+
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
29 |
+
<link><?php echo bp_displayed_user_domain() . bp_get_activity_slug() . '/' . bp_get_friends_slug() . '/feed'; ?></link>
|
30 |
+
<description><?php printf( __( '%s - Friends Activity Feed', 'buddypress' ), bp_get_displayed_user_fullname() ); ?></description>
|
31 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_activity_get_last_updated(), false); ?></pubDate>
|
32 |
+
<generator>http://buddypress.org/?v=<?php echo BP_VERSION; ?></generator>
|
33 |
+
<language><?php bloginfo_rss( 'language' ); ?></language>
|
34 |
+
<?php do_action('bp_activity_friends_feed_head'); ?>
|
35 |
+
|
36 |
+
<?php if ( bp_has_activities( 'scope=friends&max=50&display_comments=stream' ) ) : ?>
|
37 |
+
<?php while ( bp_activities() ) : bp_the_activity(); ?>
|
38 |
+
<item>
|
39 |
+
<guid><?php bp_activity_thread_permalink(); ?></guid>
|
40 |
+
<title><?php bp_activity_feed_item_title(); ?></title>
|
41 |
+
<link><?php echo bp_activity_thread_permalink(); ?></link>
|
42 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false); ?></pubDate>
|
43 |
+
|
44 |
+
<description>
|
45 |
+
<![CDATA[
|
46 |
+
<?php bp_activity_feed_item_description(); ?>
|
47 |
+
|
48 |
+
<?php if ( bp_activity_can_comment() ) : ?>
|
49 |
+
<p><?php printf( __( 'Comments: %s', 'buddypress' ), bp_activity_get_comment_count() ); ?></p>
|
50 |
+
<?php endif; ?>
|
51 |
+
|
52 |
+
<?php if ( 'activity_comment' == bp_get_activity_action_name() ) : ?>
|
53 |
+
<br /><strong><?php _e( 'In reply to', 'buddypress' ); ?></strong> -
|
54 |
+
<?php bp_activity_parent_content(); ?>
|
55 |
+
<?php endif; ?>
|
56 |
+
]]>
|
57 |
+
</description>
|
58 |
+
<?php do_action('bp_activity_personal_feed_item'); ?>
|
59 |
+
</item>
|
60 |
+
<?php endwhile; ?>
|
61 |
+
|
62 |
+
<?php endif; ?>
|
63 |
+
</channel>
|
64 |
+
</rss>
|
bp-activity/feeds/bp-activity-group-feed.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* RSS2 Feed Template for displaying a group activity stream
|
5 |
+
*
|
6 |
+
* @package BuddyPress
|
7 |
+
* @subpackage ActivityFeeds
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
+
|
13 |
+
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
14 |
+
header('Status: 200 OK');
|
15 |
+
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
16 |
+
|
17 |
+
<rss version="2.0"
|
18 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
19 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
20 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
21 |
+
xmlns:atom="http://www.w3.org/2005/Atom"
|
22 |
+
<?php do_action('bp_activity_group_feed'); ?>
|
23 |
+
>
|
24 |
+
|
25 |
+
<channel>
|
26 |
+
<?php /* translators: Single group activity RSS title - "[Site Name] | [Group Name] | Group Activity" */ ?>
|
27 |
+
<title><?php printf( '%1$s | %2$s | %3$s', bp_get_site_name(), bp_get_current_group_name(), __( 'Group Activity', 'buddypress' ) ) ?></title>
|
28 |
+
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
29 |
+
<link><?php echo bp_get_group_permalink( $bp->groups->current_group ) . bp_get_activity_slug() . '/feed' ?></link>
|
30 |
+
<description><?php printf( __( '%s - Group Activity Feed', 'buddypress' ), $bp->groups->current_group->name ) ?></description>
|
31 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_activity_get_last_updated(), false); ?></pubDate>
|
32 |
+
<generator>http://buddypress.org/?v=<?php echo BP_VERSION ?></generator>
|
33 |
+
<language><?php bloginfo_rss( 'language' ); ?></language>
|
34 |
+
<?php do_action('bp_activity_group_feed_head'); ?>
|
35 |
+
|
36 |
+
<?php if ( bp_has_activities( 'object=' . $bp->groups->id . '&primary_id=' . $bp->groups->current_group->id . '&max=50&display_comments=threaded' ) ) : ?>
|
37 |
+
<?php while ( bp_activities() ) : bp_the_activity(); ?>
|
38 |
+
<item>
|
39 |
+
<guid><?php bp_activity_thread_permalink() ?></guid>
|
40 |
+
<title><?php bp_activity_feed_item_title() ?></title>
|
41 |
+
<link><?php echo bp_activity_thread_permalink() ?></link>
|
42 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false); ?></pubDate>
|
43 |
+
|
44 |
+
<description>
|
45 |
+
<![CDATA[
|
46 |
+
<?php bp_activity_feed_item_description() ?>
|
47 |
+
|
48 |
+
<?php if ( bp_activity_can_comment() ) : ?>
|
49 |
+
<p><?php printf( __( 'Comments: %s', 'buddypress' ), bp_activity_get_comment_count() ); ?></p>
|
50 |
+
<?php endif; ?>
|
51 |
+
]]>
|
52 |
+
</description>
|
53 |
+
<?php do_action('bp_activity_group_feed_item'); ?>
|
54 |
+
</item>
|
55 |
+
<?php endwhile; ?>
|
56 |
+
|
57 |
+
<?php endif; ?>
|
58 |
+
</channel>
|
59 |
+
</rss>
|
bp-activity/feeds/bp-activity-mentions-feed.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* RSS2 Feed Template for displaying a member's activity mentions
|
5 |
+
*
|
6 |
+
* @package BuddyPress
|
7 |
+
* @subpackage ActivityFeeds
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
+
|
13 |
+
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
14 |
+
header('Status: 200 OK');
|
15 |
+
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
16 |
+
|
17 |
+
<rss version="2.0"
|
18 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
19 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
20 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
21 |
+
xmlns:atom="http://www.w3.org/2005/Atom"
|
22 |
+
<?php do_action('bp_activity_mentions_feed'); ?>
|
23 |
+
>
|
24 |
+
|
25 |
+
<channel>
|
26 |
+
<?php /* translators: Mentions RSS title - "[Site Name] | [Displayed User Name] | Mentions" */ ?>
|
27 |
+
<title><?php printf( '%1$s | %2$s | %3$s', bp_get_site_name(), bp_get_displayed_user_fullname(), __( 'Mentions', 'buddypress' ) ) ?></title>
|
28 |
+
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
29 |
+
<link><?php echo home_url( bp_get_activity_root_slug() . '/#mentions/' ) ?></link>
|
30 |
+
<?php /* translators: Mentions RSS title - "[Site Name] | [Displayed User Name] | Mentions" */ ?>
|
31 |
+
<description><?php printf( __( '%s - Mentions', 'buddypress' ), bp_get_displayed_user_fullname() ) ?></description>
|
32 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_activity_get_last_updated(), false); ?></pubDate>
|
33 |
+
<generator>http://buddypress.org/?v=<?php echo BP_VERSION ?></generator>
|
34 |
+
<language><?php bloginfo_rss( 'language' ); ?></language>
|
35 |
+
<?php do_action('bp_activity_mentions_feed_head'); ?>
|
36 |
+
|
37 |
+
<?php if ( bp_has_activities( 'max=50&display_comments=stream&search_terms=@' . bp_core_get_username( bp_displayed_user_id() ) ) ) : ?>
|
38 |
+
<?php while ( bp_activities() ) : bp_the_activity(); ?>
|
39 |
+
<item>
|
40 |
+
<guid><?php bp_activity_thread_permalink() ?></guid>
|
41 |
+
<title><?php bp_activity_feed_item_title() ?></title>
|
42 |
+
<link><?php echo bp_activity_thread_permalink() ?></link>
|
43 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false); ?></pubDate>
|
44 |
+
|
45 |
+
<description>
|
46 |
+
<![CDATA[
|
47 |
+
<?php bp_activity_feed_item_description() ?>
|
48 |
+
|
49 |
+
<?php if ( bp_activity_can_comment() ) : ?>
|
50 |
+
<p><?php printf( __( 'Comments: %s', 'buddypress' ), bp_activity_get_comment_count() ); ?></p>
|
51 |
+
<?php endif; ?>
|
52 |
+
|
53 |
+
<?php if ( 'activity_comment' == bp_get_activity_action_name() ) : ?>
|
54 |
+
<br /><strong><?php _e( 'In reply to', 'buddypress' ) ?></strong> -
|
55 |
+
<?php bp_activity_parent_content() ?>
|
56 |
+
<?php endif; ?>
|
57 |
+
]]>
|
58 |
+
</description>
|
59 |
+
<?php do_action('bp_activity_mentions_feed_item'); ?>
|
60 |
+
</item>
|
61 |
+
<?php endwhile; ?>
|
62 |
+
|
63 |
+
<?php endif; ?>
|
64 |
+
</channel>
|
65 |
+
</rss>
|
bp-activity/feeds/bp-activity-mygroups-feed.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* RSS2 Feed Template for displaying a member's group's activity
|
5 |
+
*
|
6 |
+
* @package BuddyPress
|
7 |
+
* @subpackage ActivityFeeds
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
+
|
13 |
+
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
14 |
+
header('Status: 200 OK');
|
15 |
+
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
16 |
+
|
17 |
+
<rss version="2.0"
|
18 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
19 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
20 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
21 |
+
xmlns:atom="http://www.w3.org/2005/Atom"
|
22 |
+
<?php do_action('bp_activity_mygroups_feed'); ?>
|
23 |
+
>
|
24 |
+
|
25 |
+
<channel>
|
26 |
+
<?php /* translators: Member groups activity RSS title - "[Site Name] | [Displayed User Name] | My Groups - Public Activity" */ ?>
|
27 |
+
<title><?php printf( '%1$s | %2$s | %3$s', bp_get_site_name(), bp_get_displayed_user_fullname(), __( 'My Groups - Public Activity', 'buddypress' ) ) ?></title>
|
28 |
+
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
29 |
+
<link><?php echo home_url( bp_get_activity_root_slug() . '/#my-groups/' ) ?></link>
|
30 |
+
<?php /* translators: Member groups activity RSS description - "[Displayed user name] - My Groups - Public Activity" */ ?>
|
31 |
+
<description><?php printf( __( '%1$s - My Groups - Public Activity', 'buddypress' ), bp_get_displayed_user_fullname() ) ?></description>
|
32 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_activity_get_last_updated(), false); ?></pubDate>
|
33 |
+
<generator>http://buddypress.org/?v=<?php echo BP_VERSION ?></generator>
|
34 |
+
<language><?php bloginfo_rss( 'language' ); ?></language>
|
35 |
+
<?php do_action('bp_activity_mygroups_feed_head'); ?>
|
36 |
+
|
37 |
+
<?php
|
38 |
+
$groups = groups_get_user_groups( bp_loggedin_user_id() );
|
39 |
+
$group_ids = implode( ',', $groups['groups'] );
|
40 |
+
?>
|
41 |
+
|
42 |
+
<?php if ( bp_has_activities( 'object=' . $bp->groups->id . '&primary_id=' . $group_ids . '&max=50&display_comments=threaded' ) ) : ?>
|
43 |
+
<?php while ( bp_activities() ) : bp_the_activity(); ?>
|
44 |
+
<item>
|
45 |
+
<guid><?php bp_activity_thread_permalink() ?></guid>
|
46 |
+
<title><?php bp_activity_feed_item_title() ?></title>
|
47 |
+
<link><?php echo bp_activity_thread_permalink() ?></link>
|
48 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false); ?></pubDate>
|
49 |
+
|
50 |
+
<description>
|
51 |
+
<![CDATA[
|
52 |
+
<?php bp_activity_feed_item_description() ?>
|
53 |
+
|
54 |
+
<?php if ( bp_activity_can_comment() ) : ?>
|
55 |
+
<p><?php printf( __( 'Comments: %s', 'buddypress' ), bp_activity_get_comment_count() ); ?></p>
|
56 |
+
<?php endif; ?>
|
57 |
+
]]>
|
58 |
+
</description>
|
59 |
+
<?php do_action('bp_activity_mygroups_feed_item'); ?>
|
60 |
+
</item>
|
61 |
+
<?php endwhile; ?>
|
62 |
+
|
63 |
+
<?php endif; ?>
|
64 |
+
</channel>
|
65 |
+
</rss>
|
bp-activity/feeds/bp-activity-personal-feed.php
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* RSS2 Feed Template for displaying a member's activity stream.
|
5 |
+
*
|
6 |
+
* @package BuddyPress
|
7 |
+
* @subpackage ActivityFeeds
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
+
|
13 |
+
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
14 |
+
header('Status: 200 OK');
|
15 |
+
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
16 |
+
|
17 |
+
<rss version="2.0"
|
18 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
19 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
20 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
21 |
+
xmlns:atom="http://www.w3.org/2005/Atom"
|
22 |
+
<?php do_action('bp_activity_personal_feed'); ?>
|
23 |
+
>
|
24 |
+
|
25 |
+
<channel>
|
26 |
+
<?php /* translators: Personal activity RSS title - "[Site Name] | [Displayed User Name] | Activity" */ ?>
|
27 |
+
<title><?php printf( '%1$s | %2$s | %3$s', bp_get_site_name(), bp_get_displayed_user_fullname(), __( 'Activity', 'buddypress' ) ) ?></title>
|
28 |
+
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
29 |
+
<link><?php echo bp_displayed_user_domain() . bp_get_activity_slug() . '/feed' ?></link>
|
30 |
+
<description><?php printf( __( '%s - Activity Feed', 'buddypress' ), bp_get_displayed_user_fullname() ) ?></description>
|
31 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_activity_get_last_updated(), false); ?></pubDate>
|
32 |
+
<generator>http://buddypress.org/?v=<?php echo BP_VERSION ?></generator>
|
33 |
+
<language><?php bloginfo_rss( 'language' ); ?></language>
|
34 |
+
<?php do_action('bp_activity_personal_feed_head'); ?>
|
35 |
+
|
36 |
+
<?php if ( bp_has_activities( 'user_id=' . bp_displayed_user_id() . '&max=50&display_comments=stream' ) ) : ?>
|
37 |
+
<?php while ( bp_activities() ) : bp_the_activity(); ?>
|
38 |
+
<item>
|
39 |
+
<guid><?php bp_activity_thread_permalink() ?></guid>
|
40 |
+
<title><?php bp_activity_feed_item_title() ?></title>
|
41 |
+
<link><?php echo bp_activity_thread_permalink() ?></link>
|
42 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false); ?></pubDate>
|
43 |
+
|
44 |
+
<description>
|
45 |
+
<![CDATA[
|
46 |
+
<?php bp_activity_feed_item_description() ?>
|
47 |
+
|
48 |
+
<?php if ( bp_activity_can_comment() ) : ?>
|
49 |
+
<p><?php printf( __( 'Comments: %s', 'buddypress' ), bp_activity_get_comment_count() ); ?></p>
|
50 |
+
<?php endif; ?>
|
51 |
+
|
52 |
+
<?php if ( 'activity_comment' == bp_get_activity_action_name() ) : ?>
|
53 |
+
<br /><strong><?php _e( 'In reply to', 'buddypress' ) ?></strong> -
|
54 |
+
<?php bp_activity_parent_content() ?>
|
55 |
+
<?php endif; ?>
|
56 |
+
]]>
|
57 |
+
</description>
|
58 |
+
<?php do_action('bp_activity_personal_feed_item'); ?>
|
59 |
+
</item>
|
60 |
+
<?php endwhile; ?>
|
61 |
+
|
62 |
+
<?php endif; ?>
|
63 |
+
</channel>
|
64 |
+
</rss>
|
bp-activity/feeds/bp-activity-sitewide-feed.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* RSS2 Feed Template for displaying the site wide activity stream.
|
5 |
+
*
|
6 |
+
* @package BuddyPress
|
7 |
+
* @subpackage ActivityFeeds
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
12 |
+
|
13 |
+
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
|
14 |
+
header('Status: 200 OK');
|
15 |
+
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
16 |
+
|
17 |
+
<rss version="2.0"
|
18 |
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
19 |
+
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
20 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
21 |
+
xmlns:atom="http://www.w3.org/2005/Atom"
|
22 |
+
<?php do_action('bp_activity_sitewide_feed'); ?>
|
23 |
+
>
|
24 |
+
|
25 |
+
<channel>
|
26 |
+
<?php /* translators: Sitewide activity RSS title - "[Site Name] | Site Wide Activity" */ ?>
|
27 |
+
<title><?php printf( '%1$s | %2$s', bp_get_site_name(), __( 'Site Wide Activity', 'buddypress' ) ) ?></title>
|
28 |
+
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
29 |
+
<link><?php echo bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/feed' ?></link>
|
30 |
+
<description><?php _e( 'Site Wide Activity Feed', 'buddypress' ) ?></description>
|
31 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_activity_get_last_updated(), false); ?></pubDate>
|
32 |
+
<generator>http://buddypress.org/?v=<?php echo BP_VERSION ?></generator>
|
33 |
+
<language><?php bloginfo_rss( 'language' ); ?></language>
|
34 |
+
<?php do_action('bp_activity_sitewide_feed_head'); ?>
|
35 |
+
|
36 |
+
<?php if ( bp_has_activities( 'type=sitewide&max=50&display_comments=threaded' ) ) : ?>
|
37 |
+
<?php while ( bp_activities() ) : bp_the_activity(); ?>
|
38 |
+
<item>
|
39 |
+
<guid><?php bp_activity_thread_permalink() ?></guid>
|
40 |
+
<title><?php bp_activity_feed_item_title() ?></title>
|
41 |
+
<link><?php bp_activity_thread_permalink() ?></link>
|
42 |
+
<pubDate><?php echo mysql2date('D, d M Y H:i:s O', bp_get_activity_feed_item_date(), false); ?></pubDate>
|
43 |
+
|
44 |
+
<description>
|
45 |
+
<![CDATA[
|
46 |
+
<?php bp_activity_feed_item_description() ?>
|
47 |
+
|
48 |
+
<?php if ( bp_activity_can_comment() ) : ?>
|
49 |
+
<p><?php printf( __( 'Comments: %s', 'buddypress' ), bp_activity_get_comment_count() ); ?></p>
|
50 |
+
<?php endif; ?>
|
51 |
+
]]>
|
52 |
+
</description>
|
53 |
+
<?php do_action('bp_activity_personal_feed_item'); ?>
|
54 |
+
</item>
|
55 |
+
<?php endwhile; ?>
|
56 |
+
|
57 |
+
<?php endif; ?>
|
58 |
+
</channel>
|
59 |
+
</rss>
|
bp-blogs/bp-blogs-actions.php
CHANGED
@@ -26,7 +26,7 @@ function bp_blogs_redirect_to_random_blog() {
|
|
26 |
// Multisite is active so find a random blog
|
27 |
if ( is_multisite() ) {
|
28 |
$blog = bp_blogs_get_random_blogs( 1, 1 );
|
29 |
-
bp_core_redirect(
|
30 |
|
31 |
// No multisite and still called, always redirect to root
|
32 |
} else {
|
26 |
// Multisite is active so find a random blog
|
27 |
if ( is_multisite() ) {
|
28 |
$blog = bp_blogs_get_random_blogs( 1, 1 );
|
29 |
+
bp_core_redirect( get_site_url( $blog['blogs'][0]->blog_id ) );
|
30 |
|
31 |
// No multisite and still called, always redirect to root
|
32 |
} else {
|
bp-blogs/bp-blogs-activity.php
CHANGED
@@ -73,7 +73,7 @@ function bp_blogs_record_activity( $args = '' ) {
|
|
73 |
|
74 |
// Remove large images and replace them with just one image thumbnail
|
75 |
if ( !empty( $content ) )
|
76 |
-
$content = bp_activity_thumbnail_content_images( $content, $primary_link
|
77 |
|
78 |
if ( !empty( $action ) )
|
79 |
$action = apply_filters( 'bp_blogs_record_activity_action', $action );
|
@@ -101,6 +101,7 @@ function bp_blogs_record_activity( $args = '' ) {
|
|
101 |
* @subpackage BlogsActivity
|
102 |
* @global BuddyPress $bp
|
103 |
* @param array $args
|
|
|
104 |
*/
|
105 |
function bp_blogs_delete_activity( $args = true ) {
|
106 |
global $bp;
|
73 |
|
74 |
// Remove large images and replace them with just one image thumbnail
|
75 |
if ( !empty( $content ) )
|
76 |
+
$content = bp_activity_thumbnail_content_images( $content, $primary_link );
|
77 |
|
78 |
if ( !empty( $action ) )
|
79 |
$action = apply_filters( 'bp_blogs_record_activity_action', $action );
|
101 |
* @subpackage BlogsActivity
|
102 |
* @global BuddyPress $bp
|
103 |
* @param array $args
|
104 |
+
* @return If activity is not active
|
105 |
*/
|
106 |
function bp_blogs_delete_activity( $args = true ) {
|
107 |
global $bp;
|
bp-blogs/bp-blogs-cache.php
CHANGED
@@ -33,7 +33,7 @@ function bp_blogs_clear_blog_object_cache( $blog_id, $user_id ) {
|
|
33 |
* @since BuddyPress (1.0)
|
34 |
* @package BuddyPress
|
35 |
* @subpackage BlogsCache
|
36 |
-
* @param
|
37 |
*/
|
38 |
function bp_blogs_format_clear_blog_cache( $recorded_blog_obj ) {
|
39 |
bp_blogs_clear_blog_object_cache( false, $recorded_blog_obj->user_id );
|
33 |
* @since BuddyPress (1.0)
|
34 |
* @package BuddyPress
|
35 |
* @subpackage BlogsCache
|
36 |
+
* @param Blog $recorded_blog_obj
|
37 |
*/
|
38 |
function bp_blogs_format_clear_blog_cache( $recorded_blog_obj ) {
|
39 |
bp_blogs_clear_blog_object_cache( false, $recorded_blog_obj->user_id );
|
bp-blogs/bp-blogs-functions.php
CHANGED
@@ -49,21 +49,21 @@ function bp_blogs_record_existing_blogs() {
|
|
49 |
$wpdb->query( "TRUNCATE TABLE {$bp->blogs->table_name}" );
|
50 |
|
51 |
if ( is_multisite() ) {
|
52 |
-
$blog_ids = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM {$wpdb->base_prefix}blogs WHERE mature = 0 AND spam = 0 AND deleted = 0 AND site_id = %d", $wpdb->siteid )
|
53 |
} else {
|
54 |
$blog_ids = 1;
|
55 |
}
|
56 |
|
57 |
if ( !empty( $blog_ids ) ) {
|
58 |
foreach( (array) $blog_ids as $blog_id ) {
|
59 |
-
$users = get_users( array( 'blog_id' => $blog_id
|
60 |
-
$subscribers = get_users( array( 'blog_id' => $blog_id, '
|
61 |
|
62 |
if ( !empty( $users ) ) {
|
63 |
foreach ( (array) $users as $user ) {
|
64 |
// Don't record blogs for subscribers
|
65 |
if ( !in_array( $user, $subscribers ) ) {
|
66 |
-
bp_blogs_record_blog( $blog_id, $user, true );
|
67 |
}
|
68 |
}
|
69 |
}
|
@@ -76,7 +76,7 @@ function bp_blogs_record_existing_blogs() {
|
|
76 |
*
|
77 |
* If $user_id is provided, you can restrict site from being recordable
|
78 |
* only to particular users.
|
79 |
-
*
|
80 |
* @since BuddyPress (1.7)
|
81 |
* @param int $blog_id
|
82 |
* @param int|null $user_id
|
@@ -104,7 +104,7 @@ function bp_blogs_is_blog_recordable( $blog_id, $user_id = 0 ) {
|
|
104 |
* Makes BuddyPress aware of sites that activities shouldn't be trackable.
|
105 |
* If $user_id is provided, the developer can restrict site from
|
106 |
* being trackable only to particular users.
|
107 |
-
*
|
108 |
* @since BuddyPress (1.7)
|
109 |
* @param int $blog_id
|
110 |
* @param int|null $user_id
|
@@ -135,7 +135,7 @@ function bp_blogs_is_blog_trackable( $blog_id, $user_id = 0 ) {
|
|
135 |
* @since BuddyPress (1.0)
|
136 |
* @param int $blog_id
|
137 |
* @param int $user_id
|
138 |
-
* @param bool $no_activity
|
139 |
* @uses BP_Blogs_Blog
|
140 |
*/
|
141 |
function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
|
@@ -172,8 +172,8 @@ function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
|
|
172 |
// Record this in activity streams
|
173 |
bp_blogs_record_activity( array(
|
174 |
'user_id' => $recorded_blog->user_id,
|
175 |
-
'action' => apply_filters( 'bp_blogs_activity_created_blog_action', sprintf( __( '%s created the site %s', 'buddypress'), bp_core_get_userlink( $recorded_blog->user_id ), '<a href="' .
|
176 |
-
'primary_link' => apply_filters( 'bp_blogs_activity_created_blog_primary_link',
|
177 |
'type' => 'new_blog',
|
178 |
'item_id' => $recorded_blog->blog_id
|
179 |
) );
|
@@ -257,6 +257,7 @@ function bp_blogs_record_post( $post_id, $post, $user_id = 0 ) {
|
|
257 |
if ( bp_is_active( 'activity' ) ) {
|
258 |
$existing = bp_activity_get( array(
|
259 |
'filter' => array(
|
|
|
260 |
'action' => 'new_blog_post',
|
261 |
'primary_id' => $blog_id,
|
262 |
'secondary_id' => $post_id,
|
49 |
$wpdb->query( "TRUNCATE TABLE {$bp->blogs->table_name}" );
|
50 |
|
51 |
if ( is_multisite() ) {
|
52 |
+
$blog_ids = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM {$wpdb->base_prefix}blogs WHERE mature = 0 AND spam = 0 AND deleted = 0 AND site_id = %d" ), $wpdb->siteid );
|
53 |
} else {
|
54 |
$blog_ids = 1;
|
55 |
}
|
56 |
|
57 |
if ( !empty( $blog_ids ) ) {
|
58 |
foreach( (array) $blog_ids as $blog_id ) {
|
59 |
+
$users = get_users( array( 'blog_id' => $blog_id ) );
|
60 |
+
$subscribers = get_users( array( 'blog_id' => $blog_id, 'role' => 'subscriber' ) );
|
61 |
|
62 |
if ( !empty( $users ) ) {
|
63 |
foreach ( (array) $users as $user ) {
|
64 |
// Don't record blogs for subscribers
|
65 |
if ( !in_array( $user, $subscribers ) ) {
|
66 |
+
bp_blogs_record_blog( $blog_id, $user->ID, true );
|
67 |
}
|
68 |
}
|
69 |
}
|
76 |
*
|
77 |
* If $user_id is provided, you can restrict site from being recordable
|
78 |
* only to particular users.
|
79 |
+
*
|
80 |
* @since BuddyPress (1.7)
|
81 |
* @param int $blog_id
|
82 |
* @param int|null $user_id
|
104 |
* Makes BuddyPress aware of sites that activities shouldn't be trackable.
|
105 |
* If $user_id is provided, the developer can restrict site from
|
106 |
* being trackable only to particular users.
|
107 |
+
*
|
108 |
* @since BuddyPress (1.7)
|
109 |
* @param int $blog_id
|
110 |
* @param int|null $user_id
|
135 |
* @since BuddyPress (1.0)
|
136 |
* @param int $blog_id
|
137 |
* @param int $user_id
|
138 |
+
* @param $bool $no_activity ; optional.
|
139 |
* @uses BP_Blogs_Blog
|
140 |
*/
|
141 |
function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
|
172 |
// Record this in activity streams
|
173 |
bp_blogs_record_activity( array(
|
174 |
'user_id' => $recorded_blog->user_id,
|
175 |
+
'action' => apply_filters( 'bp_blogs_activity_created_blog_action', sprintf( __( '%s created the site %s', 'buddypress'), bp_core_get_userlink( $recorded_blog->user_id ), '<a href="' . get_site_url( $recorded_blog->blog_id ) . '">' . esc_attr( $name ) . '</a>' ), $recorded_blog, $name, $description ),
|
176 |
+
'primary_link' => apply_filters( 'bp_blogs_activity_created_blog_primary_link', get_site_url( $recorded_blog->blog_id ), $recorded_blog->blog_id ),
|
177 |
'type' => 'new_blog',
|
178 |
'item_id' => $recorded_blog->blog_id
|
179 |
) );
|
257 |
if ( bp_is_active( 'activity' ) ) {
|
258 |
$existing = bp_activity_get( array(
|
259 |
'filter' => array(
|
260 |
+
'user_id' => (int) $post->post_author,
|
261 |
'action' => 'new_blog_post',
|
262 |
'primary_id' => $blog_id,
|
263 |
'secondary_id' => $post_id,
|
bp-blogs/bp-blogs-loader.php
CHANGED
@@ -180,15 +180,6 @@ class BP_Blogs_Component extends BP_Component {
|
|
180 |
'href' => trailingslashit( $blogs_link )
|
181 |
);
|
182 |
|
183 |
-
// Create a Blog
|
184 |
-
if ( bp_blog_signup_enabled() ) {
|
185 |
-
$wp_admin_nav[] = array(
|
186 |
-
'parent' => 'my-account-' . $this->id,
|
187 |
-
'id' => 'my-account-' . $this->id . '-create',
|
188 |
-
'title' => __( 'Create a Blog', 'buddypress' ),
|
189 |
-
'href' => trailingslashit( bp_get_blogs_directory_permalink() . 'create' )
|
190 |
-
);
|
191 |
-
}
|
192 |
}
|
193 |
|
194 |
parent::setup_admin_bar( $wp_admin_nav );
|
180 |
'href' => trailingslashit( $blogs_link )
|
181 |
);
|
182 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
}
|
184 |
|
185 |
parent::setup_admin_bar( $wp_admin_nav );
|
bp-blogs/bp-blogs-screens.php
CHANGED
@@ -86,13 +86,11 @@ class BP_Blogs_Theme_Compat {
|
|
86 |
|
87 |
do_action( 'bp_blogs_screen_index' );
|
88 |
|
89 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'directory_template_hierarchy' ) );
|
90 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
|
91 |
add_filter( 'bp_replace_the_content', array( $this, 'directory_content' ) );
|
92 |
|
93 |
// Create blog
|
94 |
} elseif ( is_user_logged_in() && bp_blog_signup_enabled() ) {
|
95 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'create_template_hierarchy' ) );
|
96 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'create_dummy_post' ) );
|
97 |
add_filter( 'bp_replace_the_content', array( $this, 'create_content' ) );
|
98 |
}
|
@@ -100,29 +98,6 @@ class BP_Blogs_Theme_Compat {
|
|
100 |
|
101 |
/** Directory *************************************************************/
|
102 |
|
103 |
-
/**
|
104 |
-
* Add template hierarchy to theme compat for the blog directory page.
|
105 |
-
*
|
106 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
107 |
-
*
|
108 |
-
* @since BuddyPress (1.8)
|
109 |
-
*
|
110 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
111 |
-
* @return array $templates Array of custom templates to look for.
|
112 |
-
*/
|
113 |
-
public function directory_template_hierarchy( $templates ) {
|
114 |
-
// Setup our templates based on priority
|
115 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_blogs_create', array(
|
116 |
-
'blogs/index-directory.php'
|
117 |
-
) );
|
118 |
-
|
119 |
-
// Merge new templates with existing stack
|
120 |
-
// @see bp_get_theme_compat_templates()
|
121 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
122 |
-
|
123 |
-
return $templates;
|
124 |
-
}
|
125 |
-
|
126 |
/**
|
127 |
* Update the global $post with directory data
|
128 |
*
|
@@ -161,29 +136,6 @@ class BP_Blogs_Theme_Compat {
|
|
161 |
|
162 |
/** Create ****************************************************************/
|
163 |
|
164 |
-
/**
|
165 |
-
* Add custom template hierarchy to theme compat for the blog create page.
|
166 |
-
*
|
167 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
168 |
-
*
|
169 |
-
* @since BuddyPress (1.8)
|
170 |
-
*
|
171 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
172 |
-
* @return array $templates Array of custom templates to look for.
|
173 |
-
*/
|
174 |
-
public function create_template_hierarchy( $templates ) {
|
175 |
-
// Setup our templates based on priority
|
176 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_blogs_create', array(
|
177 |
-
'blogs/index-create.php'
|
178 |
-
) );
|
179 |
-
|
180 |
-
// Merge new templates with existing stack
|
181 |
-
// @see bp_get_theme_compat_templates()
|
182 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
183 |
-
|
184 |
-
return $templates;
|
185 |
-
}
|
186 |
-
|
187 |
/**
|
188 |
* Update the global $post with create screen data
|
189 |
*
|
86 |
|
87 |
do_action( 'bp_blogs_screen_index' );
|
88 |
|
|
|
89 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
|
90 |
add_filter( 'bp_replace_the_content', array( $this, 'directory_content' ) );
|
91 |
|
92 |
// Create blog
|
93 |
} elseif ( is_user_logged_in() && bp_blog_signup_enabled() ) {
|
|
|
94 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'create_dummy_post' ) );
|
95 |
add_filter( 'bp_replace_the_content', array( $this, 'create_content' ) );
|
96 |
}
|
98 |
|
99 |
/** Directory *************************************************************/
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
/**
|
102 |
* Update the global $post with directory data
|
103 |
*
|
136 |
|
137 |
/** Create ****************************************************************/
|
138 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
/**
|
140 |
* Update the global $post with create screen data
|
141 |
*
|
bp-blogs/bp-blogs-template.php
CHANGED
@@ -705,7 +705,7 @@ function bp_blogs_subdomain_base() {
|
|
705 |
* a subdomain installation of WordPress MS
|
706 |
*
|
707 |
* @since BuddyPress (1.6)
|
708 |
-
* @return
|
709 |
*/
|
710 |
function bp_blogs_get_subdomain_base() {
|
711 |
global $current_site;
|
@@ -788,7 +788,9 @@ function bp_blogs_blog_tabs() {
|
|
788 |
</ul>
|
789 |
|
790 |
<?php
|
791 |
-
|
|
|
|
|
792 |
}
|
793 |
|
794 |
function bp_directory_blogs_search_form() {
|
705 |
* a subdomain installation of WordPress MS
|
706 |
*
|
707 |
* @since BuddyPress (1.6)
|
708 |
+
* @return str The base URL - eg, 'example.com' for site_url() example.com or www.example.com
|
709 |
*/
|
710 |
function bp_blogs_get_subdomain_base() {
|
711 |
global $current_site;
|
788 |
</ul>
|
789 |
|
790 |
<?php
|
791 |
+
|
792 |
+
// @todo where does $current_tab come from?
|
793 |
+
do_action( 'bp_blogs_blog_tabs', $current_tab );
|
794 |
}
|
795 |
|
796 |
function bp_directory_blogs_search_form() {
|
bp-blogs/bp-blogs-widgets.php
CHANGED
@@ -19,29 +19,18 @@ function bp_blogs_register_widgets() {
|
|
19 |
}
|
20 |
add_action( 'bp_register_widgets', 'bp_blogs_register_widgets' );
|
21 |
|
22 |
-
/**
|
23 |
-
* The Recent Networkwide Posts widget
|
24 |
-
*/
|
25 |
class BP_Blogs_Recent_Posts_Widget extends WP_Widget {
|
26 |
|
27 |
function __construct() {
|
28 |
-
$
|
29 |
-
'description' => __( 'A list of recently published posts from across your network.', 'buddypress' ),
|
30 |
-
'classname' => 'widget_bp_blogs_widget buddypress widget',
|
31 |
-
);
|
32 |
-
parent::__construct( false, $name = _x( '(BuddyPress) Recent Networkwide Posts', 'widget name', 'buddypress' ), $widget_ops );
|
33 |
}
|
34 |
|
35 |
-
function widget(
|
36 |
-
|
37 |
-
$title = ! empty( $instance['title'] ) ? esc_html( $instance['title'] ) : __( 'Recent Networkwide Posts', 'buddypress' );
|
38 |
|
39 |
-
|
40 |
-
$title = '<a href="' . trailingslashit( bp_get_root_domain() ) . trailingslashit( bp_get_blogs_root_slug() ) . '">' . esc_html( $title ) . '</a>';
|
41 |
-
}
|
42 |
|
43 |
-
echo $
|
44 |
-
echo $
|
45 |
|
46 |
if ( empty( $instance['max_posts'] ) || !$instance['max_posts'] )
|
47 |
$instance['max_posts'] = 10; ?>
|
@@ -79,35 +68,23 @@ class BP_Blogs_Recent_Posts_Widget extends WP_Widget {
|
|
79 |
</div>
|
80 |
<?php endif; ?>
|
81 |
|
82 |
-
<?php echo $
|
83 |
<?php
|
84 |
}
|
85 |
|
86 |
function update( $new_instance, $old_instance ) {
|
87 |
$instance = $old_instance;
|
88 |
-
$instance['title'] = strip_tags( $new_instance['title'] );
|
89 |
$instance['max_posts'] = strip_tags( $new_instance['max_posts'] );
|
90 |
-
$instance['link_title'] = (bool) $new_instance['link_title'];
|
91 |
|
92 |
return $instance;
|
93 |
}
|
94 |
|
95 |
function form( $instance ) {
|
96 |
-
$instance = wp_parse_args( (array) $instance, array(
|
97 |
-
'title' => __( 'Recent Networkwide Posts', 'buddypress' ),
|
98 |
-
'max_posts' => 10,
|
99 |
-
'link_title' => false,
|
100 |
-
) );
|
101 |
-
|
102 |
-
$title = strip_tags( $instance['title'] );
|
103 |
$max_posts = strip_tags( $instance['max_posts'] );
|
104 |
-
$link_title = (bool) $instance['link_title'];
|
105 |
-
|
106 |
?>
|
107 |
|
108 |
-
<p><label for="
|
109 |
-
|
110 |
-
<p><label for="<?php echo $this->get_field_id( 'max_posts' ) ?>"><?php _e( 'Max posts to show:', 'buddypress' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'max_posts' ); ?>" name="<?php echo $this->get_field_name( 'max_posts' ); ?>" type="text" value="<?php echo esc_attr( $max_posts ); ?>" style="width: 30%" /></label></p>
|
111 |
-
<?php
|
112 |
}
|
113 |
}
|
19 |
}
|
20 |
add_action( 'bp_register_widgets', 'bp_blogs_register_widgets' );
|
21 |
|
|
|
|
|
|
|
22 |
class BP_Blogs_Recent_Posts_Widget extends WP_Widget {
|
23 |
|
24 |
function __construct() {
|
25 |
+
parent::__construct( false, $name = _x( '(BuddyPress) Recent Networkwide Posts', 'widget name', 'buddypress' ) );
|
|
|
|
|
|
|
|
|
26 |
}
|
27 |
|
28 |
+
function widget($args, $instance) {
|
|
|
|
|
29 |
|
30 |
+
extract( $args );
|
|
|
|
|
31 |
|
32 |
+
echo $before_widget;
|
33 |
+
echo $before_title . $widget_name . $after_title;
|
34 |
|
35 |
if ( empty( $instance['max_posts'] ) || !$instance['max_posts'] )
|
36 |
$instance['max_posts'] = 10; ?>
|
68 |
</div>
|
69 |
<?php endif; ?>
|
70 |
|
71 |
+
<?php echo $after_widget; ?>
|
72 |
<?php
|
73 |
}
|
74 |
|
75 |
function update( $new_instance, $old_instance ) {
|
76 |
$instance = $old_instance;
|
|
|
77 |
$instance['max_posts'] = strip_tags( $new_instance['max_posts'] );
|
|
|
78 |
|
79 |
return $instance;
|
80 |
}
|
81 |
|
82 |
function form( $instance ) {
|
83 |
+
$instance = wp_parse_args( (array) $instance, array( 'max_posts' => 10 ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
$max_posts = strip_tags( $instance['max_posts'] );
|
|
|
|
|
85 |
?>
|
86 |
|
87 |
+
<p><label for="bp-blogs-widget-posts-max"><?php _e('Max posts to show:', 'buddypress'); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'max_posts' ); ?>" name="<?php echo $this->get_field_name( 'max_posts' ); ?>" type="text" value="<?php echo esc_attr( $max_posts ); ?>" style="width: 30%" /></label></p>
|
88 |
+
<?php
|
|
|
|
|
89 |
}
|
90 |
}
|
bp-core/admin/bp-core-components.php
CHANGED
@@ -221,6 +221,7 @@ function bp_core_admin_components_options() {
|
|
221 |
*
|
222 |
* @since BuddyPress (1.6)
|
223 |
* @todo Use settings API when it supports saving network settings
|
|
|
224 |
*/
|
225 |
function bp_core_admin_components_settings_handler() {
|
226 |
|
221 |
*
|
222 |
* @since BuddyPress (1.6)
|
223 |
* @todo Use settings API when it supports saving network settings
|
224 |
+
* @return If not time to save settings
|
225 |
*/
|
226 |
function bp_core_admin_components_settings_handler() {
|
227 |
|
bp-core/admin/bp-core-functions.php
CHANGED
@@ -308,6 +308,8 @@ function bp_core_activation_notice() {
|
|
308 |
* @uses wp_safe_redirect() To redirect
|
309 |
* @uses add_query_arg() To help build the URL to redirect to
|
310 |
* @uses admin_url() To get the admin URL to index.php
|
|
|
|
|
311 |
*/
|
312 |
function bp_do_activation_redirect() {
|
313 |
|
@@ -363,18 +365,6 @@ function bp_core_admin_tabs( $active_tab = '' ) {
|
|
363 |
)
|
364 |
);
|
365 |
|
366 |
-
// If forums component is active, add additional tab
|
367 |
-
if ( bp_is_active( 'forums' ) && class_exists( 'BP_Forums_Component' ) ) {
|
368 |
-
// enqueue thickbox
|
369 |
-
wp_enqueue_script( 'thickbox' );
|
370 |
-
wp_enqueue_style( 'thickbox' );
|
371 |
-
|
372 |
-
$tabs['3'] = array(
|
373 |
-
'href' => bp_get_admin_url( add_query_arg( array( 'page' => 'bb-forums-setup' ), 'admin.php' ) ),
|
374 |
-
'name' => __( 'Forums', 'buddypress' )
|
375 |
-
);
|
376 |
-
}
|
377 |
-
|
378 |
// Loop through tabs and build navigation
|
379 |
foreach ( array_values( $tabs ) as $tab_data ) {
|
380 |
$is_current = (bool) ( $tab_data['name'] == $active_tab );
|
308 |
* @uses wp_safe_redirect() To redirect
|
309 |
* @uses add_query_arg() To help build the URL to redirect to
|
310 |
* @uses admin_url() To get the admin URL to index.php
|
311 |
+
*
|
312 |
+
* @return If no transient, or is bulk activation
|
313 |
*/
|
314 |
function bp_do_activation_redirect() {
|
315 |
|
365 |
)
|
366 |
);
|
367 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
// Loop through tabs and build navigation
|
369 |
foreach ( array_values( $tabs ) as $tab_data ) {
|
370 |
$is_current = (bool) ( $tab_data['name'] == $active_tab );
|
bp-core/admin/bp-core-slugs.php
CHANGED
@@ -194,6 +194,7 @@ function bp_core_admin_slugs_options() {
|
|
194 |
*
|
195 |
* @since BuddyPress (1.6)
|
196 |
* @todo Use settings API
|
|
|
197 |
*/
|
198 |
function bp_core_admin_slugs_setup_handler() {
|
199 |
|
194 |
*
|
195 |
* @since BuddyPress (1.6)
|
196 |
* @todo Use settings API
|
197 |
+
* @return False if referer does not check out
|
198 |
*/
|
199 |
function bp_core_admin_slugs_setup_handler() {
|
200 |
|
bp-core/bp-core-actions.php
CHANGED
@@ -41,7 +41,6 @@ add_action( 'wp_enqueue_scripts', 'bp_enqueue_scripts', 10 );
|
|
41 |
add_action( 'admin_bar_menu', 'bp_setup_admin_bar', 20 ); // After WP core
|
42 |
add_action( 'template_redirect', 'bp_template_redirect', 10 );
|
43 |
add_action( 'widgets_init', 'bp_widgets_init', 10 );
|
44 |
-
add_action( 'generate_rewrite_rules', 'bp_generate_rewrite_rules', 10 );
|
45 |
|
46 |
/**
|
47 |
* bp_loaded - Attached to 'plugins_loaded' above
|
@@ -68,7 +67,6 @@ add_action( 'bp_init', 'bp_setup_globals', 4 );
|
|
68 |
add_action( 'bp_init', 'bp_setup_nav', 6 );
|
69 |
add_action( 'bp_init', 'bp_setup_title', 8 );
|
70 |
add_action( 'bp_init', 'bp_core_load_admin_bar_css', 12 );
|
71 |
-
add_action( 'bp_init', 'bp_add_rewrite_tags', 20 );
|
72 |
|
73 |
/**
|
74 |
* bp_template_redirect - Attached to 'template_redirect' above
|
41 |
add_action( 'admin_bar_menu', 'bp_setup_admin_bar', 20 ); // After WP core
|
42 |
add_action( 'template_redirect', 'bp_template_redirect', 10 );
|
43 |
add_action( 'widgets_init', 'bp_widgets_init', 10 );
|
|
|
44 |
|
45 |
/**
|
46 |
* bp_loaded - Attached to 'plugins_loaded' above
|
67 |
add_action( 'bp_init', 'bp_setup_nav', 6 );
|
68 |
add_action( 'bp_init', 'bp_setup_title', 8 );
|
69 |
add_action( 'bp_init', 'bp_core_load_admin_bar_css', 12 );
|
|
|
70 |
|
71 |
/**
|
72 |
* bp_template_redirect - Attached to 'template_redirect' above
|
bp-core/bp-core-admin.php
CHANGED
@@ -380,15 +380,15 @@ class BP_Admin {
|
|
380 |
list( $display_version ) = explode( '-', bp_get_version() ); ?>
|
381 |
|
382 |
<div class="wrap about-wrap">
|
383 |
-
<h1><?php printf( __( 'Welcome to BuddyPress %s'
|
384 |
<div class="about-text">
|
385 |
<?php if ( $is_new_install ) : ?>
|
386 |
-
<?php printf( __( 'BuddyPress %s is our safest, fastest, most flexible version ever.'
|
387 |
<?php else : ?>
|
388 |
-
<?php printf( __( 'Thank you for updating! BuddyPress %s is our safest, fastest, most flexible version ever.'
|
389 |
<?php endif; ?>
|
390 |
</div>
|
391 |
-
<div class="bp-badge"><?php printf( __( 'Version %s'
|
392 |
|
393 |
<h2 class="nav-tab-wrapper">
|
394 |
<a class="nav-tab nav-tab-active" href="<?php echo esc_url( bp_get_admin_url( add_query_arg( array( 'page' => 'bp-about' ), 'index.php' ) ) ); ?>">
|
@@ -418,19 +418,19 @@ class BP_Admin {
|
|
418 |
<?php endif; ?>
|
419 |
|
420 |
<div class="changelog">
|
421 |
-
<h3><?php _e( '
|
422 |
|
423 |
<div class="feature-section">
|
424 |
-
<h4><?php _e( '
|
425 |
-
<p><?php _e( '
|
426 |
</div>
|
427 |
</div>
|
428 |
|
429 |
<div class="changelog">
|
430 |
-
<h3><?php _e( '
|
431 |
|
432 |
<div class="feature-section">
|
433 |
-
<h4><?php _e( '
|
434 |
|
435 |
<?php
|
436 |
$group_admin_text = __( 'Groups administration panel', 'buddypress' );
|
@@ -440,7 +440,7 @@ class BP_Admin {
|
|
440 |
?>
|
441 |
|
442 |
<p><?php printf(
|
443 |
-
__( 'The
|
444 |
$group_admin_text
|
445 |
); ?></p>
|
446 |
</div>
|
@@ -451,19 +451,19 @@ class BP_Admin {
|
|
451 |
|
452 |
<div class="feature-section three-col">
|
453 |
<div>
|
454 |
-
<h4><?php _e( '
|
455 |
-
<p><?php _e( '<code>
|
456 |
|
457 |
-
<h4><?php _e( '
|
458 |
-
<p><?php _e( '
|
459 |
</div>
|
460 |
|
461 |
<div>
|
462 |
-
<h4><?php _e( '
|
463 |
-
<p><?php _e( '
|
464 |
|
465 |
-
<h4><?php _e( '
|
466 |
-
<p><?php _e(
|
467 |
</div>
|
468 |
</div>
|
469 |
|
@@ -489,9 +489,9 @@ class BP_Admin {
|
|
489 |
list( $display_version ) = explode( '-', bp_get_version() ); ?>
|
490 |
|
491 |
<div class="wrap about-wrap">
|
492 |
-
<h1><?php printf( __( 'Welcome to BuddyPress %s'
|
493 |
-
<div class="about-text"><?php printf( __( 'Thank you for updating to the latest version! BuddyPress %s is ready to make your community a safer, faster, and better looking place to hang out!'
|
494 |
-
<div class="bp-badge"><?php printf( __( 'Version %s'
|
495 |
|
496 |
<h2 class="nav-tab-wrapper">
|
497 |
<a href="<?php echo esc_url( bp_get_admin_url( add_query_arg( array( 'page' => 'bp-about' ), 'index.php' ) ) ); ?>" class="nav-tab">
|
@@ -549,52 +549,49 @@ class BP_Admin {
|
|
549 |
</li>
|
550 |
</ul>
|
551 |
|
552 |
-
<h4 class="wp-people-group"><?php _e( 'Core Contributors to BuddyPress 1.
|
553 |
<p class="wp-credits-list">
|
554 |
-
<a href="http://profiles.wordpress.org/
|
|
|
555 |
<a href="http://profiles.wordpress.org/borkweb">borkweb</a>,
|
|
|
556 |
<a href="http://profiles.wordpress.org/chouf1">chouf1</a>,
|
557 |
-
<a href="http://profiles.wordpress.org/
|
558 |
-
<a href="http://profiles.wordpress.org/
|
559 |
-
<a href="http://profiles.wordpress.org/czarate">czarate</a>,
|
560 |
-
<a href="http://profiles.wordpress.org/danbp">danbp</a>,
|
561 |
-
<a href="http://profiles.wordpress.org/dcavins">dcavins</a>,
|
562 |
-
<a href="http://profiles.wordpress.org/dcowgill">dcowgill</a>,
|
563 |
<a href="http://profiles.wordpress.org/ddean">ddean</a>,
|
564 |
-
<a href="http://profiles.wordpress.org/
|
|
|
565 |
<a href="http://profiles.wordpress.org/dontdream">dontdream</a>,
|
566 |
-
<a href="http://profiles.wordpress.org/
|
567 |
-
<a href="http://profiles.wordpress.org/
|
568 |
-
|
|
|
|
|
569 |
<a href="http://profiles.wordpress.org/hnla">hnla</a>,
|
|
|
570 |
<a href="http://profiles.wordpress.org/imath">imath</a>,
|
571 |
-
<a href="http://profiles.wordpress.org/
|
572 |
-
<a href="http://profiles.wordpress.org/
|
573 |
-
<a href="http://profiles.wordpress.org/
|
|
|
|
|
|
|
574 |
<a href="http://profiles.wordpress.org/magnus78">magnus78</a>,
|
575 |
-
<a href="http://profiles.wordpress.org/
|
576 |
-
<a href="http://profiles.wordpress.org/
|
577 |
-
<a href="http://profiles.wordpress.org/
|
578 |
-
<a href="http://profiles.wordpress.org/merty">merty</a>,
|
579 |
-
<a href="http://profiles.wordpress.org/mjustice">mjustice</a>,
|
580 |
<a href="http://profiles.wordpress.org/modemlooper">modemlooper</a>,
|
581 |
-
<a href="http://profiles.wordpress.org/
|
582 |
-
<a href="http://profiles.wordpress.org/
|
583 |
-
<a href="http://profiles.wordpress.org/
|
584 |
-
<a href="http://profiles.wordpress.org/
|
585 |
-
<a href="http://profiles.wordpress.org/saurabhshukla">saurabhshukla</a>,
|
586 |
<a href="http://profiles.wordpress.org/sbrajesh">sbrajesh</a>,
|
587 |
-
<a href="http://profiles.wordpress.org/
|
588 |
-
<a href="http://profiles.wordpress.org/
|
589 |
-
<a href="http://profiles.wordpress.org/
|
590 |
-
<a href="http://profiles.wordpress.org/
|
591 |
-
<a href="http://profiles.wordpress.org/
|
592 |
-
<a href="http://profiles.wordpress.org/
|
593 |
-
<a href="http://profiles.wordpress.org/themightymo">themightymo</a>,
|
594 |
-
<a href="http://profiles.wordpress.org/tivnet">tivnet</a>,
|
595 |
-
<a href="http://profiles.wordpress.org/trishasalas">trishasalas</a>,
|
596 |
-
<a href="http://profiles.wordpress.org/vegasgeek">vegasgeek</a>,
|
597 |
-
<a href="http://profiles.wordpress.org/wpdennis">wpdennis</a>
|
598 |
</p>
|
599 |
|
600 |
<div class="return-to-dashboard">
|
380 |
list( $display_version ) = explode( '-', bp_get_version() ); ?>
|
381 |
|
382 |
<div class="wrap about-wrap">
|
383 |
+
<h1><?php printf( __( 'Welcome to BuddyPress %s' ), $display_version ); ?></h1>
|
384 |
<div class="about-text">
|
385 |
<?php if ( $is_new_install ) : ?>
|
386 |
+
<?php printf( __( 'BuddyPress %s is our safest, fastest, most flexible version ever.' ), $display_version ); ?>
|
387 |
<?php else : ?>
|
388 |
+
<?php printf( __( 'Thank you for updating! BuddyPress %s is our safest, fastest, most flexible version ever.' ), $display_version ); ?>
|
389 |
<?php endif; ?>
|
390 |
</div>
|
391 |
+
<div class="bp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
|
392 |
|
393 |
<h2 class="nav-tab-wrapper">
|
394 |
<a class="nav-tab nav-tab-active" href="<?php echo esc_url( bp_get_admin_url( add_query_arg( array( 'page' => 'bp-about' ), 'index.php' ) ) ); ?>">
|
418 |
<?php endif; ?>
|
419 |
|
420 |
<div class="changelog">
|
421 |
+
<h3><?php _e( 'A Declaration of (Theme) Independence', 'buddypress' ); ?></h3>
|
422 |
|
423 |
<div class="feature-section">
|
424 |
+
<h4><?php _e( 'It Just Works', 'buddypress' ); ?></h4>
|
425 |
+
<p><?php _e( 'BuddyPress is now compatible with <strong>any WordPress theme</strong>. If your theme has BuddyPress-specific templates and styling, we’ll use them. If not, we provide what you need to make your BuddyPress content look great. Still want to customize? No problem - you can override our templates just like you would in a WordPress child theme. <a href="http://codex.buddypress.org/theme-compatibility/">Learn more about theme compatibility</a>.', 'buddypress' ); ?></p>
|
426 |
</div>
|
427 |
</div>
|
428 |
|
429 |
<div class="changelog">
|
430 |
+
<h3><?php _e( 'Group Management', 'buddypress' ); ?></h3>
|
431 |
|
432 |
<div class="feature-section">
|
433 |
+
<h4><?php _e( 'Get More Done Quickly', 'buddypress' ); ?></h4>
|
434 |
|
435 |
<?php
|
436 |
$group_admin_text = __( 'Groups administration panel', 'buddypress' );
|
440 |
?>
|
441 |
|
442 |
<p><?php printf(
|
443 |
+
__( 'The new %s makes it easy to handle large numbers of groups on your BuddyPress installation. Delete groups, edit group details, modify memberships, and more, with just a few clicks.', 'buddypress' ),
|
444 |
$group_admin_text
|
445 |
); ?></p>
|
446 |
</div>
|
451 |
|
452 |
<div class="feature-section three-col">
|
453 |
<div>
|
454 |
+
<h4><?php _e( 'Faster Member Queries', 'buddypress' ); ?></h4>
|
455 |
+
<p><?php _e( 'The new <code>BP_User_Query</code> makes member queries (like in the Members directory) up to 4x faster than before.', 'buddypress' ); ?></p>
|
456 |
|
457 |
+
<h4><?php _e( 'Sortable Profile Options', 'buddypress' ); ?></h4>
|
458 |
+
<p><?php _e( 'Profile field types with multiple options - like radio buttons and checkboxes - now support drag-and-drop reordering.', 'buddypress' ); ?></p>
|
459 |
</div>
|
460 |
|
461 |
<div>
|
462 |
+
<h4><?php _e( 'New Visibility Level', 'buddypress' ); ?></h4>
|
463 |
+
<p><?php _e( 'By popular demand, the "Admins Only" visibility setting is now available for profile fields.', 'buddypress' ); ?></p>
|
464 |
|
465 |
+
<h4><?php _e( 'Better bbPress Integration', 'buddypress' ); ?></h4>
|
466 |
+
<p><?php _e( 'Support for group and sitewide forums, using the latest version of the bbPress plugin, is better than ever. Still using bbPress 1.x? Our new migration tools are field-tested.', 'buddypress' ); ?></p>
|
467 |
</div>
|
468 |
</div>
|
469 |
|
489 |
list( $display_version ) = explode( '-', bp_get_version() ); ?>
|
490 |
|
491 |
<div class="wrap about-wrap">
|
492 |
+
<h1><?php printf( __( 'Welcome to BuddyPress %s' ), $display_version ); ?></h1>
|
493 |
+
<div class="about-text"><?php printf( __( 'Thank you for updating to the latest version! BuddyPress %s is ready to make your community a safer, faster, and better looking place to hang out!' ), $display_version ); ?></div>
|
494 |
+
<div class="bp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
|
495 |
|
496 |
<h2 class="nav-tab-wrapper">
|
497 |
<a href="<?php echo esc_url( bp_get_admin_url( add_query_arg( array( 'page' => 'bp-about' ), 'index.php' ) ) ); ?>" class="nav-tab">
|
549 |
</li>
|
550 |
</ul>
|
551 |
|
552 |
+
<h4 class="wp-people-group"><?php _e( 'Core Contributors to BuddyPress 1.7', 'buddypress' ); ?></h4>
|
553 |
<p class="wp-credits-list">
|
554 |
+
<a href="http://profiles.wordpress.org/aesqe">aesqe</a>,
|
555 |
+
<a href="http://profiles.wordpress.org/apeatling">apeatling</a>,
|
556 |
<a href="http://profiles.wordpress.org/borkweb">borkweb</a>,
|
557 |
+
<a href="http://profiles.wordpress.org/calin">calin</a>,
|
558 |
<a href="http://profiles.wordpress.org/chouf1">chouf1</a>,
|
559 |
+
<a href="http://profiles.wordpress.org/chrisclayton">chrisclayton</a>,
|
560 |
+
<a href="http://profiles.wordpress.org/cnorris23">cnorris23</a>,
|
|
|
|
|
|
|
|
|
561 |
<a href="http://profiles.wordpress.org/ddean">ddean</a>,
|
562 |
+
<a href="http://profiles.wordpress.org/DennisSmolek">DennisSmolek</a>,
|
563 |
+
<a href="http://profiles.wordpress.org/Dianakc">Dianakc</a>,
|
564 |
<a href="http://profiles.wordpress.org/dontdream">dontdream</a>,
|
565 |
+
<a href="http://profiles.wordpress.org/empireoflight">empireoflight</a>,
|
566 |
+
<a href="http://profiles.wordpress.org/enej">enej</a>,
|
567 |
+
<a href="http://profiles.wordpress.org/ethitter">ethitter</a>,
|
568 |
+
<a href="http://profiles.wordpress.org/fanquake">fanquake</a>,
|
569 |
+
<a href="http://profiles.wordpress.org/gmax21">gmax21</a>,
|
570 |
<a href="http://profiles.wordpress.org/hnla">hnla</a>,
|
571 |
+
<a href="http://profiles.wordpress.org/humanshell">humanshell</a>,
|
572 |
<a href="http://profiles.wordpress.org/imath">imath</a>,
|
573 |
+
<a href="http://profiles.wordpress.org/Jacek">Jacek</a>,
|
574 |
+
<a href="http://profiles.wordpress.org/jag1989">jag1989</a>,
|
575 |
+
<a href="http://profiles.wordpress.org/jbobich">jbobich</a>,
|
576 |
+
<a href="http://profiles.wordpress.org/jkudish">jkudish</a>,
|
577 |
+
<a href="http://profiles.wordpress.org/jpsb">jpsb</a>,
|
578 |
+
<a href="http://profiles.wordpress.org/MacPresss">MacPresss</a>,
|
579 |
<a href="http://profiles.wordpress.org/magnus78">magnus78</a>,
|
580 |
+
<a href="http://profiles.wordpress.org/markjaquith">markjaquith</a>,
|
581 |
+
<a href="http://profiles.wordpress.org/Maty">Maty</a>,
|
582 |
+
<a href="http://profiles.wordpress.org/michael.ecklund">michael.ecklund</a>,
|
|
|
|
|
583 |
<a href="http://profiles.wordpress.org/modemlooper">modemlooper</a>,
|
584 |
+
<a href="http://profiles.wordpress.org/nacin">nacin</a>,
|
585 |
+
<a href="http://profiles.wordpress.org/netweb">netweb</a>,
|
586 |
+
<a href="http://profiles.wordpress.org/rogercoathup">rogercoathup</a>,
|
587 |
+
<a href="http://profiles.wordpress.org/sboisvert">sboisvert</a>,
|
|
|
588 |
<a href="http://profiles.wordpress.org/sbrajesh">sbrajesh</a>,
|
589 |
+
<a href="http://profiles.wordpress.org/slaFFik">slaFFik</a>,
|
590 |
+
<a href="http://profiles.wordpress.org/steve7777">steve7777</a>,
|
591 |
+
<a href="http://profiles.wordpress.org/tiraeth">tiraeth</a>,
|
592 |
+
<a href="http://profiles.wordpress.org/will_c">will_c</a>,
|
593 |
+
<a href="http://profiles.wordpress.org/wpdennis">wpdennis</a>,
|
594 |
+
<a href="http://profiles.wordpress.org/xt4v">xt4v</a>.
|
|
|
|
|
|
|
|
|
|
|
595 |
</p>
|
596 |
|
597 |
<div class="return-to-dashboard">
|
bp-core/bp-core-adminbar.php
CHANGED
@@ -17,6 +17,7 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
17 |
*
|
18 |
* @since BuddyPress 1.6
|
19 |
* @global WP_Admin_Bar $wp_admin_bar
|
|
|
20 |
*/
|
21 |
function bp_admin_bar_my_account_root() {
|
22 |
global $wp_admin_bar;
|
@@ -61,7 +62,6 @@ add_action( 'admin_bar_menu', 'bp_admin_bar_my_account_root', 100 );
|
|
61 |
* @uses add_action() To hook 'bp_core_admin_bar' to 'admin_footer'
|
62 |
*/
|
63 |
function bp_core_load_admin_bar() {
|
64 |
-
|
65 |
// Show the Toolbar for logged out users
|
66 |
if ( ! is_user_logged_in() && (int) bp_get_option( 'hide-loggedout-adminbar' ) != 1 ) {
|
67 |
show_admin_bar( true );
|
17 |
*
|
18 |
* @since BuddyPress 1.6
|
19 |
* @global WP_Admin_Bar $wp_admin_bar
|
20 |
+
* @return If doing ajax
|
21 |
*/
|
22 |
function bp_admin_bar_my_account_root() {
|
23 |
global $wp_admin_bar;
|
62 |
* @uses add_action() To hook 'bp_core_admin_bar' to 'admin_footer'
|
63 |
*/
|
64 |
function bp_core_load_admin_bar() {
|
|
|
65 |
// Show the Toolbar for logged out users
|
66 |
if ( ! is_user_logged_in() && (int) bp_get_option( 'hide-loggedout-adminbar' ) != 1 ) {
|
67 |
show_admin_bar( true );
|
bp-core/bp-core-avatars.php
CHANGED
@@ -338,7 +338,7 @@ function bp_core_fetch_avatar( $args = '' ) {
|
|
338 |
|
339 |
// ...or only the URL
|
340 |
} else {
|
341 |
-
return apply_filters( 'bp_core_fetch_avatar_url', $avatar_url
|
342 |
}
|
343 |
}
|
344 |
}
|
@@ -399,7 +399,7 @@ function bp_core_fetch_avatar( $args = '' ) {
|
|
399 |
if ( true === $html ) {
|
400 |
return apply_filters( 'bp_core_fetch_avatar', '<img src="' . $gravatar . '" class="' . esc_attr( $class ) . '"' . $css_id . $html_width . $html_height . $html_alt . $title . ' />', $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir );
|
401 |
} else {
|
402 |
-
return apply_filters( 'bp_core_fetch_avatar_url', $gravatar
|
403 |
}
|
404 |
}
|
405 |
|
@@ -701,7 +701,7 @@ function bp_core_avatar_handle_crop( $args = '' ) {
|
|
701 |
* @param int $size Size of the avatar image (thumb/full)
|
702 |
* @param string $default URL to a default image to use if no avatar is available
|
703 |
* @param string $alt Alternate text to use in image tag. Defaults to blank
|
704 |
-
* @return
|
705 |
*/
|
706 |
function bp_core_fetch_avatar_filter( $avatar, $user, $size, $default, $alt = '' ) {
|
707 |
global $pagenow;
|
@@ -783,107 +783,49 @@ function bp_core_check_avatar_type($file) {
|
|
783 |
}
|
784 |
|
785 |
/**
|
786 |
-
*
|
787 |
-
*
|
788 |
-
* Handy for multisite instances because all uploads are made on the BP root
|
789 |
-
* blog and we need to query the BP root blog for the upload directory data.
|
790 |
-
*
|
791 |
-
* This function ensures that we only need to use {@link switch_to_blog()}
|
792 |
-
* once to get what we need.
|
793 |
-
*
|
794 |
-
* @since BuddyPress (1.8)
|
795 |
*
|
796 |
-
*
|
797 |
*
|
798 |
-
* @
|
799 |
-
*
|
800 |
-
* @return string
|
801 |
*/
|
802 |
-
function
|
803 |
$bp = buddypress();
|
804 |
|
805 |
-
switch ( $type ) {
|
806 |
-
case 'upload_path' :
|
807 |
-
$constant = 'BP_AVATAR_UPLOAD_PATH';
|
808 |
-
$key = 'basedir';
|
809 |
-
|
810 |
-
break;
|
811 |
-
|
812 |
-
case 'url' :
|
813 |
-
$constant = 'BP_AVATAR_URL';
|
814 |
-
$key = 'baseurl';
|
815 |
-
|
816 |
-
break;
|
817 |
-
|
818 |
-
default :
|
819 |
-
return false;
|
820 |
-
|
821 |
-
break;
|
822 |
-
}
|
823 |
-
|
824 |
// See if the value has already been calculated and stashed in the $bp global
|
825 |
-
if ( isset( $bp->avatar
|
826 |
-
$
|
827 |
} else {
|
828 |
// If this value has been set in a constant, just use that
|
829 |
-
if ( defined(
|
830 |
-
$
|
831 |
} else {
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
$upload_dir = $bp->avatar->upload_dir;
|
836 |
-
|
837 |
-
// No cache, so query for it
|
838 |
-
} else {
|
839 |
-
// We need to switch to the root blog on multisite installs
|
840 |
-
if ( is_multisite() ) {
|
841 |
-
switch_to_blog( bp_get_root_blog_id() );
|
842 |
-
}
|
843 |
-
|
844 |
-
// Get upload directory information from current site
|
845 |
-
$upload_dir = wp_upload_dir();
|
846 |
-
|
847 |
-
// Will bail if not switched
|
848 |
-
restore_current_blog();
|
849 |
-
|
850 |
-
// Stash upload directory data for later use
|
851 |
-
$bp->avatar->upload_dir = $upload_dir;
|
852 |
}
|
853 |
|
|
|
|
|
|
|
854 |
// Directory does not exist and cannot be created
|
855 |
-
if ( !
|
856 |
-
$
|
857 |
|
858 |
} else {
|
859 |
-
$
|
860 |
-
|
861 |
-
// If $key is 'baseurl', check to see if we're on SSL
|
862 |
-
// Workaround for WP13941, WP15928, WP19037.
|
863 |
-
if ( $key == 'baseurl' && is_ssl() ) {
|
864 |
-
$retval = str_replace( 'http://', 'https://', $retval );
|
865 |
-
}
|
866 |
}
|
867 |
|
|
|
|
|
868 |
}
|
869 |
|
870 |
// Stash in $bp for later use
|
871 |
-
$bp->avatar
|
872 |
}
|
873 |
|
874 |
-
return $
|
875 |
-
}
|
876 |
-
|
877 |
-
/**
|
878 |
-
* bp_core_avatar_upload_path()
|
879 |
-
*
|
880 |
-
* Returns the absolute upload path for the WP installation
|
881 |
-
*
|
882 |
-
* @uses wp_upload_dir To get upload directory info
|
883 |
-
* @return string Absolute path to WP upload directory
|
884 |
-
*/
|
885 |
-
function bp_core_avatar_upload_path() {
|
886 |
-
return apply_filters( 'bp_core_avatar_upload_path', bp_core_get_upload_dir() );
|
887 |
}
|
888 |
|
889 |
/**
|
@@ -895,7 +837,47 @@ function bp_core_avatar_upload_path() {
|
|
895 |
* @return string Full URL to current upload location
|
896 |
*/
|
897 |
function bp_core_avatar_url() {
|
898 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
899 |
}
|
900 |
|
901 |
/**
|
@@ -923,8 +905,8 @@ function bp_get_user_has_avatar( $user_id = 0 ) {
|
|
923 |
* @package BuddyPress
|
924 |
* @since BuddyPress (1.5)
|
925 |
*
|
926 |
-
* @param
|
927 |
-
* @param
|
928 |
* @return int $dim The dimension
|
929 |
*/
|
930 |
function bp_core_avatar_dimension( $type = 'thumb', $h_or_w = 'height' ) {
|
338 |
|
339 |
// ...or only the URL
|
340 |
} else {
|
341 |
+
return apply_filters( 'bp_core_fetch_avatar_url', $avatar_url );
|
342 |
}
|
343 |
}
|
344 |
}
|
399 |
if ( true === $html ) {
|
400 |
return apply_filters( 'bp_core_fetch_avatar', '<img src="' . $gravatar . '" class="' . esc_attr( $class ) . '"' . $css_id . $html_width . $html_height . $html_alt . $title . ' />', $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir );
|
401 |
} else {
|
402 |
+
return apply_filters( 'bp_core_fetch_avatar_url', $gravatar );
|
403 |
}
|
404 |
}
|
405 |
|
701 |
* @param int $size Size of the avatar image (thumb/full)
|
702 |
* @param string $default URL to a default image to use if no avatar is available
|
703 |
* @param string $alt Alternate text to use in image tag. Defaults to blank
|
704 |
+
* @return <type>
|
705 |
*/
|
706 |
function bp_core_fetch_avatar_filter( $avatar, $user, $size, $default, $alt = '' ) {
|
707 |
global $pagenow;
|
783 |
}
|
784 |
|
785 |
/**
|
786 |
+
* bp_core_avatar_upload_path()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
787 |
*
|
788 |
+
* Returns the absolute upload path for the WP installation
|
789 |
*
|
790 |
+
* @uses wp_upload_dir To get upload directory info
|
791 |
+
* @return string Absolute path to WP upload directory
|
|
|
792 |
*/
|
793 |
+
function bp_core_avatar_upload_path() {
|
794 |
$bp = buddypress();
|
795 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
796 |
// See if the value has already been calculated and stashed in the $bp global
|
797 |
+
if ( isset( $bp->avatar->upload_path ) ) {
|
798 |
+
$basedir = $bp->avatar->upload_path;
|
799 |
} else {
|
800 |
// If this value has been set in a constant, just use that
|
801 |
+
if ( defined( 'BP_AVATAR_UPLOAD_PATH' ) ) {
|
802 |
+
$basedir = BP_AVATAR_UPLOAD_PATH;
|
803 |
} else {
|
804 |
+
if ( !bp_is_root_blog() ) {
|
805 |
+
// Switch dynamically in order to support BP_ENABLE_MULTIBLOG
|
806 |
+
switch_to_blog( bp_get_root_blog_id() );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
807 |
}
|
808 |
|
809 |
+
// Get upload directory information from current site
|
810 |
+
$upload_dir = wp_upload_dir();
|
811 |
+
|
812 |
// Directory does not exist and cannot be created
|
813 |
+
if ( !empty( $upload_dir['error'] ) ) {
|
814 |
+
$basedir = '';
|
815 |
|
816 |
} else {
|
817 |
+
$basedir = $upload_dir['basedir'];
|
|
|
|
|
|
|
|
|
|
|
|
|
818 |
}
|
819 |
|
820 |
+
// Will bail if not switched
|
821 |
+
restore_current_blog();
|
822 |
}
|
823 |
|
824 |
// Stash in $bp for later use
|
825 |
+
$bp->avatar->upload_path = $basedir;
|
826 |
}
|
827 |
|
828 |
+
return apply_filters( 'bp_core_avatar_upload_path', $basedir );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
829 |
}
|
830 |
|
831 |
/**
|
837 |
* @return string Full URL to current upload location
|
838 |
*/
|
839 |
function bp_core_avatar_url() {
|
840 |
+
$bp = buddypress();
|
841 |
+
|
842 |
+
// See if the value has already been calculated and stashed in the $bp global
|
843 |
+
if ( isset( $bp->avatar->url ) ) {
|
844 |
+
$baseurl = $bp->avatar->url;
|
845 |
+
|
846 |
+
} else {
|
847 |
+
// If this value has been set in a constant, just use that
|
848 |
+
if ( defined( 'BP_AVATAR_URL' ) ) {
|
849 |
+
$baseurl = BP_AVATAR_URL;
|
850 |
+
} else {
|
851 |
+
// If multisite, and we're not on the BP root blog, switch to it
|
852 |
+
if ( is_multisite() ) {
|
853 |
+
switch_to_blog( bp_get_root_blog_id() );
|
854 |
+
}
|
855 |
+
|
856 |
+
// Get upload directory information from current site
|
857 |
+
$upload_dir = wp_upload_dir();
|
858 |
+
|
859 |
+
// Directory does not exist and cannot be created
|
860 |
+
if ( ! empty( $upload_dir['error'] ) ) {
|
861 |
+
$baseurl = '';
|
862 |
+
|
863 |
+
} else {
|
864 |
+
$baseurl = $upload_dir['baseurl'];
|
865 |
+
|
866 |
+
// If we're using https, update the protocol. Workaround for WP13941, WP15928, WP19037.
|
867 |
+
if ( is_ssl() )
|
868 |
+
$baseurl = str_replace( 'http://', 'https://', $baseurl );
|
869 |
+
|
870 |
+
}
|
871 |
+
|
872 |
+
// Will bail if not switched
|
873 |
+
restore_current_blog();
|
874 |
+
}
|
875 |
+
|
876 |
+
// Stash in $bp for later use
|
877 |
+
$bp->avatar->url = $baseurl;
|
878 |
+
}
|
879 |
+
|
880 |
+
return apply_filters( 'bp_core_avatar_url', $baseurl );
|
881 |
}
|
882 |
|
883 |
/**
|
905 |
* @package BuddyPress
|
906 |
* @since BuddyPress (1.5)
|
907 |
*
|
908 |
+
* @param str $type 'thumb' for thumbs, otherwise full
|
909 |
+
* @param str $h_or_w 'height' for height, otherwise width
|
910 |
* @return int $dim The dimension
|
911 |
*/
|
912 |
function bp_core_avatar_dimension( $type = 'thumb', $h_or_w = 'height' ) {
|
bp-core/bp-core-buddybar.php
CHANGED
@@ -81,11 +81,8 @@ function bp_core_new_nav_item( $args = '' ) {
|
|
81 |
if ( !empty( $default_subnav_slug ) && bp_is_current_action( $default_subnav_slug ) && !bp_action_variable( 0 ) ) {
|
82 |
unset( $bp->canonical_stack['action'] );
|
83 |
} elseif ( ! bp_current_action() ) {
|
84 |
-
|
85 |
-
|
86 |
-
if ( is_callable( $screen_function ) ) {
|
87 |
-
add_action( 'bp_screens', $screen_function, 3 );
|
88 |
-
}
|
89 |
|
90 |
if ( !empty( $default_subnav_slug ) ) {
|
91 |
$bp->current_action = apply_filters( 'bp_default_component_subnav', $default_subnav_slug, $r );
|
@@ -115,8 +112,9 @@ function bp_core_new_nav_default( $args = '' ) {
|
|
115 |
extract( $r, EXTR_SKIP );
|
116 |
|
117 |
if ( $function = $bp->bp_nav[$parent_slug]['screen_function'] ) {
|
118 |
-
|
119 |
-
|
|
|
120 |
remove_action( 'bp_screens', $function, 3 );
|
121 |
}
|
122 |
}
|
@@ -138,7 +136,9 @@ function bp_core_new_nav_default( $args = '' ) {
|
|
138 |
// No subnav item has been requested in the URL, so set a new nav default
|
139 |
if ( empty( $unfiltered_action ) ) {
|
140 |
if ( !bp_is_current_action( $subnav_slug ) ) {
|
141 |
-
if (
|
|
|
|
|
142 |
add_action( 'bp_screens', $screen_function, 3 );
|
143 |
}
|
144 |
|
@@ -278,8 +278,9 @@ function bp_core_new_subnav_item( $args = '' ) {
|
|
278 |
|
279 |
// Before hooking the screen function, check user access
|
280 |
if ( !empty( $user_has_access ) ) {
|
281 |
-
|
282 |
-
|
|
|
283 |
add_action( 'bp_screens', $screen_function, 3 );
|
284 |
}
|
285 |
} else {
|
@@ -354,7 +355,7 @@ add_action( 'admin_head', 'bp_core_sort_subnav_items' );
|
|
354 |
* @package BuddyPress
|
355 |
* @since BuddyPress (1.5)
|
356 |
*
|
357 |
-
* @param
|
358 |
* @return bool $has_subnav True if the nav item is found and has subnav items; false otherwise
|
359 |
*/
|
360 |
function bp_nav_item_has_subnav( $nav_item = '' ) {
|
@@ -389,8 +390,9 @@ function bp_core_remove_nav_item( $parent_id ) {
|
|
389 |
return false;
|
390 |
|
391 |
if ( $function = $bp->bp_nav[$parent_id]['screen_function'] ) {
|
392 |
-
|
393 |
-
|
|
|
394 |
remove_action( 'bp_screens', $function, 3 );
|
395 |
}
|
396 |
}
|
@@ -402,17 +404,18 @@ function bp_core_remove_nav_item( $parent_id ) {
|
|
402 |
* Removes a navigation item from the sub navigation array used in BuddyPress themes.
|
403 |
*
|
404 |
* @package BuddyPress Core
|
405 |
-
* @param
|
406 |
-
* @param
|
407 |
*/
|
408 |
function bp_core_remove_subnav_item( $parent_id, $slug ) {
|
409 |
global $bp;
|
410 |
|
411 |
$screen_function = isset( $bp->bp_options_nav[$parent_id][$slug]['screen_function'] ) ? $bp->bp_options_nav[$parent_id][$slug]['screen_function'] : false;
|
412 |
|
413 |
-
if ( !
|
414 |
-
|
415 |
-
|
|
|
416 |
remove_action( 'bp_screens', $screen_function, 3 );
|
417 |
}
|
418 |
}
|
@@ -427,7 +430,7 @@ function bp_core_remove_subnav_item( $parent_id, $slug ) {
|
|
427 |
* Clear the subnav items for a specific nav item.
|
428 |
*
|
429 |
* @package BuddyPress Core
|
430 |
-
* @param
|
431 |
* @global BuddyPress $bp The one true BuddyPress instance
|
432 |
*/
|
433 |
function bp_core_reset_subnav_items( $parent_slug ) {
|
81 |
if ( !empty( $default_subnav_slug ) && bp_is_current_action( $default_subnav_slug ) && !bp_action_variable( 0 ) ) {
|
82 |
unset( $bp->canonical_stack['action'] );
|
83 |
} elseif ( ! bp_current_action() ) {
|
84 |
+
$func = is_object( $screen_function[0] ) ? array( &$screen_function[0], $screen_function[1] ) : $screen_function;
|
85 |
+
add_action( 'bp_screens', $func, 3 );
|
|
|
|
|
|
|
86 |
|
87 |
if ( !empty( $default_subnav_slug ) ) {
|
88 |
$bp->current_action = apply_filters( 'bp_default_component_subnav', $default_subnav_slug, $r );
|
112 |
extract( $r, EXTR_SKIP );
|
113 |
|
114 |
if ( $function = $bp->bp_nav[$parent_slug]['screen_function'] ) {
|
115 |
+
if ( is_object( $function[0] ) ) {
|
116 |
+
remove_action( 'bp_screens', array( &$function[0], $function[1] ), 3 );
|
117 |
+
} else {
|
118 |
remove_action( 'bp_screens', $function, 3 );
|
119 |
}
|
120 |
}
|
136 |
// No subnav item has been requested in the URL, so set a new nav default
|
137 |
if ( empty( $unfiltered_action ) ) {
|
138 |
if ( !bp_is_current_action( $subnav_slug ) ) {
|
139 |
+
if ( is_object( $screen_function[0] ) ) {
|
140 |
+
add_action( 'bp_screens', array( &$screen_function[0], $screen_function[1] ), 3 );
|
141 |
+
} else {
|
142 |
add_action( 'bp_screens', $screen_function, 3 );
|
143 |
}
|
144 |
|
278 |
|
279 |
// Before hooking the screen function, check user access
|
280 |
if ( !empty( $user_has_access ) ) {
|
281 |
+
if ( is_object( $screen_function[0] ) ) {
|
282 |
+
add_action( 'bp_screens', array( &$screen_function[0], $screen_function[1] ), 3 );
|
283 |
+
} else {
|
284 |
add_action( 'bp_screens', $screen_function, 3 );
|
285 |
}
|
286 |
} else {
|
355 |
* @package BuddyPress
|
356 |
* @since BuddyPress (1.5)
|
357 |
*
|
358 |
+
* @param str $nav_item The id of the top-level nav item whose nav items you're checking
|
359 |
* @return bool $has_subnav True if the nav item is found and has subnav items; false otherwise
|
360 |
*/
|
361 |
function bp_nav_item_has_subnav( $nav_item = '' ) {
|
390 |
return false;
|
391 |
|
392 |
if ( $function = $bp->bp_nav[$parent_id]['screen_function'] ) {
|
393 |
+
if ( is_object( $function[0] ) ) {
|
394 |
+
remove_action( 'bp_screens', array( &$function[0], $function[1] ), 3 );
|
395 |
+
} else {
|
396 |
remove_action( 'bp_screens', $function, 3 );
|
397 |
}
|
398 |
}
|
404 |
* Removes a navigation item from the sub navigation array used in BuddyPress themes.
|
405 |
*
|
406 |
* @package BuddyPress Core
|
407 |
+
* @param $parent_id The id of the parent navigation item.
|
408 |
+
* @param $slug The slug of the sub navigation item.
|
409 |
*/
|
410 |
function bp_core_remove_subnav_item( $parent_id, $slug ) {
|
411 |
global $bp;
|
412 |
|
413 |
$screen_function = isset( $bp->bp_options_nav[$parent_id][$slug]['screen_function'] ) ? $bp->bp_options_nav[$parent_id][$slug]['screen_function'] : false;
|
414 |
|
415 |
+
if ( !empty( $screen_function ) ) {
|
416 |
+
if ( is_object( $screen_function[0] ) ) {
|
417 |
+
remove_action( 'bp_screens', array( &$screen_function[0], $screen_function[1] ), 3 );
|
418 |
+
} else {
|
419 |
remove_action( 'bp_screens', $screen_function, 3 );
|
420 |
}
|
421 |
}
|
430 |
* Clear the subnav items for a specific nav item.
|
431 |
*
|
432 |
* @package BuddyPress Core
|
433 |
+
* @param $parent_id The id of the parent navigation item.
|
434 |
* @global BuddyPress $bp The one true BuddyPress instance
|
435 |
*/
|
436 |
function bp_core_reset_subnav_items( $parent_slug ) {
|
bp-core/bp-core-caps.php
CHANGED
@@ -151,6 +151,8 @@ function bp_get_caps_for_role( $role = '' ) {
|
|
151 |
* @uses is_user_logged_in()
|
152 |
* @uses current_user_can()
|
153 |
* @uses WP_User::set_role()
|
|
|
|
|
154 |
*/
|
155 |
function bp_set_current_user_default_role() {
|
156 |
|
151 |
* @uses is_user_logged_in()
|
152 |
* @uses current_user_can()
|
153 |
* @uses WP_User::set_role()
|
154 |
+
*
|
155 |
+
* @return If user is not spam/deleted or is already capable
|
156 |
*/
|
157 |
function bp_set_current_user_default_role() {
|
158 |
|
bp-core/bp-core-catchuri.php
CHANGED
@@ -340,8 +340,8 @@ function bp_core_enable_root_profiles() {
|
|
340 |
* wp-content/themes/[activated_theme]/members/index.php
|
341 |
*
|
342 |
* @package BuddyPress Core
|
343 |
-
* @param
|
344 |
-
* @return int
|
345 |
*/
|
346 |
function bp_core_load_template( $templates ) {
|
347 |
global $post, $bp, $wp_query, $wpdb;
|
340 |
* wp-content/themes/[activated_theme]/members/index.php
|
341 |
*
|
342 |
* @package BuddyPress Core
|
343 |
+
* @param $username str Username to check.
|
344 |
+
* @return false|int The user ID of the matched user, or false.
|
345 |
*/
|
346 |
function bp_core_load_template( $templates ) {
|
347 |
global $post, $bp, $wp_query, $wpdb;
|
bp-core/bp-core-classes.php
CHANGED
@@ -47,14 +47,6 @@ class BP_User_Query {
|
|
47 |
|
48 |
/** Variables *************************************************************/
|
49 |
|
50 |
-
/**
|
51 |
-
* Unaltered params as passed to the constructor
|
52 |
-
*
|
53 |
-
* @since BuddyPress (1.8)
|
54 |
-
* @var array
|
55 |
-
*/
|
56 |
-
public $query_vars_raw = array();
|
57 |
-
|
58 |
/**
|
59 |
* Array of variables to query with
|
60 |
*
|
@@ -127,15 +119,8 @@ class BP_User_Query {
|
|
127 |
* @param string|array $query The query variables
|
128 |
*/
|
129 |
public function __construct( $query = null ) {
|
130 |
-
|
131 |
-
|
132 |
-
$this->query_vars_raw = $query;
|
133 |
-
|
134 |
-
// Allow extending classes to register action/filter hooks
|
135 |
-
$this->setup_hooks();
|
136 |
-
|
137 |
-
if ( ! empty( $this->query_vars_raw ) ) {
|
138 |
-
$this->query_vars = wp_parse_args( $this->query_vars_raw, array(
|
139 |
'type' => 'newest',
|
140 |
'per_page' => 0,
|
141 |
'page' => 1,
|
@@ -176,22 +161,6 @@ class BP_User_Query {
|
|
176 |
$this->populate_extras();
|
177 |
}
|
178 |
|
179 |
-
/**
|
180 |
-
* Allow extending classes to set up action/filter hooks
|
181 |
-
*
|
182 |
-
* When extending BP_User_Query, you may need to use some of its
|
183 |
-
* internal hooks to modify the output. It's not convenient to call
|
184 |
-
* add_action() or add_filter() in your class constructor, because
|
185 |
-
* BP_User_Query::__construct() contains a fair amount of logic that
|
186 |
-
* you may not want to override in your class. Define this method in
|
187 |
-
* your own class if you need a place where your extending class can
|
188 |
-
* add its hooks early in the query-building process. See
|
189 |
-
* BP_Group_Member_Query::setup_hooks() for an example.
|
190 |
-
*
|
191 |
-
* @since BuddyPress (1.8)
|
192 |
-
*/
|
193 |
-
public function setup_hooks() {}
|
194 |
-
|
195 |
/**
|
196 |
* Prepare the query for user_ids
|
197 |
*
|
@@ -229,13 +198,11 @@ class BP_User_Query {
|
|
229 |
switch ( $type ) {
|
230 |
|
231 |
// 'online' query happens against the last_activity usermeta key
|
232 |
-
// Filter 'bp_user_query_online_interval' to modify the
|
233 |
-
// number of minutes used as an interval
|
234 |
case 'online' :
|
235 |
$this->uid_name = 'user_id';
|
236 |
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->usermeta} u";
|
237 |
$sql['where'][] = $wpdb->prepare( "u.meta_key = %s", bp_get_user_meta_key( 'last_activity' ) );
|
238 |
-
$sql['where'][] =
|
239 |
$sql['orderby'] = "ORDER BY u.meta_value";
|
240 |
$sql['order'] = "DESC";
|
241 |
|
@@ -267,7 +234,7 @@ class BP_User_Query {
|
|
267 |
$this->uid_name = 'user_id';
|
268 |
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->usermeta} u";
|
269 |
$sql['where'][] = $wpdb->prepare( "u.meta_key = %s", bp_get_user_meta_key( 'total_friend_count' ) );
|
270 |
-
$sql['orderby'] = "ORDER BY
|
271 |
$sql['order'] = "DESC";
|
272 |
|
273 |
break;
|
@@ -315,10 +282,9 @@ class BP_User_Query {
|
|
315 |
/** WHERE *************************************************************/
|
316 |
|
317 |
// 'include' - User ids to include in the results
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
$include_ids = implode( ',', wp_parse_id_list( $include_ids ) );
|
322 |
$sql['where'][] = "u.{$this->uid_name} IN ({$include_ids})";
|
323 |
}
|
324 |
|
@@ -330,17 +296,18 @@ class BP_User_Query {
|
|
330 |
}
|
331 |
|
332 |
// 'user_id' - When a user id is passed, limit to the friends of the user
|
|
|
|
|
333 |
// @todo remove need for bp_is_active() check
|
334 |
-
if ( ! empty( $user_id ) && bp_is_active( 'friends' ) ) {
|
335 |
$friend_ids = friends_get_friend_user_ids( $user_id );
|
336 |
$friend_ids = implode( ',', wp_parse_id_list( $friend_ids ) );
|
337 |
|
338 |
if ( ! empty( $friend_ids ) ) {
|
339 |
$sql['where'][] = "u.{$this->uid_name} IN ({$friend_ids})";
|
340 |
|
341 |
-
// If the user has no friends, the query
|
342 |
-
|
343 |
-
} else {
|
344 |
$sql['where'][] = $this->no_results['where'];
|
345 |
}
|
346 |
}
|
@@ -351,10 +318,7 @@ class BP_User_Query {
|
|
351 |
// To avoid global joins, do a separate query
|
352 |
// @todo remove need for bp_is_active() check
|
353 |
if ( false !== $search_terms && bp_is_active( 'xprofile' ) ) {
|
354 |
-
$
|
355 |
-
$search_terms_clean = like_escape( $search_terms_clean );
|
356 |
-
$found_user_ids_query = "SELECT user_id FROM {$bp->profile->table_name_data} WHERE value LIKE '%" . $search_terms_clean . "%'";
|
357 |
-
$found_user_ids = $wpdb->get_col( $found_user_ids_query );
|
358 |
|
359 |
if ( ! empty( $found_user_ids ) ) {
|
360 |
$sql['where'][] = "u.{$this->uid_name} IN (" . implode( ',', wp_parse_id_list( $found_user_ids ) ) . ")";
|
@@ -461,26 +425,6 @@ class BP_User_Query {
|
|
461 |
}
|
462 |
}
|
463 |
|
464 |
-
/**
|
465 |
-
* Fetches the ids of users to put in the IN clause of the main query
|
466 |
-
*
|
467 |
-
* By default, returns the value passed to it
|
468 |
-
* ($this->query_vars['include']). Having this abstracted into a
|
469 |
-
* standalone method means that extending classes can override the
|
470 |
-
* logic, parsing together their own user_id limits with the 'include'
|
471 |
-
* ids passed to the class constructor. See BP_Group_Member_Query for
|
472 |
-
* an example.
|
473 |
-
*
|
474 |
-
* @since BuddyPress (1.8)
|
475 |
-
* @param array Sanitized array of user ids, as passed to the 'include'
|
476 |
-
* parameter of the class constructor
|
477 |
-
* @return array The list of users to which the main query should be
|
478 |
-
* limited
|
479 |
-
*/
|
480 |
-
public function get_include_ids( $include = array() ) {
|
481 |
-
return $include;
|
482 |
-
}
|
483 |
-
|
484 |
/**
|
485 |
* Perform a database query to populate any extra metadata we might need.
|
486 |
* Different components will hook into the 'bp_user_query_populate_extras'
|
@@ -1369,7 +1313,7 @@ class BP_Core_Notification {
|
|
1369 |
* @global BuddyPress $bp The one true BuddyPress instance
|
1370 |
* @global wpdb $wpdb WordPress database object
|
1371 |
* @param integer $user_id User ID
|
1372 |
-
* @param
|
1373 |
* @return array Associative array
|
1374 |
* @static
|
1375 |
*/
|
@@ -1625,10 +1569,6 @@ class BP_Button {
|
|
1625 |
if ( true == $this->block_self && bp_is_my_profile() )
|
1626 |
return false;
|
1627 |
|
1628 |
-
// No button if you are the current user in a loop
|
1629 |
-
if ( true === $this->block_self && is_user_logged_in() && bp_loggedin_user_id() === bp_get_member_user_id() )
|
1630 |
-
return false;
|
1631 |
-
|
1632 |
// Wrapper properties
|
1633 |
if ( false !== $this->wrapper ) {
|
1634 |
|
47 |
|
48 |
/** Variables *************************************************************/
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
/**
|
51 |
* Array of variables to query with
|
52 |
*
|
119 |
* @param string|array $query The query variables
|
120 |
*/
|
121 |
public function __construct( $query = null ) {
|
122 |
+
if ( ! empty( $query ) ) {
|
123 |
+
$this->query_vars = wp_parse_args( $query, array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
'type' => 'newest',
|
125 |
'per_page' => 0,
|
126 |
'page' => 1,
|
161 |
$this->populate_extras();
|
162 |
}
|
163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
/**
|
165 |
* Prepare the query for user_ids
|
166 |
*
|
198 |
switch ( $type ) {
|
199 |
|
200 |
// 'online' query happens against the last_activity usermeta key
|
|
|
|
|
201 |
case 'online' :
|
202 |
$this->uid_name = 'user_id';
|
203 |
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->usermeta} u";
|
204 |
$sql['where'][] = $wpdb->prepare( "u.meta_key = %s", bp_get_user_meta_key( 'last_activity' ) );
|
205 |
+
$sql['where'][] = 'u.meta_value >= DATE_SUB( UTC_TIMESTAMP(), INTERVAL 5 MINUTE )';
|
206 |
$sql['orderby'] = "ORDER BY u.meta_value";
|
207 |
$sql['order'] = "DESC";
|
208 |
|
234 |
$this->uid_name = 'user_id';
|
235 |
$sql['select'] = "SELECT DISTINCT u.{$this->uid_name} as id FROM {$wpdb->usermeta} u";
|
236 |
$sql['where'][] = $wpdb->prepare( "u.meta_key = %s", bp_get_user_meta_key( 'total_friend_count' ) );
|
237 |
+
$sql['orderby'] = "ORDER BY u.meta_value";
|
238 |
$sql['order'] = "DESC";
|
239 |
|
240 |
break;
|
282 |
/** WHERE *************************************************************/
|
283 |
|
284 |
// 'include' - User ids to include in the results
|
285 |
+
if ( false !== $include ) {
|
286 |
+
$include = wp_parse_id_list( $include );
|
287 |
+
$include_ids = $wpdb->escape( implode( ',', (array) $include ) );
|
|
|
288 |
$sql['where'][] = "u.{$this->uid_name} IN ({$include_ids})";
|
289 |
}
|
290 |
|
296 |
}
|
297 |
|
298 |
// 'user_id' - When a user id is passed, limit to the friends of the user
|
299 |
+
// Only parse this if no 'include' param is passed, to account for
|
300 |
+
// friend request queries
|
301 |
// @todo remove need for bp_is_active() check
|
302 |
+
if ( empty( $include ) && ! empty( $user_id ) && bp_is_active( 'friends' ) ) {
|
303 |
$friend_ids = friends_get_friend_user_ids( $user_id );
|
304 |
$friend_ids = implode( ',', wp_parse_id_list( $friend_ids ) );
|
305 |
|
306 |
if ( ! empty( $friend_ids ) ) {
|
307 |
$sql['where'][] = "u.{$this->uid_name} IN ({$friend_ids})";
|
308 |
|
309 |
+
// If the user has no friends, and we're not including specific users, make sure the query returns null
|
310 |
+
} elseif ( empty( $include ) ) {
|
|
|
311 |
$sql['where'][] = $this->no_results['where'];
|
312 |
}
|
313 |
}
|
318 |
// To avoid global joins, do a separate query
|
319 |
// @todo remove need for bp_is_active() check
|
320 |
if ( false !== $search_terms && bp_is_active( 'xprofile' ) ) {
|
321 |
+
$found_user_ids = $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->profile->table_name_data} WHERE value LIKE %s", '%%' . like_escape( $search_terms ) . '%%' ) );
|
|
|
|
|
|
|
322 |
|
323 |
if ( ! empty( $found_user_ids ) ) {
|
324 |
$sql['where'][] = "u.{$this->uid_name} IN (" . implode( ',', wp_parse_id_list( $found_user_ids ) ) . ")";
|
425 |
}
|
426 |
}
|
427 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
428 |
/**
|
429 |
* Perform a database query to populate any extra metadata we might need.
|
430 |
* Different components will hook into the 'bp_user_query_populate_extras'
|
1313 |
* @global BuddyPress $bp The one true BuddyPress instance
|
1314 |
* @global wpdb $wpdb WordPress database object
|
1315 |
* @param integer $user_id User ID
|
1316 |
+
* @param str $status 'is_new' or 'all'
|
1317 |
* @return array Associative array
|
1318 |
* @static
|
1319 |
*/
|
1569 |
if ( true == $this->block_self && bp_is_my_profile() )
|
1570 |
return false;
|
1571 |
|
|
|
|
|
|
|
|
|
1572 |
// Wrapper properties
|
1573 |
if ( false !== $this->wrapper ) {
|
1574 |
|
bp-core/bp-core-component.php
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
// Exit if accessed directly
|
4 |
if ( !defined( 'ABSPATH' ) ) exit;
|
5 |
|
@@ -19,53 +18,51 @@ if ( !class_exists( 'BP_Component' ) ) :
|
|
19 |
*/
|
20 |
class BP_Component {
|
21 |
|
22 |
-
/** Variables *************************************************************/
|
23 |
-
|
24 |
/**
|
25 |
* @var string Unique name (for internal identification)
|
26 |
* @internal
|
27 |
*/
|
28 |
-
|
29 |
|
30 |
/**
|
31 |
* @var Unique ID (normally for custom post type)
|
32 |
*/
|
33 |
-
|
34 |
|
35 |
/**
|
36 |
* @var string Unique slug (used in query string and permalinks)
|
37 |
*/
|
38 |
-
|
39 |
|
40 |
/**
|
41 |
* @var bool Does this component need a top-level directory?
|
42 |
*/
|
43 |
-
|
44 |
|
45 |
/**
|
46 |
* @var string The path to the component's files
|
47 |
*/
|
48 |
-
|
49 |
|
50 |
/**
|
51 |
* @var WP_Query The loop for this component
|
52 |
*/
|
53 |
-
|
54 |
|
55 |
/**
|
56 |
* @var string The current ID of the queried object
|
57 |
*/
|
58 |
-
|
59 |
|
60 |
/**
|
61 |
* @var string Function to call for notifications
|
62 |
*/
|
63 |
-
|
64 |
|
65 |
/**
|
66 |
* @var array WordPress Toolbar links
|
67 |
*/
|
68 |
-
|
69 |
|
70 |
/**
|
71 |
* Search input box placeholder string for the component
|
@@ -73,7 +70,7 @@ class BP_Component {
|
|
73 |
* @since BuddyPress (1.5)
|
74 |
* @var string
|
75 |
*/
|
76 |
-
public $search_string
|
77 |
|
78 |
/**
|
79 |
* Component's root slug
|
@@ -81,23 +78,20 @@ class BP_Component {
|
|
81 |
* @since BuddyPress (1.5)
|
82 |
* @var string
|
83 |
*/
|
84 |
-
public $root_slug
|
85 |
-
|
86 |
-
/** Methods ***************************************************************/
|
87 |
|
88 |
/**
|
89 |
* Component loader
|
90 |
*
|
91 |
* @since BuddyPress (1.5)
|
92 |
*
|
93 |
-
* @param
|
94 |
-
*
|
95 |
-
*
|
96 |
-
*
|
97 |
* @uses bp_Component::setup_actions() Setup the hooks and actions
|
98 |
*/
|
99 |
-
|
100 |
-
|
101 |
// Internal identifier of component
|
102 |
$this->id = $id;
|
103 |
|
@@ -119,39 +113,40 @@ class BP_Component {
|
|
119 |
* @uses apply_filters() Calls 'bp_{@link bp_Component::name}_id'
|
120 |
* @uses apply_filters() Calls 'bp_{@link bp_Component::name}_slug'
|
121 |
*
|
122 |
-
* @param
|
123 |
*/
|
124 |
-
|
|
|
125 |
|
126 |
/** Slugs *************************************************************/
|
127 |
|
128 |
-
$
|
129 |
'slug' => $this->id,
|
130 |
'root_slug' => '',
|
131 |
'has_directory' => false,
|
132 |
'notification_callback' => '',
|
133 |
'search_string' => '',
|
134 |
'global_tables' => ''
|
135 |
-
)
|
|
|
136 |
|
137 |
// Slug used for permalink URI chunk after root
|
138 |
-
$this->slug
|
139 |
|
140 |
// Slug used for root directory
|
141 |
-
$this->root_slug
|
142 |
|
143 |
// Does this component have a top-level directory?
|
144 |
-
$this->has_directory
|
145 |
|
146 |
// Search string
|
147 |
-
$this->search_string
|
148 |
|
149 |
// Notifications callback
|
150 |
$this->notification_callback = apply_filters( 'bp_' . $this->id . '_notification_callback', $r['notification_callback'] );
|
151 |
|
152 |
// Set up global table names
|
153 |
if ( !empty( $r['global_tables'] ) ) {
|
154 |
-
|
155 |
// This filter allows for component-specific filtering of table names
|
156 |
// To filter *all* tables, use the 'bp_core_get_table_prefix' filter instead
|
157 |
$r['global_tables'] = apply_filters( 'bp_' . $this->id . '_global_tables', $r['global_tables'] );
|
@@ -159,12 +154,12 @@ class BP_Component {
|
|
159 |
foreach ( $r['global_tables'] as $global_name => $table_name ) {
|
160 |
$this->$global_name = $table_name;
|
161 |
}
|
162 |
-
|
163 |
|
164 |
/** BuddyPress ********************************************************/
|
165 |
|
166 |
// Register this component in the loaded components array
|
167 |
-
|
168 |
|
169 |
// Call action
|
170 |
do_action( 'bp_' . $this->id . '_setup_globals' );
|
@@ -194,16 +189,14 @@ class BP_Component {
|
|
194 |
*
|
195 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}includes'
|
196 |
*/
|
197 |
-
|
198 |
-
|
199 |
-
// Bail if no files to include
|
200 |
if ( empty( $includes ) )
|
201 |
return;
|
202 |
|
203 |
$slashed_path = trailingslashit( $this->path );
|
204 |
|
205 |
// Loop through files to be included
|
206 |
-
foreach (
|
207 |
|
208 |
$paths = array(
|
209 |
|
@@ -238,38 +231,38 @@ class BP_Component {
|
|
238 |
* @uses add_action() To add various actions
|
239 |
* @uses do_action() Calls 'bp_{@link BP_Component::name}setup_actions'
|
240 |
*/
|
241 |
-
|
242 |
|
243 |
// Setup globals
|
244 |
-
add_action( 'bp_setup_globals', array( $this, 'setup_globals' ), 10 );
|
245 |
|
246 |
// Include required files. Called early to ensure that BP core
|
247 |
// components are loaded before plugins that hook their loader functions
|
248 |
// to bp_include with the default priority of 10. This is for backwards
|
249 |
// compatibility; henceforth, plugins should register themselves by
|
250 |
// extending this base class.
|
251 |
-
add_action( 'bp_include', array( $this, 'includes' ), 8 );
|
252 |
|
253 |
// Setup navigation
|
254 |
-
add_action( 'bp_setup_nav', array( $this, 'setup_nav' ), 10 );
|
255 |
|
256 |
// Setup WP Toolbar menus
|
257 |
-
add_action( 'bp_setup_admin_bar', array( $this, 'setup_admin_bar' ), 10 );
|
258 |
|
259 |
// Setup component title
|
260 |
-
add_action( 'bp_setup_title', array( $this, 'setup_title' ), 10 );
|
261 |
|
262 |
// Register post types
|
263 |
-
add_action( 'bp_register_post_types', array( $this, 'register_post_types' ), 10 );
|
264 |
|
265 |
// Register taxonomies
|
266 |
-
add_action( 'bp_register_taxonomies', array( $this, 'register_taxonomies' ), 10 );
|
267 |
|
268 |
// Add the rewrite tags
|
269 |
-
add_action( 'bp_add_rewrite_tags', array( $this, 'add_rewrite_tags' ), 10 );
|
270 |
|
271 |
// Generate rewrite rules
|
272 |
-
add_action( 'bp_generate_rewrite_rules', array( $this, 'generate_rewrite_rules' ), 10 );
|
273 |
|
274 |
// Additional actions can be attached here
|
275 |
do_action( 'bp_' . $this->id . '_setup_actions' );
|
@@ -278,10 +271,10 @@ class BP_Component {
|
|
278 |
/**
|
279 |
* Setup the navigation
|
280 |
*
|
281 |
-
* @param
|
282 |
-
* @param
|
283 |
*/
|
284 |
-
|
285 |
|
286 |
// No sub nav items without a main nav item
|
287 |
if ( !empty( $main_nav ) ) {
|
@@ -289,7 +282,7 @@ class BP_Component {
|
|
289 |
|
290 |
// Sub nav items are not required
|
291 |
if ( !empty( $sub_nav ) ) {
|
292 |
-
foreach(
|
293 |
bp_core_new_subnav_item( $nav );
|
294 |
}
|
295 |
}
|
@@ -305,7 +298,7 @@ class BP_Component {
|
|
305 |
* @global obj $wp_admin_bar
|
306 |
* @param array $wp_admin_menus
|
307 |
*/
|
308 |
-
|
309 |
|
310 |
// Bail if this is an ajax request
|
311 |
if ( defined( 'DOING_AJAX' ) )
|
@@ -325,9 +318,8 @@ class BP_Component {
|
|
325 |
global $wp_admin_bar;
|
326 |
|
327 |
// Add each admin menu
|
328 |
-
foreach( $this->admin_menu as $admin_menu )
|
329 |
$wp_admin_bar->add_menu( $admin_menu );
|
330 |
-
}
|
331 |
}
|
332 |
|
333 |
// Call action
|
@@ -341,7 +333,7 @@ class BP_Component {
|
|
341 |
*
|
342 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}setup_title'
|
343 |
*/
|
344 |
-
|
345 |
do_action( 'bp_' . $this->id . '_setup_title' );
|
346 |
}
|
347 |
|
@@ -352,7 +344,7 @@ class BP_Component {
|
|
352 |
*
|
353 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}_register_post_types'
|
354 |
*/
|
355 |
-
|
356 |
do_action( 'bp_' . $this->id . '_register_post_types' );
|
357 |
}
|
358 |
|
@@ -363,7 +355,7 @@ class BP_Component {
|
|
363 |
*
|
364 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}_register_taxonomies'
|
365 |
*/
|
366 |
-
|
367 |
do_action( 'bp_' . $this->id . '_register_taxonomies' );
|
368 |
}
|
369 |
|
@@ -374,7 +366,7 @@ class BP_Component {
|
|
374 |
*
|
375 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}_add_rewrite_tags'
|
376 |
*/
|
377 |
-
|
378 |
do_action( 'bp_' . $this->id . '_add_rewrite_tags' );
|
379 |
}
|
380 |
|
@@ -385,7 +377,7 @@ class BP_Component {
|
|
385 |
*
|
386 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}_generate_rewrite_rules'
|
387 |
*/
|
388 |
-
|
389 |
do_action( 'bp_' . $this->id . '_generate_rewrite_rules' );
|
390 |
}
|
391 |
}
|
1 |
<?php
|
|
|
2 |
// Exit if accessed directly
|
3 |
if ( !defined( 'ABSPATH' ) ) exit;
|
4 |
|
18 |
*/
|
19 |
class BP_Component {
|
20 |
|
|
|
|
|
21 |
/**
|
22 |
* @var string Unique name (for internal identification)
|
23 |
* @internal
|
24 |
*/
|
25 |
+
var $name;
|
26 |
|
27 |
/**
|
28 |
* @var Unique ID (normally for custom post type)
|
29 |
*/
|
30 |
+
var $id;
|
31 |
|
32 |
/**
|
33 |
* @var string Unique slug (used in query string and permalinks)
|
34 |
*/
|
35 |
+
var $slug;
|
36 |
|
37 |
/**
|
38 |
* @var bool Does this component need a top-level directory?
|
39 |
*/
|
40 |
+
var $has_directory;
|
41 |
|
42 |
/**
|
43 |
* @var string The path to the component's files
|
44 |
*/
|
45 |
+
var $path;
|
46 |
|
47 |
/**
|
48 |
* @var WP_Query The loop for this component
|
49 |
*/
|
50 |
+
var $query;
|
51 |
|
52 |
/**
|
53 |
* @var string The current ID of the queried object
|
54 |
*/
|
55 |
+
var $current_id;
|
56 |
|
57 |
/**
|
58 |
* @var string Function to call for notifications
|
59 |
*/
|
60 |
+
var $notification_callback;
|
61 |
|
62 |
/**
|
63 |
* @var array WordPress Toolbar links
|
64 |
*/
|
65 |
+
var $admin_menu;
|
66 |
|
67 |
/**
|
68 |
* Search input box placeholder string for the component
|
70 |
* @since BuddyPress (1.5)
|
71 |
* @var string
|
72 |
*/
|
73 |
+
public $search_string;
|
74 |
|
75 |
/**
|
76 |
* Component's root slug
|
78 |
* @since BuddyPress (1.5)
|
79 |
* @var string
|
80 |
*/
|
81 |
+
public $root_slug;
|
|
|
|
|
82 |
|
83 |
/**
|
84 |
* Component loader
|
85 |
*
|
86 |
* @since BuddyPress (1.5)
|
87 |
*
|
88 |
+
* @param mixed $args Required. Supports these args:
|
89 |
+
* - id: Unique ID (for internal identification). Letters, numbers, and underscores only
|
90 |
+
* - name: Unique name. This should be a translatable name, eg __( 'Groups', 'buddypress' )
|
91 |
+
* - path: The file path for the component's files. Used by BP_Component::includes()
|
92 |
* @uses bp_Component::setup_actions() Setup the hooks and actions
|
93 |
*/
|
94 |
+
function start( $id, $name, $path ) {
|
|
|
95 |
// Internal identifier of component
|
96 |
$this->id = $id;
|
97 |
|
113 |
* @uses apply_filters() Calls 'bp_{@link bp_Component::name}_id'
|
114 |
* @uses apply_filters() Calls 'bp_{@link bp_Component::name}_slug'
|
115 |
*
|
116 |
+
* @param arr $args Used to
|
117 |
*/
|
118 |
+
function setup_globals( $args = '' ) {
|
119 |
+
global $bp;
|
120 |
|
121 |
/** Slugs *************************************************************/
|
122 |
|
123 |
+
$defaults = array(
|
124 |
'slug' => $this->id,
|
125 |
'root_slug' => '',
|
126 |
'has_directory' => false,
|
127 |
'notification_callback' => '',
|
128 |
'search_string' => '',
|
129 |
'global_tables' => ''
|
130 |
+
);
|
131 |
+
$r = wp_parse_args( $args, $defaults );
|
132 |
|
133 |
// Slug used for permalink URI chunk after root
|
134 |
+
$this->slug = apply_filters( 'bp_' . $this->id . '_slug', $r['slug'] );
|
135 |
|
136 |
// Slug used for root directory
|
137 |
+
$this->root_slug = apply_filters( 'bp_' . $this->id . '_root_slug', $r['root_slug'] );
|
138 |
|
139 |
// Does this component have a top-level directory?
|
140 |
+
$this->has_directory = apply_filters( 'bp_' . $this->id . '_has_directory', $r['has_directory'] );
|
141 |
|
142 |
// Search string
|
143 |
+
$this->search_string = apply_filters( 'bp_' . $this->id . '_search_string', $r['search_string'] );
|
144 |
|
145 |
// Notifications callback
|
146 |
$this->notification_callback = apply_filters( 'bp_' . $this->id . '_notification_callback', $r['notification_callback'] );
|
147 |
|
148 |
// Set up global table names
|
149 |
if ( !empty( $r['global_tables'] ) ) {
|
|
|
150 |
// This filter allows for component-specific filtering of table names
|
151 |
// To filter *all* tables, use the 'bp_core_get_table_prefix' filter instead
|
152 |
$r['global_tables'] = apply_filters( 'bp_' . $this->id . '_global_tables', $r['global_tables'] );
|
154 |
foreach ( $r['global_tables'] as $global_name => $table_name ) {
|
155 |
$this->$global_name = $table_name;
|
156 |
}
|
157 |
+
}
|
158 |
|
159 |
/** BuddyPress ********************************************************/
|
160 |
|
161 |
// Register this component in the loaded components array
|
162 |
+
$bp->loaded_components[$this->slug] = $this->id;
|
163 |
|
164 |
// Call action
|
165 |
do_action( 'bp_' . $this->id . '_setup_globals' );
|
189 |
*
|
190 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}includes'
|
191 |
*/
|
192 |
+
function includes( $includes = '' ) {
|
|
|
|
|
193 |
if ( empty( $includes ) )
|
194 |
return;
|
195 |
|
196 |
$slashed_path = trailingslashit( $this->path );
|
197 |
|
198 |
// Loop through files to be included
|
199 |
+
foreach ( $includes as $file ) {
|
200 |
|
201 |
$paths = array(
|
202 |
|
231 |
* @uses add_action() To add various actions
|
232 |
* @uses do_action() Calls 'bp_{@link BP_Component::name}setup_actions'
|
233 |
*/
|
234 |
+
function setup_actions() {
|
235 |
|
236 |
// Setup globals
|
237 |
+
add_action( 'bp_setup_globals', array ( $this, 'setup_globals' ), 10 );
|
238 |
|
239 |
// Include required files. Called early to ensure that BP core
|
240 |
// components are loaded before plugins that hook their loader functions
|
241 |
// to bp_include with the default priority of 10. This is for backwards
|
242 |
// compatibility; henceforth, plugins should register themselves by
|
243 |
// extending this base class.
|
244 |
+
add_action( 'bp_include', array ( $this, 'includes' ), 8 );
|
245 |
|
246 |
// Setup navigation
|
247 |
+
add_action( 'bp_setup_nav', array ( $this, 'setup_nav' ), 10 );
|
248 |
|
249 |
// Setup WP Toolbar menus
|
250 |
+
add_action( 'bp_setup_admin_bar', array ( $this, 'setup_admin_bar' ), 10 );
|
251 |
|
252 |
// Setup component title
|
253 |
+
add_action( 'bp_setup_title', array ( $this, 'setup_title' ), 10 );
|
254 |
|
255 |
// Register post types
|
256 |
+
add_action( 'bp_register_post_types', array ( $this, 'register_post_types' ), 10 );
|
257 |
|
258 |
// Register taxonomies
|
259 |
+
add_action( 'bp_register_taxonomies', array ( $this, 'register_taxonomies' ), 10 );
|
260 |
|
261 |
// Add the rewrite tags
|
262 |
+
add_action( 'bp_add_rewrite_tags', array ( $this, 'add_rewrite_tags' ), 10 );
|
263 |
|
264 |
// Generate rewrite rules
|
265 |
+
add_action( 'bp_generate_rewrite_rules', array ( $this, 'generate_rewrite_rules' ), 10 );
|
266 |
|
267 |
// Additional actions can be attached here
|
268 |
do_action( 'bp_' . $this->id . '_setup_actions' );
|
271 |
/**
|
272 |
* Setup the navigation
|
273 |
*
|
274 |
+
* @param arr $main_nav Optional
|
275 |
+
* @param arr $sub_nav Optional
|
276 |
*/
|
277 |
+
function setup_nav( $main_nav = '', $sub_nav = '' ) {
|
278 |
|
279 |
// No sub nav items without a main nav item
|
280 |
if ( !empty( $main_nav ) ) {
|
282 |
|
283 |
// Sub nav items are not required
|
284 |
if ( !empty( $sub_nav ) ) {
|
285 |
+
foreach( $sub_nav as $nav ) {
|
286 |
bp_core_new_subnav_item( $nav );
|
287 |
}
|
288 |
}
|
298 |
* @global obj $wp_admin_bar
|
299 |
* @param array $wp_admin_menus
|
300 |
*/
|
301 |
+
function setup_admin_bar( $wp_admin_nav = '' ) {
|
302 |
|
303 |
// Bail if this is an ajax request
|
304 |
if ( defined( 'DOING_AJAX' ) )
|
318 |
global $wp_admin_bar;
|
319 |
|
320 |
// Add each admin menu
|
321 |
+
foreach( $this->admin_menu as $admin_menu )
|
322 |
$wp_admin_bar->add_menu( $admin_menu );
|
|
|
323 |
}
|
324 |
|
325 |
// Call action
|
333 |
*
|
334 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}setup_title'
|
335 |
*/
|
336 |
+
function setup_title( ) {
|
337 |
do_action( 'bp_' . $this->id . '_setup_title' );
|
338 |
}
|
339 |
|
344 |
*
|
345 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}_register_post_types'
|
346 |
*/
|
347 |
+
function register_post_types() {
|
348 |
do_action( 'bp_' . $this->id . '_register_post_types' );
|
349 |
}
|
350 |
|
355 |
*
|
356 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}_register_taxonomies'
|
357 |
*/
|
358 |
+
function register_taxonomies() {
|
359 |
do_action( 'bp_' . $this->id . '_register_taxonomies' );
|
360 |
}
|
361 |
|
366 |
*
|
367 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}_add_rewrite_tags'
|
368 |
*/
|
369 |
+
function add_rewrite_tags() {
|
370 |
do_action( 'bp_' . $this->id . '_add_rewrite_tags' );
|
371 |
}
|
372 |
|
377 |
*
|
378 |
* @uses do_action() Calls 'bp_{@link bp_Component::name}_generate_rewrite_rules'
|
379 |
*/
|
380 |
+
function generate_rewrite_rules ( $wp_rewrite ) {
|
381 |
do_action( 'bp_' . $this->id . '_generate_rewrite_rules' );
|
382 |
}
|
383 |
}
|
bp-core/bp-core-dependency.php
CHANGED
@@ -180,16 +180,6 @@ function bp_enqueue_scripts() {
|
|
180 |
do_action ( 'bp_enqueue_scripts' );
|
181 |
}
|
182 |
|
183 |
-
/**
|
184 |
-
* Add the BuddyPress-specific rewrite tags
|
185 |
-
*
|
186 |
-
* @since BuddyPress (1.8)
|
187 |
-
* @uses do_action() Calls 'bp_add_rewrite_tags'
|
188 |
-
*/
|
189 |
-
function bp_add_rewrite_tags() {
|
190 |
-
do_action( 'bp_add_rewrite_tags' );
|
191 |
-
}
|
192 |
-
|
193 |
/**
|
194 |
* Piggy back action for BuddyPress sepecific theme actions before the theme has
|
195 |
* been setup and the theme's functions.php has loaded.
|
180 |
do_action ( 'bp_enqueue_scripts' );
|
181 |
}
|
182 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
/**
|
184 |
* Piggy back action for BuddyPress sepecific theme actions before the theme has
|
185 |
* been setup and the theme's functions.php has loaded.
|
bp-core/bp-core-filters.php
CHANGED
@@ -51,6 +51,7 @@ add_filter( 'bp_core_render_message_content', 'convert_smilies' );
|
|
51 |
add_filter( 'bp_core_render_message_content', 'convert_chars' );
|
52 |
add_filter( 'bp_core_render_message_content', 'wpautop' );
|
53 |
add_filter( 'bp_core_render_message_content', 'shortcode_unautop' );
|
|
|
54 |
|
55 |
/**
|
56 |
* Template Compatibility
|
@@ -105,7 +106,7 @@ add_filter( 'wp_list_pages_excludes', 'bp_core_exclude_pages' );
|
|
105 |
*
|
106 |
* @package BuddyPress Core
|
107 |
* @uses bp_get_option() fetches the value for a meta_key in the wp_X_options table
|
108 |
-
* @return
|
109 |
*/
|
110 |
function bp_core_email_from_name_filter() {
|
111 |
return apply_filters( 'bp_core_email_from_name_filter', bp_get_option( 'blogname', 'WordPress' ) );
|
@@ -158,7 +159,7 @@ add_filter( 'comments_array', 'bp_core_filter_comments', 10, 2 );
|
|
158 |
* login
|
159 |
* @param string $redirect_to The URL to be redirected to, sanitized in wp-login.php
|
160 |
* @param string $redirect_to_raw The unsanitized redirect_to URL ($_REQUEST['redirect_to'])
|
161 |
-
* @param
|
162 |
* a WP_Error object
|
163 |
* @return string The redirect URL
|
164 |
*/
|
51 |
add_filter( 'bp_core_render_message_content', 'convert_chars' );
|
52 |
add_filter( 'bp_core_render_message_content', 'wpautop' );
|
53 |
add_filter( 'bp_core_render_message_content', 'shortcode_unautop' );
|
54 |
+
add_filter( 'bp_core_render_message_content', 'wp_kses_data', 5 );
|
55 |
|
56 |
/**
|
57 |
* Template Compatibility
|
106 |
*
|
107 |
* @package BuddyPress Core
|
108 |
* @uses bp_get_option() fetches the value for a meta_key in the wp_X_options table
|
109 |
+
* @return The blog name for the root blog
|
110 |
*/
|
111 |
function bp_core_email_from_name_filter() {
|
112 |
return apply_filters( 'bp_core_email_from_name_filter', bp_get_option( 'blogname', 'WordPress' ) );
|
159 |
* login
|
160 |
* @param string $redirect_to The URL to be redirected to, sanitized in wp-login.php
|
161 |
* @param string $redirect_to_raw The unsanitized redirect_to URL ($_REQUEST['redirect_to'])
|
162 |
+
* @param obj $user The WP_User object corresponding to a successfully logged-in user. Otherwise
|
163 |
* a WP_Error object
|
164 |
* @return string The redirect URL
|
165 |
*/
|
bp-core/bp-core-functions.php
CHANGED
@@ -84,124 +84,6 @@ function bp_core_get_table_prefix() {
|
|
84 |
return apply_filters( 'bp_core_get_table_prefix', $wpdb->base_prefix );
|
85 |
}
|
86 |
|
87 |
-
/**
|
88 |
-
* Format numbers the BuddyPress way
|
89 |
-
*
|
90 |
-
* @param int $number
|
91 |
-
* @param bool $decimals
|
92 |
-
* @return string
|
93 |
-
*/
|
94 |
-
function bp_core_number_format( $number, $decimals = false ) {
|
95 |
-
|
96 |
-
// Force number to 0 if needed
|
97 |
-
if ( empty( $number ) )
|
98 |
-
$number = 0;
|
99 |
-
|
100 |
-
return apply_filters( 'bp_core_number_format', number_format_i18n( $number, $decimals ), $number, $decimals );
|
101 |
-
}
|
102 |
-
|
103 |
-
/**
|
104 |
-
* A utility for parsing individual function arguments into an array.
|
105 |
-
*
|
106 |
-
* The purpose of this function is to help with backward compatibility in cases where
|
107 |
-
*
|
108 |
-
* function foo( $bar = 1, $baz = false, $barry = array(), $blip = false ) { // ...
|
109 |
-
*
|
110 |
-
* is deprecated in favor of
|
111 |
-
*
|
112 |
-
* function foo( $args = array() ) {
|
113 |
-
* $defaults = array(
|
114 |
-
* 'bar' => 1,
|
115 |
-
* 'arg2' => false,
|
116 |
-
* 'arg3' => array(),
|
117 |
-
* 'arg4' => false,
|
118 |
-
* );
|
119 |
-
* $r = wp_parse_args( $args, $defaults ); // ...
|
120 |
-
*
|
121 |
-
* The first argument, $old_args_keys, is an array that matches the parameter positions (keys) to
|
122 |
-
* the new $args keys (values):
|
123 |
-
*
|
124 |
-
* $old_args_keys = array(
|
125 |
-
* 0 => 'bar', // because $bar was the 0th parameter for foo()
|
126 |
-
* 1 => 'baz', // because $baz was the 1st parameter for foo()
|
127 |
-
* 2 => 'barry', // etc
|
128 |
-
* 3 => 'blip'
|
129 |
-
* );
|
130 |
-
*
|
131 |
-
* For the second argument, $func_args, you should just pass the value of func_get_args().
|
132 |
-
*
|
133 |
-
* @since BuddyPress (1.6)
|
134 |
-
* @param array $old_args_keys
|
135 |
-
* @param array $func_args
|
136 |
-
* @return array $new_args
|
137 |
-
*/
|
138 |
-
function bp_core_parse_args_array( $old_args_keys, $func_args ) {
|
139 |
-
$new_args = array();
|
140 |
-
|
141 |
-
foreach( $old_args_keys as $arg_num => $arg_key ) {
|
142 |
-
if ( isset( $func_args[$arg_num] ) ) {
|
143 |
-
$new_args[$arg_key] = $func_args[$arg_num];
|
144 |
-
}
|
145 |
-
}
|
146 |
-
|
147 |
-
return $new_args;
|
148 |
-
}
|
149 |
-
|
150 |
-
/**
|
151 |
-
* Sanitize an 'order' parameter for use in building SQL queries
|
152 |
-
*
|
153 |
-
* Strings like 'DESC', 'desc', ' desc' will be interpreted into 'DESC'.
|
154 |
-
* Everything else becomes 'ASC'.
|
155 |
-
*
|
156 |
-
* @since BuddyPress (1.8)
|
157 |
-
* @param string $order The 'order' string, as passed to the SQL constructor
|
158 |
-
* @return string The sanitized value 'DESC' or 'ASC'
|
159 |
-
*/
|
160 |
-
function bp_esc_sql_order( $order = '' ) {
|
161 |
-
$order = strtoupper( trim( $order ) );
|
162 |
-
return 'DESC' === $order ? 'DESC' : 'ASC';
|
163 |
-
}
|
164 |
-
|
165 |
-
/**
|
166 |
-
* Are we running username compatibility mode?
|
167 |
-
*
|
168 |
-
* @package BuddyPress
|
169 |
-
* @since BuddyPress (1.5)
|
170 |
-
*
|
171 |
-
* @uses apply_filters() Filter 'bp_is_username_compatibility_mode' to alter
|
172 |
-
* @return bool False when compatibility mode is disabled (default); true when enabled
|
173 |
-
* @todo Move to members component?
|
174 |
-
*/
|
175 |
-
function bp_is_username_compatibility_mode() {
|
176 |
-
return apply_filters( 'bp_is_username_compatibility_mode', defined( 'BP_ENABLE_USERNAME_COMPATIBILITY_MODE' ) && BP_ENABLE_USERNAME_COMPATIBILITY_MODE );
|
177 |
-
}
|
178 |
-
|
179 |
-
/**
|
180 |
-
* Should we use the WP Toolbar?
|
181 |
-
*
|
182 |
-
* The WP Toolbar, introduced in WP 3.1, is fully supported in BuddyPress as of BP 1.5.
|
183 |
-
* For BP 1.6, the WP Toolbar is the default.
|
184 |
-
*
|
185 |
-
* @return bool False when WP Toolbar support is disabled; true when enabled (default)
|
186 |
-
* @since BuddyPress (1.5)
|
187 |
-
* @uses apply_filters() Filter 'bp_use_wp_admin_bar' to alter
|
188 |
-
*/
|
189 |
-
function bp_use_wp_admin_bar() {
|
190 |
-
$use_admin_bar = true;
|
191 |
-
|
192 |
-
// Has the WP Toolbar constant been explicity set?
|
193 |
-
if ( defined( 'BP_USE_WP_ADMIN_BAR' ) && ! BP_USE_WP_ADMIN_BAR )
|
194 |
-
$use_admin_bar = false;
|
195 |
-
|
196 |
-
// Has the admin chosen to use the BuddyBar during an upgrade?
|
197 |
-
elseif ( (bool) bp_get_option( '_bp_force_buddybar', false ) )
|
198 |
-
$use_admin_bar = false;
|
199 |
-
|
200 |
-
return apply_filters( 'bp_use_wp_admin_bar', $use_admin_bar );
|
201 |
-
}
|
202 |
-
|
203 |
-
/** Directory *****************************************************************/
|
204 |
-
|
205 |
/**
|
206 |
* Fetches BP pages from the meta table, depending on setup
|
207 |
*
|
@@ -244,7 +126,7 @@ function bp_core_update_directory_page_ids( $blog_page_ids ) {
|
|
244 |
* @package BuddyPress Core
|
245 |
* @since BuddyPress (1.5)
|
246 |
*
|
247 |
-
* @return
|
248 |
*/
|
249 |
function bp_core_get_directory_pages() {
|
250 |
global $wpdb;
|
@@ -393,8 +275,8 @@ function bp_core_add_page_mappings( $components, $existing = 'keep' ) {
|
|
393 |
* @package BuddyPress Core
|
394 |
* @since BuddyPress (1.5)
|
395 |
*
|
396 |
-
* @param
|
397 |
-
* @return
|
398 |
*/
|
399 |
function bp_core_component_slug_from_root_slug( $root_slug ) {
|
400 |
$slug_chunks = explode( '/', $root_slug );
|
@@ -403,73 +285,13 @@ function bp_core_component_slug_from_root_slug( $root_slug ) {
|
|
403 |
return apply_filters( 'bp_core_component_slug_from_root_slug', $slug, $root_slug );
|
404 |
}
|
405 |
|
406 |
-
/**
|
407 |
-
* This function originally let plugins add support for pages in the root of the install.
|
408 |
-
* These root level pages are now handled by actual WordPress pages and this function is now
|
409 |
-
* a convenience for compatibility with the new method.
|
410 |
-
*
|
411 |
-
* @global $bp BuddyPress global settings
|
412 |
-
* @param string $slug The slug of the component
|
413 |
-
*/
|
414 |
-
function bp_core_add_root_component( $slug ) {
|
415 |
-
global $bp;
|
416 |
-
|
417 |
-
if ( empty( $bp->pages ) )
|
418 |
-
$bp->pages = bp_core_get_directory_pages();
|
419 |
-
|
420 |
-
$match = false;
|
421 |
-
|
422 |
-
// Check if the slug is registered in the $bp->pages global
|
423 |
-
foreach ( (array) $bp->pages as $key => $page ) {
|
424 |
-
if ( $key == $slug || $page->slug == $slug )
|
425 |
-
$match = true;
|
426 |
-
}
|
427 |
-
|
428 |
-
// If there was no match, add a page for this root component
|
429 |
-
if ( empty( $match ) ) {
|
430 |
-
$bp->add_root[] = $slug;
|
431 |
-
}
|
432 |
-
|
433 |
-
// Make sure that this component is registered as requiring a top-level directory
|
434 |
-
if ( isset( $bp->{$slug} ) ) {
|
435 |
-
$bp->loaded_components[$bp->{$slug}->slug] = $bp->{$slug}->id;
|
436 |
-
$bp->{$slug}->has_directory = true;
|
437 |
-
}
|
438 |
-
}
|
439 |
-
|
440 |
-
function bp_core_create_root_component_page() {
|
441 |
-
global $bp;
|
442 |
-
|
443 |
-
$new_page_ids = array();
|
444 |
-
|
445 |
-
foreach ( (array) $bp->add_root as $slug )
|
446 |
-
$new_page_ids[$slug] = wp_insert_post( array( 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_title' => ucwords( $slug ), 'post_status' => 'publish', 'post_type' => 'page' ) );
|
447 |
-
|
448 |
-
$page_ids = array_merge( (array) $new_page_ids, (array) bp_core_get_directory_page_ids() );
|
449 |
-
bp_core_update_directory_page_ids( $page_ids );
|
450 |
-
}
|
451 |
-
|
452 |
-
/**
|
453 |
-
* Adds illegal names to WP so that root components will not conflict with
|
454 |
-
* blog names on a subdirectory installation.
|
455 |
-
*
|
456 |
-
* For example, it would stop someone creating a blog with the slug "groups".
|
457 |
-
*
|
458 |
-
* @todo Deprecate?
|
459 |
-
*/
|
460 |
-
function bp_core_add_illegal_names() {
|
461 |
-
update_site_option( 'illegal_names', get_site_option( 'illegal_names' ), array() );
|
462 |
-
}
|
463 |
-
|
464 |
-
/** URI ***********************************************************************/
|
465 |
-
|
466 |
/**
|
467 |
* Returns the domain for the root blog.
|
468 |
* eg: http://domain.com/ OR https://domain.com
|
469 |
*
|
470 |
* @package BuddyPress Core
|
471 |
* @uses get_blog_option() WordPress function to fetch blog meta.
|
472 |
-
* @return
|
473 |
*/
|
474 |
function bp_core_get_root_domain() {
|
475 |
|
@@ -479,86 +301,119 @@ function bp_core_get_root_domain() {
|
|
479 |
}
|
480 |
|
481 |
/**
|
482 |
-
*
|
483 |
*
|
484 |
* @package BuddyPress Core
|
485 |
-
* @
|
486 |
*/
|
487 |
-
function
|
488 |
-
|
489 |
-
|
490 |
-
// empty value for $location, which results in an error. Ensure that we
|
491 |
-
// have a valid URL.
|
492 |
-
if ( empty( $location ) )
|
493 |
-
$location = bp_get_root_domain();
|
494 |
-
|
495 |
-
// Make sure we don't call status_header() in bp_core_do_catch_uri() as this
|
496 |
-
// conflicts with wp_redirect() and wp_safe_redirect().
|
497 |
-
buddypress()->no_status_set = true;
|
498 |
|
499 |
-
|
500 |
-
die;
|
501 |
}
|
502 |
|
503 |
/**
|
504 |
-
*
|
|
|
505 |
*
|
506 |
* @package BuddyPress Core
|
507 |
-
*
|
|
|
|
|
|
|
508 |
*/
|
509 |
-
function
|
510 |
-
$
|
511 |
-
|
512 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
513 |
}
|
514 |
|
515 |
/**
|
516 |
-
*
|
|
|
|
|
517 |
*
|
518 |
-
*
|
|
|
519 |
*
|
520 |
-
* @
|
521 |
-
* @
|
|
|
|
|
522 |
*/
|
523 |
-
function
|
524 |
-
global $
|
525 |
|
526 |
-
if (
|
527 |
-
$
|
528 |
-
else {
|
529 |
-
$site_path = (array) explode( '/', home_url() );
|
530 |
|
531 |
-
|
532 |
-
|
533 |
-
else {
|
534 |
-
// Unset the first three segments (http(s)://domain.com part)
|
535 |
-
unset( $site_path[0] );
|
536 |
-
unset( $site_path[1] );
|
537 |
-
unset( $site_path[2] );
|
538 |
|
539 |
-
|
540 |
-
$site_path = '/';
|
541 |
-
else
|
542 |
-
$site_path = '/' . implode( '/', $site_path ) . '/';
|
543 |
-
}
|
544 |
-
}
|
545 |
|
546 |
-
|
|
|
|
|
|
|
547 |
}
|
548 |
-
|
549 |
-
/** Time **********************************************************************/
|
550 |
|
551 |
/**
|
552 |
-
*
|
|
|
553 |
*
|
554 |
* @package BuddyPress Core
|
555 |
-
* @
|
556 |
*/
|
557 |
-
function
|
558 |
-
|
559 |
-
$current_time = current_time( 'mysql', $gmt );
|
560 |
|
561 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
}
|
563 |
|
564 |
/**
|
@@ -570,16 +425,12 @@ function bp_core_current_time( $gmt = true ) {
|
|
570 |
* eg: 4 days
|
571 |
* eg: 4 weeks and 6 days
|
572 |
*
|
573 |
-
* Note that fractions of minutes are not represented in the return string. So
|
574 |
-
* an interval of 3 minutes will be represented by "3 minutes ago", as will an
|
575 |
-
* interval of 3 minutes 59 seconds.
|
576 |
-
*
|
577 |
* @package BuddyPress Core
|
578 |
* @uses apply_filters() Filter 'bp_core_time_since_pre' to bypass BP's calculations
|
579 |
* @uses apply_filters() Filter 'bp_core_time_since' to modify BP's calculations
|
580 |
-
* @param
|
581 |
-
* @param
|
582 |
-
* @return
|
583 |
*/
|
584 |
function bp_core_time_since( $older_date, $newer_date = false ) {
|
585 |
|
@@ -595,13 +446,13 @@ function bp_core_time_since( $older_date, $newer_date = false ) {
|
|
595 |
|
596 |
// array of time period chunks
|
597 |
$chunks = array(
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
1
|
605 |
);
|
606 |
|
607 |
if ( !empty( $older_date ) && !is_numeric( $older_date ) ) {
|
@@ -634,7 +485,7 @@ function bp_core_time_since( $older_date, $newer_date = false ) {
|
|
634 |
|
635 |
// Step one: the first chunk
|
636 |
for ( $i = 0, $j = count( $chunks ); $i < $j; ++$i ) {
|
637 |
-
$seconds = $chunks[$i];
|
638 |
|
639 |
// Finding the biggest chunk (if the chunk fits, break)
|
640 |
$count = floor( $since / $seconds );
|
@@ -650,62 +501,17 @@ function bp_core_time_since( $older_date, $newer_date = false ) {
|
|
650 |
} else {
|
651 |
|
652 |
// Set output var
|
653 |
-
|
654 |
-
case YEAR_IN_SECONDS :
|
655 |
-
$output = sprintf( _n( '%s year', '%s years', $count, 'buddypress' ), $count );
|
656 |
-
break;
|
657 |
-
case 30 * DAY_IN_SECONDS :
|
658 |
-
$output = sprintf( _n( '%s month', '%s months', $count, 'buddypress' ), $count );
|
659 |
-
break;
|
660 |
-
case WEEK_IN_SECONDS :
|
661 |
-
$output = sprintf( _n( '%s week', '%s weeks', $count, 'buddypress' ), $count );
|
662 |
-
break;
|
663 |
-
case DAY_IN_SECONDS :
|
664 |
-
$output = sprintf( _n( '%s day', '%s days', $count, 'buddypress' ), $count );
|
665 |
-
break;
|
666 |
-
case HOUR_IN_SECONDS :
|
667 |
-
$output = sprintf( _n( '%s hour', '%s hours', $count, 'buddypress' ), $count );
|
668 |
-
break;
|
669 |
-
case MINUTE_IN_SECONDS :
|
670 |
-
$output = sprintf( _n( '%s minute', '%s minutes', $count, 'buddypress' ), $count );
|
671 |
-
break;
|
672 |
-
default:
|
673 |
-
$output = sprintf( _n( '%s second', '%s seconds', $count, 'buddypress' ), $count );
|
674 |
-
}
|
675 |
|
676 |
// Step two: the second chunk
|
677 |
-
// A quirk in the implementation means that this
|
678 |
-
// condition fails in the case of minutes and seconds.
|
679 |
-
// We've left the quirk in place, since fractions of a
|
680 |
-
// minute are not a useful piece of information for our
|
681 |
-
// purposes
|
682 |
if ( $i + 2 < $j ) {
|
683 |
-
$seconds2 = $chunks[$i + 1];
|
|
|
684 |
$count2 = floor( ( $since - ( $seconds * $count ) ) / $seconds2 );
|
685 |
|
686 |
// Add to output var
|
687 |
if ( 0 != $count2 ) {
|
688 |
-
$output .= _x( ',', 'Separator in time since', 'buddypress' ) . ' ';
|
689 |
-
|
690 |
-
switch ( $seconds2 ) {
|
691 |
-
case 30 * DAY_IN_SECONDS :
|
692 |
-
$output .= sprintf( _n( '%s month', '%s months', $count2, 'buddypress' ), $count2 );
|
693 |
-
break;
|
694 |
-
case WEEK_IN_SECONDS :
|
695 |
-
$output .= sprintf( _n( '%s week', '%s weeks', $count2, 'buddypress' ), $count2 );
|
696 |
-
break;
|
697 |
-
case DAY_IN_SECONDS :
|
698 |
-
$output .= sprintf( _n( '%s day', '%s days', $count2, 'buddypress' ), $count2 );
|
699 |
-
break;
|
700 |
-
case HOUR_IN_SECONDS :
|
701 |
-
$output .= sprintf( _n( '%s hour', '%s hours', $count2, 'buddypress' ), $count2 );
|
702 |
-
break;
|
703 |
-
case MINUTE_IN_SECONDS :
|
704 |
-
$output .= sprintf( _n( '%s minute', '%s minutes', $count2, 'buddypress' ), $count2 );
|
705 |
-
break;
|
706 |
-
default:
|
707 |
-
$output .= sprintf( _n( '%s second', '%s seconds', $count2, 'buddypress' ), $count2 );
|
708 |
-
}
|
709 |
}
|
710 |
}
|
711 |
|
@@ -724,151 +530,339 @@ function bp_core_time_since( $older_date, $newer_date = false ) {
|
|
724 |
return apply_filters( 'bp_core_time_since', $output, $older_date, $newer_date );
|
725 |
}
|
726 |
|
727 |
-
/**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
728 |
|
729 |
/**
|
730 |
-
*
|
731 |
-
* displayed after the page reloads.
|
732 |
*
|
733 |
* @package BuddyPress Core
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
734 |
*
|
735 |
-
* @
|
736 |
-
*
|
737 |
-
* @
|
|
|
738 |
*/
|
739 |
-
function
|
740 |
-
global $
|
741 |
|
742 |
-
|
743 |
-
|
744 |
-
|
|
|
745 |
|
746 |
-
|
747 |
-
|
748 |
-
|
|
|
|
|
|
|
|
|
749 |
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
|
|
|
|
756 |
}
|
757 |
|
758 |
/**
|
759 |
-
*
|
760 |
-
* "template_notices" action so that the message can be parsed into the template
|
761 |
-
* and displayed to the user.
|
762 |
-
*
|
763 |
-
* After the message is displayed, it removes the message vars from the cookie
|
764 |
-
* so that the message is not shown to the user multiple times.
|
765 |
*
|
766 |
* @package BuddyPress Core
|
767 |
-
* @
|
768 |
-
* @global $bp_message_type The type of message (error/success)
|
769 |
-
* @uses setcookie() Sets a cookie value for the user.
|
770 |
*/
|
771 |
-
function
|
772 |
-
global $bp;
|
773 |
|
774 |
-
|
775 |
-
|
|
|
|
|
|
|
776 |
|
777 |
-
|
778 |
-
|
|
|
779 |
|
780 |
-
|
|
|
|
|
781 |
|
782 |
-
|
783 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
784 |
}
|
785 |
-
add_action( 'bp_actions', 'bp_core_setup_message', 5 );
|
786 |
|
787 |
/**
|
788 |
-
*
|
789 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
790 |
*
|
791 |
* @package BuddyPress Core
|
792 |
-
* @
|
793 |
*/
|
794 |
-
function
|
795 |
-
global $bp;
|
796 |
|
797 |
-
if ( !
|
798 |
-
|
799 |
-
$content = apply_filters( 'bp_core_render_message_content', $bp->template_message, $type ); ?>
|
800 |
|
801 |
-
|
|
|
|
|
|
|
802 |
|
803 |
-
|
|
|
|
|
804 |
|
805 |
-
|
|
|
|
|
|
|
|
|
806 |
|
807 |
-
|
|
|
|
|
808 |
|
809 |
-
|
|
|
|
|
|
|
|
|
|
|
810 |
|
811 |
-
|
812 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
813 |
|
814 |
-
|
|
|
|
|
815 |
|
816 |
/**
|
817 |
-
*
|
818 |
-
* show the length of time since the user was last active.
|
819 |
-
* This function will update that time as a usermeta setting for the user every 5 minutes.
|
820 |
*
|
821 |
* @package BuddyPress Core
|
822 |
-
* @global $userdata WordPress user data for the current logged in user.
|
823 |
-
* @uses bp_update_user_meta() BP function to update user metadata in the usermeta table.
|
824 |
*/
|
825 |
-
function
|
|
|
826 |
|
827 |
-
|
828 |
-
return false;
|
829 |
|
830 |
-
|
|
|
|
|
831 |
|
832 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
833 |
return false;
|
|
|
|
|
834 |
|
835 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
836 |
|
837 |
-
if (
|
838 |
-
$
|
|
|
|
|
839 |
|
840 |
-
|
841 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
842 |
|
843 |
-
|
844 |
-
|
845 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
846 |
}
|
847 |
|
848 |
-
|
849 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
850 |
}
|
851 |
-
add_action( 'wp_head', 'bp_core_record_activity' );
|
852 |
|
853 |
/**
|
854 |
-
*
|
855 |
*
|
856 |
-
* @package BuddyPress
|
857 |
-
* @
|
858 |
-
*
|
859 |
-
* @
|
|
|
860 |
*/
|
861 |
-
function
|
862 |
|
863 |
-
|
864 |
-
|
865 |
-
else
|
866 |
-
$last_active = sprintf( $string, bp_core_time_since( $last_activity_date ) );
|
867 |
|
868 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
869 |
}
|
870 |
|
871 |
-
/**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
872 |
|
873 |
/**
|
874 |
* Get the meta_key for a given piece of user metadata
|
@@ -887,8 +881,8 @@ function bp_core_get_last_activity( $last_activity_date, $string ) {
|
|
887 |
* @since BuddyPress (1.5)
|
888 |
*
|
889 |
* @uses apply_filters() Filter bp_get_user_meta_key to modify keys individually
|
890 |
-
* @param
|
891 |
-
* @return
|
892 |
*/
|
893 |
function bp_get_user_meta_key( $key = false ) {
|
894 |
return apply_filters( 'bp_get_user_meta_key', $key );
|
@@ -937,41 +931,159 @@ function bp_update_user_meta( $user_id, $key, $value, $prev_value = '' ) {
|
|
937 |
}
|
938 |
|
939 |
/**
|
940 |
-
* Delete a piece of usermeta
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
941 |
*
|
942 |
-
*
|
943 |
-
* thereby increasing compatibility with non-standard BP setups.
|
944 |
*
|
945 |
-
*
|
946 |
-
* @since BuddyPress (1.5)
|
947 |
*
|
948 |
-
*
|
949 |
-
* @uses delete_user_meta() See delete_user_meta() docs for more details on parameters
|
950 |
-
* @param int $user_id The id of the user whose meta you're deleting
|
951 |
-
* @param string $key The meta key to delete.
|
952 |
-
* @param mixed $value Optional. Metadata value.
|
953 |
-
* @return bool False for failure. True for success.
|
954 |
-
*/
|
955 |
-
function bp_delete_user_meta( $user_id, $key, $value = '' ) {
|
956 |
-
return delete_user_meta( $user_id, bp_get_user_meta_key( $key ), $value );
|
957 |
-
}
|
958 |
-
|
959 |
-
/** Embeds ********************************************************************/
|
960 |
-
|
961 |
-
/**
|
962 |
-
* Initializes {@link BP_Embed} after everything is loaded.
|
963 |
*
|
964 |
-
*
|
965 |
-
*
|
966 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
967 |
*/
|
968 |
-
function
|
969 |
-
|
970 |
|
971 |
-
|
972 |
-
$
|
|
|
|
|
|
|
|
|
|
|
973 |
}
|
974 |
-
|
|
|
975 |
|
976 |
/**
|
977 |
* Are oembeds allowed in activity items?
|
@@ -1087,96 +1199,6 @@ function bp_core_admin_hook() {
|
|
1087 |
return apply_filters( 'bp_core_admin_hook', $hook );
|
1088 |
}
|
1089 |
|
1090 |
-
/** Multisite *****************************************************************/
|
1091 |
-
|
1092 |
-
/**
|
1093 |
-
* Is this the root blog ID?
|
1094 |
-
*
|
1095 |
-
* @package BuddyPress
|
1096 |
-
* @since BuddyPress (1.5)
|
1097 |
-
*
|
1098 |
-
* @param int $blog_id Optional. Defaults to the current blog id.
|
1099 |
-
* @return bool $is_root_blog Returns true if this is bp_get_root_blog_id().
|
1100 |
-
*/
|
1101 |
-
function bp_is_root_blog( $blog_id = 0 ) {
|
1102 |
-
|
1103 |
-
// Assume false
|
1104 |
-
$is_root_blog = false;
|
1105 |
-
|
1106 |
-
// Use current blog if no ID is passed
|
1107 |
-
if ( empty( $blog_id ) )
|
1108 |
-
$blog_id = get_current_blog_id();
|
1109 |
-
|
1110 |
-
// Compare to root blog ID
|
1111 |
-
if ( $blog_id == bp_get_root_blog_id() )
|
1112 |
-
$is_root_blog = true;
|
1113 |
-
|
1114 |
-
return (bool) apply_filters( 'bp_is_root_blog', (bool) $is_root_blog );
|
1115 |
-
}
|
1116 |
-
|
1117 |
-
/**
|
1118 |
-
* Is this bp_get_root_blog_id()?
|
1119 |
-
*
|
1120 |
-
* @package BuddyPress
|
1121 |
-
* @since BuddyPress (1.5)
|
1122 |
-
*
|
1123 |
-
* @return int Return the root site ID
|
1124 |
-
*/
|
1125 |
-
function bp_get_root_blog_id() {
|
1126 |
-
global $bp;
|
1127 |
-
|
1128 |
-
return (int) apply_filters( 'bp_get_root_blog_id', (int) $bp->root_blog_id );
|
1129 |
-
}
|
1130 |
-
|
1131 |
-
/**
|
1132 |
-
* Are we running multiblog mode?
|
1133 |
-
*
|
1134 |
-
* Note that BP_ENABLE_MULTIBLOG is different from (but dependent on) WordPress
|
1135 |
-
* Multisite. "Multiblog" is BuddyPress setup that allows BuddyPress components
|
1136 |
-
* to be viewed on every blog on the network, each with their own settings.
|
1137 |
-
*
|
1138 |
-
* Thus, instead of having all 'boonebgorges' links go to
|
1139 |
-
* http://example.com/members/boonebgorges
|
1140 |
-
* on the root blog, each blog will have its own version of the same content, eg
|
1141 |
-
* http://site2.example.com/members/boonebgorges (for subdomains)
|
1142 |
-
* http://example.com/site2/members/boonebgorges (for subdirectories)
|
1143 |
-
*
|
1144 |
-
* Multiblog mode is disabled by default, meaning that all BuddyPress content
|
1145 |
-
* must be viewed on the root blog. It's also recommended not to use the
|
1146 |
-
* BP_ENABLE_MULTIBLOG constant beyond 1.7, as BuddyPress can now be activated
|
1147 |
-
* on individual sites.
|
1148 |
-
*
|
1149 |
-
* Why would you want to use this? Originally it was intended to allow
|
1150 |
-
* BuddyPress to live in mu-plugins and be visible on mapped domains. This is
|
1151 |
-
* a very small use-case with large architectural shortcomings, so do not go
|
1152 |
-
* down this road unless you specifically need to.
|
1153 |
-
*
|
1154 |
-
* @package BuddyPress
|
1155 |
-
* @since BuddyPress (1.5)
|
1156 |
-
*
|
1157 |
-
* @uses apply_filters() Filter 'bp_is_multiblog_mode' to alter
|
1158 |
-
* @return bool False when multiblog mode is disabled (default); true when enabled
|
1159 |
-
*/
|
1160 |
-
function bp_is_multiblog_mode() {
|
1161 |
-
|
1162 |
-
// Setup some default values
|
1163 |
-
$retval = false;
|
1164 |
-
$is_multisite = is_multisite();
|
1165 |
-
$network_active = bp_is_network_activated();
|
1166 |
-
$is_multiblog = defined( 'BP_ENABLE_MULTIBLOG' ) && BP_ENABLE_MULTIBLOG;
|
1167 |
-
|
1168 |
-
// Multisite, Network Activated, and Specifically Multiblog
|
1169 |
-
if ( $is_multisite && $network_active && $is_multiblog ) {
|
1170 |
-
$retval = true;
|
1171 |
-
|
1172 |
-
// Multisite, but not network activated
|
1173 |
-
} elseif ( $is_multisite && ! $network_active ) {
|
1174 |
-
$retval = true;
|
1175 |
-
}
|
1176 |
-
|
1177 |
-
return apply_filters( 'bp_is_multiblog_mode', $retval );
|
1178 |
-
}
|
1179 |
-
|
1180 |
/**
|
1181 |
* Is BuddyPress active at the network level for this network?
|
1182 |
*
|
@@ -1210,7 +1232,7 @@ function bp_is_network_activated() {
|
|
1210 |
*
|
1211 |
* @global BuddyPress $bp The one true BuddyPress instance
|
1212 |
* @param bool $is_directory
|
1213 |
-
* @param
|
1214 |
*/
|
1215 |
function bp_update_is_directory( $is_directory = false, $component = '' ) {
|
1216 |
global $bp;
|
@@ -1226,7 +1248,7 @@ function bp_update_is_directory( $is_directory = false, $component = '' ) {
|
|
1226 |
*
|
1227 |
* @global BuddyPress $bp The one true BuddyPress instance
|
1228 |
* @param bool $is_item_admin
|
1229 |
-
* @param
|
1230 |
*/
|
1231 |
function bp_update_is_item_admin( $is_item_admin = false, $component = '' ) {
|
1232 |
global $bp;
|
@@ -1242,7 +1264,7 @@ function bp_update_is_item_admin( $is_item_admin = false, $component = '' ) {
|
|
1242 |
*
|
1243 |
* @global BuddyPress $bp The one true BuddyPress instance
|
1244 |
* @param bool $is_item_mod
|
1245 |
-
* @param
|
1246 |
*/
|
1247 |
function bp_update_is_item_mod( $is_item_mod = false, $component = '' ) {
|
1248 |
global $bp;
|
@@ -1306,105 +1328,3 @@ function bp_verify_nonce_request( $action = '', $query_arg = '_wpnonce' ) {
|
|
1306 |
|
1307 |
return $result;
|
1308 |
}
|
1309 |
-
|
1310 |
-
/** Miscellaneous hooks *******************************************************/
|
1311 |
-
|
1312 |
-
/**
|
1313 |
-
* Load the buddypress translation file for current language
|
1314 |
-
*
|
1315 |
-
* @package BuddyPress Core
|
1316 |
-
*/
|
1317 |
-
function bp_core_load_buddypress_textdomain() {
|
1318 |
-
// Try to load via load_plugin_textdomain() first, for future
|
1319 |
-
// wordpress.org translation downloads
|
1320 |
-
if ( load_plugin_textdomain( 'buddypress', false, 'buddypress/bp-languages' ) ) {
|
1321 |
-
return true;
|
1322 |
-
}
|
1323 |
-
|
1324 |
-
// Nothing found in bp-languages, so try to load from WP_LANG_DIR
|
1325 |
-
$locale = apply_filters( 'buddypress_locale', get_locale() );
|
1326 |
-
$mofile = WP_LANG_DIR . '/buddypress-' . $locale . '.mo';
|
1327 |
-
|
1328 |
-
return load_textdomain( 'buddypress', $mofile );
|
1329 |
-
}
|
1330 |
-
add_action ( 'bp_core_loaded', 'bp_core_load_buddypress_textdomain' );
|
1331 |
-
|
1332 |
-
/**
|
1333 |
-
* A javascript free implementation of the search functions in BuddyPress
|
1334 |
-
*
|
1335 |
-
* @package BuddyPress Core
|
1336 |
-
* @param string $slug The slug to redirect to for searching.
|
1337 |
-
*/
|
1338 |
-
function bp_core_action_search_site( $slug = '' ) {
|
1339 |
-
|
1340 |
-
if ( !bp_is_current_component( bp_get_search_slug() ) )
|
1341 |
-
return;
|
1342 |
-
|
1343 |
-
if ( empty( $_POST['search-terms'] ) ) {
|
1344 |
-
bp_core_redirect( bp_get_root_domain() );
|
1345 |
-
return;
|
1346 |
-
}
|
1347 |
-
|
1348 |
-
$search_terms = stripslashes( $_POST['search-terms'] );
|
1349 |
-
$search_which = !empty( $_POST['search-which'] ) ? $_POST['search-which'] : '';
|
1350 |
-
$query_string = '/?s=';
|
1351 |
-
|
1352 |
-
if ( empty( $slug ) ) {
|
1353 |
-
switch ( $search_which ) {
|
1354 |
-
case 'posts':
|
1355 |
-
$slug = '';
|
1356 |
-
$var = '/?s=';
|
1357 |
-
|
1358 |
-
// If posts aren't displayed on the front page, find the post page's slug.
|
1359 |
-
if ( 'page' == get_option( 'show_on_front' ) ) {
|
1360 |
-
$page = get_post( get_option( 'page_for_posts' ) );
|
1361 |
-
|
1362 |
-
if ( !is_wp_error( $page ) && !empty( $page->post_name ) ) {
|
1363 |
-
$slug = $page->post_name;
|
1364 |
-
$var = '?s=';
|
1365 |
-
}
|
1366 |
-
}
|
1367 |
-
break;
|
1368 |
-
|
1369 |
-
case 'blogs':
|
1370 |
-
$slug = bp_is_active( 'blogs' ) ? bp_get_blogs_root_slug() : '';
|
1371 |
-
break;
|
1372 |
-
|
1373 |
-
case 'forums':
|
1374 |
-
$slug = bp_is_active( 'forums' ) ? bp_get_forums_root_slug() : '';
|
1375 |
-
$query_string = '/?fs=';
|
1376 |
-
break;
|
1377 |
-
|
1378 |
-
case 'groups':
|
1379 |
-
$slug = bp_is_active( 'groups' ) ? bp_get_groups_root_slug() : '';
|
1380 |
-
break;
|
1381 |
-
|
1382 |
-
case 'members':
|
1383 |
-
default:
|
1384 |
-
$slug = bp_get_members_root_slug();
|
1385 |
-
break;
|
1386 |
-
}
|
1387 |
-
|
1388 |
-
if ( empty( $slug ) && 'posts' != $search_which ) {
|
1389 |
-
bp_core_redirect( bp_get_root_domain() );
|
1390 |
-
return;
|
1391 |
-
}
|
1392 |
-
}
|
1393 |
-
|
1394 |
-
bp_core_redirect( apply_filters( 'bp_core_search_site', home_url( $slug . $query_string . urlencode( $search_terms ) ), $search_terms ) );
|
1395 |
-
}
|
1396 |
-
add_action( 'bp_init', 'bp_core_action_search_site', 7 );
|
1397 |
-
|
1398 |
-
/**
|
1399 |
-
* Prints the generation time in the footer of the site.
|
1400 |
-
*
|
1401 |
-
* @package BuddyPress Core
|
1402 |
-
*/
|
1403 |
-
function bp_core_print_generation_time() {
|
1404 |
-
?>
|
1405 |
-
|
1406 |
-
<!-- Generated in <?php timer_stop(1); ?> seconds. (<?php echo get_num_queries(); ?> q) -->
|
1407 |
-
|
1408 |
-
<?php
|
1409 |
-
}
|
1410 |
-
add_action( 'wp_footer', 'bp_core_print_generation_time' );
|
84 |
return apply_filters( 'bp_core_get_table_prefix', $wpdb->base_prefix );
|
85 |
}
|
86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
/**
|
88 |
* Fetches BP pages from the meta table, depending on setup
|
89 |
*
|
126 |
* @package BuddyPress Core
|
127 |
* @since BuddyPress (1.5)
|
128 |
*
|
129 |
+
* @return obj $pages Page names, IDs, and slugs
|
130 |
*/
|
131 |
function bp_core_get_directory_pages() {
|
132 |
global $wpdb;
|
275 |
* @package BuddyPress Core
|
276 |
* @since BuddyPress (1.5)
|
277 |
*
|
278 |
+
* @param str $root_slug The root slug, which comes from $bp->pages->[component]->slug
|
279 |
+
* @return str $slug The short slug for use in the middle of URLs
|
280 |
*/
|
281 |
function bp_core_component_slug_from_root_slug( $root_slug ) {
|
282 |
$slug_chunks = explode( '/', $root_slug );
|
285 |
return apply_filters( 'bp_core_component_slug_from_root_slug', $slug, $root_slug );
|
286 |
}
|
287 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
/**
|
289 |
* Returns the domain for the root blog.
|
290 |
* eg: http://domain.com/ OR https://domain.com
|
291 |
*
|
292 |
* @package BuddyPress Core
|
293 |
* @uses get_blog_option() WordPress function to fetch blog meta.
|
294 |
+
* @return $domain The domain URL for the blog.
|
295 |
*/
|
296 |
function bp_core_get_root_domain() {
|
297 |
|
301 |
}
|
302 |
|
303 |
/**
|
304 |
+
* Get the current GMT time to save into the DB
|
305 |
*
|
306 |
* @package BuddyPress Core
|
307 |
+
* @since BuddyPress (1.2.6)
|
308 |
*/
|
309 |
+
function bp_core_current_time( $gmt = true ) {
|
310 |
+
// Get current time in MYSQL format
|
311 |
+
$current_time = current_time( 'mysql', $gmt );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
312 |
|
313 |
+
return apply_filters( 'bp_core_current_time', $current_time );
|
|
|
314 |
}
|
315 |
|
316 |
/**
|
317 |
+
* Adds a feedback (error/success) message to the WP cookie so it can be
|
318 |
+
* displayed after the page reloads.
|
319 |
*
|
320 |
* @package BuddyPress Core
|
321 |
+
*
|
322 |
+
* @global BuddyPress $bp The one true BuddyPress instance
|
323 |
+
* @param str $message Feedback to give to user
|
324 |
+
* @param str $type updated|success|error|warning
|
325 |
*/
|
326 |
+
function bp_core_add_message( $message, $type = '' ) {
|
327 |
+
global $bp;
|
328 |
+
|
329 |
+
// Success is the default
|
330 |
+
if ( empty( $type ) )
|
331 |
+
$type = 'success';
|
332 |
+
|
333 |
+
// Send the values to the cookie for page reload display
|
334 |
+
@setcookie( 'bp-message', $message, time() + 60 * 60 * 24, COOKIEPATH );
|
335 |
+
@setcookie( 'bp-message-type', $type, time() + 60 * 60 * 24, COOKIEPATH );
|
336 |
+
|
337 |
+
/***
|
338 |
+
* Send the values to the $bp global so we can still output messages
|
339 |
+
* without a page reload
|
340 |
+
*/
|
341 |
+
$bp->template_message = $message;
|
342 |
+
$bp->template_message_type = $type;
|
343 |
}
|
344 |
|
345 |
/**
|
346 |
+
* Checks if there is a feedback message in the WP cookie, if so, adds a
|
347 |
+
* "template_notices" action so that the message can be parsed into the template
|
348 |
+
* and displayed to the user.
|
349 |
*
|
350 |
+
* After the message is displayed, it removes the message vars from the cookie
|
351 |
+
* so that the message is not shown to the user multiple times.
|
352 |
*
|
353 |
+
* @package BuddyPress Core
|
354 |
+
* @global $bp_message The message text
|
355 |
+
* @global $bp_message_type The type of message (error/success)
|
356 |
+
* @uses setcookie() Sets a cookie value for the user.
|
357 |
*/
|
358 |
+
function bp_core_setup_message() {
|
359 |
+
global $bp;
|
360 |
|
361 |
+
if ( empty( $bp->template_message ) && isset( $_COOKIE['bp-message'] ) )
|
362 |
+
$bp->template_message = stripslashes( $_COOKIE['bp-message'] );
|
|
|
|
|
363 |
|
364 |
+
if ( empty( $bp->template_message_type ) && isset( $_COOKIE['bp-message-type'] ) )
|
365 |
+
$bp->template_message_type = stripslashes( $_COOKIE['bp-message-type'] );
|
|
|
|
|
|
|
|
|
|
|
366 |
|
367 |
+
add_action( 'template_notices', 'bp_core_render_message' );
|
|
|
|
|
|
|
|
|
|
|
368 |
|
369 |
+
if ( isset( $_COOKIE['bp-message'] ) )
|
370 |
+
@setcookie( 'bp-message', false, time() - 1000, COOKIEPATH );
|
371 |
+
if ( isset( $_COOKIE['bp-message-type'] ) )
|
372 |
+
@setcookie( 'bp-message-type', false, time() - 1000, COOKIEPATH );
|
373 |
}
|
374 |
+
add_action( 'bp_actions', 'bp_core_setup_message', 5 );
|
|
|
375 |
|
376 |
/**
|
377 |
+
* Renders a feedback message (either error or success message) to the theme template.
|
378 |
+
* The hook action 'template_notices' is used to call this function, it is not called directly.
|
379 |
*
|
380 |
* @package BuddyPress Core
|
381 |
+
* @global BuddyPress $bp The one true BuddyPress instance
|
382 |
*/
|
383 |
+
function bp_core_render_message() {
|
384 |
+
global $bp;
|
|
|
385 |
|
386 |
+
if ( !empty( $bp->template_message ) ) :
|
387 |
+
$type = ( 'success' == $bp->template_message_type ) ? 'updated' : 'error';
|
388 |
+
$content = apply_filters( 'bp_core_render_message_content', $bp->template_message, $type ); ?>
|
389 |
+
|
390 |
+
<div id="message" class="bp-template-notice <?php echo $type; ?>">
|
391 |
+
|
392 |
+
<?php echo $content; ?>
|
393 |
+
|
394 |
+
</div>
|
395 |
+
|
396 |
+
<?php
|
397 |
+
|
398 |
+
do_action( 'bp_core_render_message' );
|
399 |
+
|
400 |
+
endif;
|
401 |
+
}
|
402 |
+
|
403 |
+
/**
|
404 |
+
* Format numbers the BuddyPress way
|
405 |
+
*
|
406 |
+
* @param str $number
|
407 |
+
* @param bool $decimals
|
408 |
+
* @return str
|
409 |
+
*/
|
410 |
+
function bp_core_number_format( $number, $decimals = false ) {
|
411 |
+
|
412 |
+
// Force number to 0 if needed
|
413 |
+
if ( empty( $number ) )
|
414 |
+
$number = 0;
|
415 |
+
|
416 |
+
return apply_filters( 'bp_core_number_format', number_format_i18n( $number, $decimals ), $number, $decimals );
|
417 |
}
|
418 |
|
419 |
/**
|
425 |
* eg: 4 days
|
426 |
* eg: 4 weeks and 6 days
|
427 |
*
|
|
|
|
|
|
|
|
|
428 |
* @package BuddyPress Core
|
429 |
* @uses apply_filters() Filter 'bp_core_time_since_pre' to bypass BP's calculations
|
430 |
* @uses apply_filters() Filter 'bp_core_time_since' to modify BP's calculations
|
431 |
+
* @param $older_date int Unix timestamp of date you want to calculate the time since for
|
432 |
+
* @param $newer_date int Unix timestamp of date to compare older date to. Default false (current time).
|
433 |
+
* @return str The time since.
|
434 |
*/
|
435 |
function bp_core_time_since( $older_date, $newer_date = false ) {
|
436 |
|
446 |
|
447 |
// array of time period chunks
|
448 |
$chunks = array(
|
449 |
+
array( 60 * 60 * 24 * 365 , __( 'year', 'buddypress' ), __( 'years', 'buddypress' ) ),
|
450 |
+
array( 60 * 60 * 24 * 30 , __( 'month', 'buddypress' ), __( 'months', 'buddypress' ) ),
|
451 |
+
array( 60 * 60 * 24 * 7, __( 'week', 'buddypress' ), __( 'weeks', 'buddypress' ) ),
|
452 |
+
array( 60 * 60 * 24 , __( 'day', 'buddypress' ), __( 'days', 'buddypress' ) ),
|
453 |
+
array( 60 * 60 , __( 'hour', 'buddypress' ), __( 'hours', 'buddypress' ) ),
|
454 |
+
array( 60 , __( 'minute', 'buddypress' ), __( 'minutes', 'buddypress' ) ),
|
455 |
+
array( 1, __( 'second', 'buddypress' ), __( 'seconds', 'buddypress' ) )
|
456 |
);
|
457 |
|
458 |
if ( !empty( $older_date ) && !is_numeric( $older_date ) ) {
|
485 |
|
486 |
// Step one: the first chunk
|
487 |
for ( $i = 0, $j = count( $chunks ); $i < $j; ++$i ) {
|
488 |
+
$seconds = $chunks[$i][0];
|
489 |
|
490 |
// Finding the biggest chunk (if the chunk fits, break)
|
491 |
$count = floor( $since / $seconds );
|
501 |
} else {
|
502 |
|
503 |
// Set output var
|
504 |
+
$output = ( 1 == $count ) ? '1 '. $chunks[$i][1] : $count . ' ' . $chunks[$i][2];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
505 |
|
506 |
// Step two: the second chunk
|
|
|
|
|
|
|
|
|
|
|
507 |
if ( $i + 2 < $j ) {
|
508 |
+
$seconds2 = $chunks[$i + 1][0];
|
509 |
+
$name2 = $chunks[$i + 1][1];
|
510 |
$count2 = floor( ( $since - ( $seconds * $count ) ) / $seconds2 );
|
511 |
|
512 |
// Add to output var
|
513 |
if ( 0 != $count2 ) {
|
514 |
+
$output .= ( 1 == $count2 ) ? _x( ',', 'Separator in time since', 'buddypress' ) . ' 1 '. $name2 : _x( ',', 'Separator in time since', 'buddypress' ) . ' ' . $count2 . ' ' . $chunks[$i + 1][2];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
515 |
}
|
516 |
}
|
517 |
|
530 |
return apply_filters( 'bp_core_time_since', $output, $older_date, $newer_date );
|
531 |
}
|
532 |
|
533 |
+
/**
|
534 |
+
* Record user activity to the database. Many functions use a "last active" feature to
|
535 |
+
* show the length of time since the user was last active.
|
536 |
+
* This function will update that time as a usermeta setting for the user every 5 minutes.
|
537 |
+
*
|
538 |
+
* @package BuddyPress Core
|
539 |
+
* @global $userdata WordPress user data for the current logged in user.
|
540 |
+
* @uses bp_update_user_meta() BP function to update user metadata in the usermeta table.
|
541 |
+
*/
|
542 |
+
function bp_core_record_activity() {
|
543 |
+
|
544 |
+
if ( !is_user_logged_in() )
|
545 |
+
return false;
|
546 |
+
|
547 |
+
$user_id = bp_loggedin_user_id();
|
548 |
+
|
549 |
+
if ( bp_is_user_inactive( $user_id ) )
|
550 |
+
return false;
|
551 |
+
|
552 |
+
$activity = bp_get_user_meta( $user_id, 'last_activity', true );
|
553 |
+
|
554 |
+
if ( !is_numeric( $activity ) )
|
555 |
+
$activity = strtotime( $activity );
|
556 |
+
|
557 |
+
// Get current time
|
558 |
+
$current_time = bp_core_current_time();
|
559 |
+
|
560 |
+
// Use this action to detect the very first activity for a given member
|
561 |
+
if ( empty( $activity ) ) {
|
562 |
+
do_action( 'bp_first_activity_for_member', $user_id );
|
563 |
+
}
|
564 |
+
|
565 |
+
if ( empty( $activity ) || strtotime( $current_time ) >= strtotime( '+5 minutes', $activity ) )
|
566 |
+
bp_update_user_meta( $user_id, 'last_activity', $current_time );
|
567 |
+
}
|
568 |
+
add_action( 'wp_head', 'bp_core_record_activity' );
|
569 |
|
570 |
/**
|
571 |
+
* Formats last activity based on time since date given.
|
|
|
572 |
*
|
573 |
* @package BuddyPress Core
|
574 |
+
* @param last_activity_date The date of last activity.
|
575 |
+
* @param $before The text to prepend to the activity time since figure.
|
576 |
+
* @param $after The text to append to the activity time since figure.
|
577 |
+
* @uses bp_core_time_since() This function will return an English representation of the time elapsed.
|
578 |
+
*/
|
579 |
+
function bp_core_get_last_activity( $last_activity_date, $string ) {
|
580 |
+
|
581 |
+
if ( empty( $last_activity_date ) )
|
582 |
+
$last_active = __( 'Not recently active', 'buddypress' );
|
583 |
+
else
|
584 |
+
$last_active = sprintf( $string, bp_core_time_since( $last_activity_date ) );
|
585 |
+
|
586 |
+
return apply_filters( 'bp_core_get_last_activity', $last_active, $last_activity_date, $string );
|
587 |
+
}
|
588 |
+
|
589 |
+
/**
|
590 |
+
* Get the path of of the current site.
|
591 |
*
|
592 |
+
* @package BuddyPress Core
|
593 |
+
*
|
594 |
+
* @global object $current_site
|
595 |
+
* @return string
|
596 |
*/
|
597 |
+
function bp_core_get_site_path() {
|
598 |
+
global $current_site;
|
599 |
|
600 |
+
if ( is_multisite() )
|
601 |
+
$site_path = $current_site->path;
|
602 |
+
else {
|
603 |
+
$site_path = (array) explode( '/', home_url() );
|
604 |
|
605 |
+
if ( count( $site_path ) < 2 )
|
606 |
+
$site_path = '/';
|
607 |
+
else {
|
608 |
+
// Unset the first three segments (http(s)://domain.com part)
|
609 |
+
unset( $site_path[0] );
|
610 |
+
unset( $site_path[1] );
|
611 |
+
unset( $site_path[2] );
|
612 |
|
613 |
+
if ( !count( $site_path ) )
|
614 |
+
$site_path = '/';
|
615 |
+
else
|
616 |
+
$site_path = '/' . implode( '/', $site_path ) . '/';
|
617 |
+
}
|
618 |
+
}
|
619 |
+
|
620 |
+
return apply_filters( 'bp_core_get_site_path', $site_path );
|
621 |
}
|
622 |
|
623 |
/**
|
624 |
+
* Performs a status safe wp_redirect() that is compatible with bp_catch_uri()
|
|
|
|
|
|
|
|
|
|
|
625 |
*
|
626 |
* @package BuddyPress Core
|
627 |
+
* @uses wp_safe_redirect()
|
|
|
|
|
628 |
*/
|
629 |
+
function bp_core_redirect( $location, $status = 302 ) {
|
|
|
630 |
|
631 |
+
// On some setups, passing the value of wp_get_referer() may result in an
|
632 |
+
// empty value for $location, which results in an error. Ensure that we
|
633 |
+
// have a valid URL.
|
634 |
+
if ( empty( $location ) )
|
635 |
+
$location = bp_get_root_domain();
|
636 |
|
637 |
+
// Make sure we don't call status_header() in bp_core_do_catch_uri() as this
|
638 |
+
// conflicts with wp_redirect() and wp_safe_redirect().
|
639 |
+
buddypress()->no_status_set = true;
|
640 |
|
641 |
+
wp_safe_redirect( $location, $status );
|
642 |
+
die;
|
643 |
+
}
|
644 |
|
645 |
+
/**
|
646 |
+
* Returns the referrer URL without the http(s)://
|
647 |
+
*
|
648 |
+
* @package BuddyPress Core
|
649 |
+
* @return The referrer URL
|
650 |
+
*/
|
651 |
+
function bp_core_referrer() {
|
652 |
+
$referer = explode( '/', wp_get_referer() );
|
653 |
+
unset( $referer[0], $referer[1], $referer[2] );
|
654 |
+
return implode( '/', $referer );
|
655 |
}
|
|
|
656 |
|
657 |
/**
|
658 |
+
* Adds illegal names to WP so that root components will not conflict with
|
659 |
+
* blog names on a subdirectory installation.
|
660 |
+
*
|
661 |
+
* For example, it would stop someone creating a blog with the slug "groups".
|
662 |
+
*/
|
663 |
+
function bp_core_add_illegal_names() {
|
664 |
+
update_site_option( 'illegal_names', get_site_option( 'illegal_names' ), array() );
|
665 |
+
}
|
666 |
+
|
667 |
+
/**
|
668 |
+
* A javascript free implementation of the search functions in BuddyPress
|
669 |
*
|
670 |
* @package BuddyPress Core
|
671 |
+
* @param string $slug The slug to redirect to for searching.
|
672 |
*/
|
673 |
+
function bp_core_action_search_site( $slug = '' ) {
|
|
|
674 |
|
675 |
+
if ( !bp_is_current_component( bp_get_search_slug() ) )
|
676 |
+
return;
|
|
|
677 |
|
678 |
+
if ( empty( $_POST['search-terms'] ) ) {
|
679 |
+
bp_core_redirect( bp_get_root_domain() );
|
680 |
+
return;
|
681 |
+
}
|
682 |
|
683 |
+
$search_terms = stripslashes( $_POST['search-terms'] );
|
684 |
+
$search_which = !empty( $_POST['search-which'] ) ? $_POST['search-which'] : '';
|
685 |
+
$query_string = '/?s=';
|
686 |
|
687 |
+
if ( empty( $slug ) ) {
|
688 |
+
switch ( $search_which ) {
|
689 |
+
case 'posts':
|
690 |
+
$slug = '';
|
691 |
+
$var = '/?s=';
|
692 |
|
693 |
+
// If posts aren't displayed on the front page, find the post page's slug.
|
694 |
+
if ( 'page' == get_option( 'show_on_front' ) ) {
|
695 |
+
$page = get_post( get_option( 'page_for_posts' ) );
|
696 |
|
697 |
+
if ( !is_wp_error( $page ) && !empty( $page->post_name ) ) {
|
698 |
+
$slug = $page->post_name;
|
699 |
+
$var = '?s=';
|
700 |
+
}
|
701 |
+
}
|
702 |
+
break;
|
703 |
|
704 |
+
case 'blogs':
|
705 |
+
$slug = bp_is_active( 'blogs' ) ? bp_get_blogs_root_slug() : '';
|
706 |
+
break;
|
707 |
+
|
708 |
+
case 'forums':
|
709 |
+
$slug = bp_is_active( 'forums' ) ? bp_get_forums_root_slug() : '';
|
710 |
+
$query_string = '/?fs=';
|
711 |
+
break;
|
712 |
+
|
713 |
+
case 'groups':
|
714 |
+
$slug = bp_is_active( 'groups' ) ? bp_get_groups_root_slug() : '';
|
715 |
+
break;
|
716 |
+
|
717 |
+
case 'members':
|
718 |
+
default:
|
719 |
+
$slug = bp_get_members_root_slug();
|
720 |
+
break;
|
721 |
+
}
|
722 |
+
|
723 |
+
if ( empty( $slug ) && 'posts' != $search_which ) {
|
724 |
+
bp_core_redirect( bp_get_root_domain() );
|
725 |
+
return;
|
726 |
+
}
|
727 |
+
}
|
728 |
|
729 |
+
bp_core_redirect( apply_filters( 'bp_core_search_site', home_url( $slug . $query_string . urlencode( $search_terms ) ), $search_terms ) );
|
730 |
+
}
|
731 |
+
add_action( 'bp_init', 'bp_core_action_search_site', 7 );
|
732 |
|
733 |
/**
|
734 |
+
* Prints the generation time in the footer of the site.
|
|
|
|
|
735 |
*
|
736 |
* @package BuddyPress Core
|
|
|
|
|
737 |
*/
|
738 |
+
function bp_core_print_generation_time() {
|
739 |
+
?>
|
740 |
|
741 |
+
<!-- Generated in <?php timer_stop(1); ?> seconds. (<?php echo get_num_queries(); ?> q) -->
|
|
|
742 |
|
743 |
+
<?php
|
744 |
+
}
|
745 |
+
add_action( 'wp_footer', 'bp_core_print_generation_time' );
|
746 |
|
747 |
+
/**
|
748 |
+
* Load the buddypress translation file for current language
|
749 |
+
*
|
750 |
+
* @package BuddyPress Core
|
751 |
+
*/
|
752 |
+
function bp_core_load_buddypress_textdomain() {
|
753 |
+
$locale = apply_filters( 'buddypress_locale', get_locale() );
|
754 |
+
$mofile = sprintf( 'buddypress-%s.mo', $locale );
|
755 |
+
$mofile_global = WP_LANG_DIR . '/' . $mofile;
|
756 |
+
$mofile_local = BP_PLUGIN_DIR . 'bp-languages/' . $mofile;
|
757 |
+
|
758 |
+
if ( file_exists( $mofile_global ) )
|
759 |
+
return load_textdomain( 'buddypress', $mofile_global );
|
760 |
+
elseif ( file_exists( $mofile_local ) )
|
761 |
+
return load_textdomain( 'buddypress', $mofile_local );
|
762 |
+
else
|
763 |
return false;
|
764 |
+
}
|
765 |
+
add_action ( 'bp_core_loaded', 'bp_core_load_buddypress_textdomain' );
|
766 |
|
767 |
+
/**
|
768 |
+
* Initializes {@link BP_Embed} after everything is loaded.
|
769 |
+
*
|
770 |
+
* @global object $bp BuddyPress global settings
|
771 |
+
* @package BuddyPress Core
|
772 |
+
* @since BuddyPress (1.5)
|
773 |
+
*/
|
774 |
+
function bp_embed_init() {
|
775 |
+
global $bp;
|
776 |
|
777 |
+
if ( empty( $bp->embed ) )
|
778 |
+
$bp->embed = new BP_Embed();
|
779 |
+
}
|
780 |
+
add_action( 'bp_init', 'bp_embed_init', 9 );
|
781 |
|
782 |
+
/**
|
783 |
+
* This function originally let plugins add support for pages in the root of the install.
|
784 |
+
* These root level pages are now handled by actual WordPress pages and this function is now
|
785 |
+
* a convenience for compatibility with the new method.
|
786 |
+
*
|
787 |
+
* @global $bp BuddyPress global settings
|
788 |
+
* @param $slug str The slug of the component
|
789 |
+
*/
|
790 |
+
function bp_core_add_root_component( $slug ) {
|
791 |
+
global $bp;
|
792 |
|
793 |
+
if ( empty( $bp->pages ) )
|
794 |
+
$bp->pages = bp_core_get_directory_pages();
|
795 |
+
|
796 |
+
$match = false;
|
797 |
+
|
798 |
+
// Check if the slug is registered in the $bp->pages global
|
799 |
+
foreach ( (array) $bp->pages as $key => $page ) {
|
800 |
+
if ( $key == $slug || $page->slug == $slug )
|
801 |
+
$match = true;
|
802 |
}
|
803 |
|
804 |
+
// If there was no match, add a page for this root component
|
805 |
+
if ( empty( $match ) ) {
|
806 |
+
$bp->add_root[] = $slug;
|
807 |
+
}
|
808 |
+
|
809 |
+
// Make sure that this component is registered as requiring a top-level directory
|
810 |
+
if ( isset( $bp->{$slug} ) ) {
|
811 |
+
$bp->loaded_components[$bp->{$slug}->slug] = $bp->{$slug}->id;
|
812 |
+
$bp->{$slug}->has_directory = true;
|
813 |
+
}
|
814 |
+
}
|
815 |
+
|
816 |
+
function bp_core_create_root_component_page() {
|
817 |
+
global $bp;
|
818 |
+
|
819 |
+
$new_page_ids = array();
|
820 |
+
|
821 |
+
foreach ( (array) $bp->add_root as $slug )
|
822 |
+
$new_page_ids[$slug] = wp_insert_post( array( 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_title' => ucwords( $slug ), 'post_status' => 'publish', 'post_type' => 'page' ) );
|
823 |
+
|
824 |
+
$page_ids = array_merge( (array) $new_page_ids, (array) bp_core_get_directory_page_ids() );
|
825 |
+
bp_core_update_directory_page_ids( $page_ids );
|
826 |
}
|
|
|
827 |
|
828 |
/**
|
829 |
+
* Is this the root blog ID?
|
830 |
*
|
831 |
+
* @package BuddyPress
|
832 |
+
* @since BuddyPress (1.5)
|
833 |
+
*
|
834 |
+
* @param int $blog_id Optional. Defaults to the current blog id.
|
835 |
+
* @return bool $is_root_blog Returns true if this is bp_get_root_blog_id().
|
836 |
*/
|
837 |
+
function bp_is_root_blog( $blog_id = 0 ) {
|
838 |
|
839 |
+
// Assume false
|
840 |
+
$is_root_blog = false;
|
|
|
|
|
841 |
|
842 |
+
// Use current blog if no ID is passed
|
843 |
+
if ( empty( $blog_id ) )
|
844 |
+
$blog_id = get_current_blog_id();
|
845 |
+
|
846 |
+
// Compare to root blog ID
|
847 |
+
if ( $blog_id == bp_get_root_blog_id() )
|
848 |
+
$is_root_blog = true;
|
849 |
+
|
850 |
+
return (bool) apply_filters( 'bp_is_root_blog', (bool) $is_root_blog );
|
851 |
}
|
852 |
|
853 |
+
/**
|
854 |
+
* Is this bp_get_root_blog_id()?
|
855 |
+
*
|
856 |
+
* @package BuddyPress
|
857 |
+
* @since BuddyPress (1.5)
|
858 |
+
*
|
859 |
+
* @return int Return the root site ID
|
860 |
+
*/
|
861 |
+
function bp_get_root_blog_id() {
|
862 |
+
global $bp;
|
863 |
+
|
864 |
+
return (int) apply_filters( 'bp_get_root_blog_id', (int) $bp->root_blog_id );
|
865 |
+
}
|
866 |
|
867 |
/**
|
868 |
* Get the meta_key for a given piece of user metadata
|
881 |
* @since BuddyPress (1.5)
|
882 |
*
|
883 |
* @uses apply_filters() Filter bp_get_user_meta_key to modify keys individually
|
884 |
+
* @param str $key
|
885 |
+
* @return str $key
|
886 |
*/
|
887 |
function bp_get_user_meta_key( $key = false ) {
|
888 |
return apply_filters( 'bp_get_user_meta_key', $key );
|
931 |
}
|
932 |
|
933 |
/**
|
934 |
+
* Delete a piece of usermeta
|
935 |
+
*
|
936 |
+
* This is a wrapper for delete_user_meta() that allows for easy use of bp_get_user_meta_key(),
|
937 |
+
* thereby increasing compatibility with non-standard BP setups.
|
938 |
+
*
|
939 |
+
* @package BuddyPress
|
940 |
+
* @since BuddyPress (1.5)
|
941 |
+
*
|
942 |
+
* @uses bp_get_user_meta_key() For a filterable version of the meta key
|
943 |
+
* @uses delete_user_meta() See delete_user_meta() docs for more details on parameters
|
944 |
+
* @param int $user_id The id of the user whose meta you're deleting
|
945 |
+
* @param string $key The meta key to delete.
|
946 |
+
* @param mixed $value Optional. Metadata value.
|
947 |
+
* @return bool False for failure. True for success.
|
948 |
+
*/
|
949 |
+
function bp_delete_user_meta( $user_id, $key, $value = '' ) {
|
950 |
+
return delete_user_meta( $user_id, bp_get_user_meta_key( $key ), $value );
|
951 |
+
}
|
952 |
+
|
953 |
+
/**
|
954 |
+
* Are we running username compatibility mode?
|
955 |
+
*
|
956 |
+
* @package BuddyPress
|
957 |
+
* @since BuddyPress (1.5)
|
958 |
+
*
|
959 |
+
* @uses apply_filters() Filter 'bp_is_username_compatibility_mode' to alter
|
960 |
+
* @return bool False when compatibility mode is disabled (default); true when enabled
|
961 |
+
*/
|
962 |
+
function bp_is_username_compatibility_mode() {
|
963 |
+
return apply_filters( 'bp_is_username_compatibility_mode', defined( 'BP_ENABLE_USERNAME_COMPATIBILITY_MODE' ) && BP_ENABLE_USERNAME_COMPATIBILITY_MODE );
|
964 |
+
}
|
965 |
+
|
966 |
+
/**
|
967 |
+
* Are we running multiblog mode?
|
968 |
+
*
|
969 |
+
* Note that BP_ENABLE_MULTIBLOG is different from (but dependent on) WordPress
|
970 |
+
* Multisite. "Multiblog" is BuddyPress setup that allows BuddyPress components
|
971 |
+
* to be viewed on every blog on the network, each with their own settings.
|
972 |
+
*
|
973 |
+
* Thus, instead of having all 'boonebgorges' links go to
|
974 |
+
* http://example.com/members/boonebgorges
|
975 |
+
* on the root blog, each blog will have its own version of the same content, eg
|
976 |
+
* http://site2.example.com/members/boonebgorges (for subdomains)
|
977 |
+
* http://example.com/site2/members/boonebgorges (for subdirectories)
|
978 |
+
*
|
979 |
+
* Multiblog mode is disabled by default, meaning that all BuddyPress content
|
980 |
+
* must be viewed on the root blog. It's also recommended not to use the
|
981 |
+
* BP_ENABLE_MULTIBLOG constant beyond 1.7, as BuddyPress can now be activated
|
982 |
+
* on individual sites.
|
983 |
+
*
|
984 |
+
* Why would you want to use this? Originally it was intended to allow
|
985 |
+
* BuddyPress to live in mu-plugins and be visible on mapped domains. This is
|
986 |
+
* a very small use-case with large architectural shortcomings, so do not go
|
987 |
+
* down this road unless you specifically need to.
|
988 |
+
*
|
989 |
+
* @package BuddyPress
|
990 |
+
* @since BuddyPress (1.5)
|
991 |
+
*
|
992 |
+
* @uses apply_filters() Filter 'bp_is_multiblog_mode' to alter
|
993 |
+
* @return bool False when multiblog mode is disabled (default); true when enabled
|
994 |
+
*/
|
995 |
+
function bp_is_multiblog_mode() {
|
996 |
+
|
997 |
+
// Setup some default values
|
998 |
+
$retval = false;
|
999 |
+
$is_multisite = is_multisite();
|
1000 |
+
$network_active = bp_is_network_activated();
|
1001 |
+
$is_multiblog = defined( 'BP_ENABLE_MULTIBLOG' ) && BP_ENABLE_MULTIBLOG;
|
1002 |
+
|
1003 |
+
// Multisite, Network Activated, and Specifically Multiblog
|
1004 |
+
if ( $is_multisite && $network_active && $is_multiblog ) {
|
1005 |
+
$retval = true;
|
1006 |
+
|
1007 |
+
// Multisite, but not network activated
|
1008 |
+
} elseif ( $is_multisite && ! $network_active ) {
|
1009 |
+
$retval = true;
|
1010 |
+
}
|
1011 |
+
|
1012 |
+
return apply_filters( 'bp_is_multiblog_mode', $retval );
|
1013 |
+
}
|
1014 |
+
|
1015 |
+
/**
|
1016 |
+
* Should we use the WP Toolbar?
|
1017 |
+
*
|
1018 |
+
* The WP Toolbar, introduced in WP 3.1, is fully supported in BuddyPress as of BP 1.5.
|
1019 |
+
* For BP 1.6, the WP Toolbar is the default.
|
1020 |
+
*
|
1021 |
+
* @return bool False when WP Toolbar support is disabled; true when enabled (default)
|
1022 |
+
* @since BuddyPress (1.5)
|
1023 |
+
* @uses apply_filters() Filter 'bp_use_wp_admin_bar' to alter
|
1024 |
+
*/
|
1025 |
+
function bp_use_wp_admin_bar() {
|
1026 |
+
$use_admin_bar = true;
|
1027 |
+
|
1028 |
+
// Has the WP Toolbar constant been explicity set?
|
1029 |
+
if ( defined( 'BP_USE_WP_ADMIN_BAR' ) && ! BP_USE_WP_ADMIN_BAR )
|
1030 |
+
$use_admin_bar = false;
|
1031 |
+
|
1032 |
+
// Has the admin chosen to use the BuddyBar during an upgrade?
|
1033 |
+
elseif ( (bool) bp_get_option( '_bp_force_buddybar', false ) )
|
1034 |
+
$use_admin_bar = false;
|
1035 |
+
|
1036 |
+
return apply_filters( 'bp_use_wp_admin_bar', $use_admin_bar );
|
1037 |
+
}
|
1038 |
+
|
1039 |
+
/**
|
1040 |
+
* A utility for parsing individual function arguments into an array.
|
1041 |
*
|
1042 |
+
* The purpose of this function is to help with backward compatibility in cases where
|
|
|
1043 |
*
|
1044 |
+
* function foo( $bar = 1, $baz = false, $barry = array(), $blip = false ) { // ...
|
|
|
1045 |
*
|
1046 |
+
* is deprecated in favor of
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1047 |
*
|
1048 |
+
* function foo( $args = array() ) {
|
1049 |
+
* $defaults = array(
|
1050 |
+
* 'bar' => 1,
|
1051 |
+
* 'arg2' => false,
|
1052 |
+
* 'arg3' => array(),
|
1053 |
+
* 'arg4' => false,
|
1054 |
+
* );
|
1055 |
+
* $r = wp_parse_args( $args, $defaults ); // ...
|
1056 |
+
*
|
1057 |
+
* The first argument, $old_args_keys, is an array that matches the parameter positions (keys) to
|
1058 |
+
* the new $args keys (values):
|
1059 |
+
*
|
1060 |
+
* $old_args_keys = array(
|
1061 |
+
* 0 => 'bar', // because $bar was the 0th parameter for foo()
|
1062 |
+
* 1 => 'baz', // because $baz was the 1st parameter for foo()
|
1063 |
+
* 2 => 'barry', // etc
|
1064 |
+
* 3 => 'blip'
|
1065 |
+
* );
|
1066 |
+
*
|
1067 |
+
* For the second argument, $func_args, you should just pass the value of func_get_args().
|
1068 |
+
*
|
1069 |
+
* @since BuddyPress (1.6)
|
1070 |
+
* @param array $old_args_keys
|
1071 |
+
* @param array $func_args
|
1072 |
+
* @return array $new_args
|
1073 |
*/
|
1074 |
+
function bp_core_parse_args_array( $old_args_keys, $func_args ) {
|
1075 |
+
$new_args = array();
|
1076 |
|
1077 |
+
foreach( $old_args_keys as $arg_num => $arg_key ) {
|
1078 |
+
if ( isset( $func_args[$arg_num] ) ) {
|
1079 |
+
$new_args[$arg_key] = $func_args[$arg_num];
|
1080 |
+
}
|
1081 |
+
}
|
1082 |
+
|
1083 |
+
return $new_args;
|
1084 |
}
|
1085 |
+
|
1086 |
+
/** Embeds ********************************************************************/
|
1087 |
|
1088 |
/**
|
1089 |
* Are oembeds allowed in activity items?
|
1199 |
return apply_filters( 'bp_core_admin_hook', $hook );
|
1200 |
}
|
1201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1202 |
/**
|
1203 |
* Is BuddyPress active at the network level for this network?
|
1204 |
*
|
1232 |
*
|
1233 |
* @global BuddyPress $bp The one true BuddyPress instance
|
1234 |
* @param bool $is_directory
|
1235 |
+
* @param str $component
|
1236 |
*/
|
1237 |
function bp_update_is_directory( $is_directory = false, $component = '' ) {
|
1238 |
global $bp;
|
1248 |
*
|
1249 |
* @global BuddyPress $bp The one true BuddyPress instance
|
1250 |
* @param bool $is_item_admin
|
1251 |
+
* @param str $component
|
1252 |
*/
|
1253 |
function bp_update_is_item_admin( $is_item_admin = false, $component = '' ) {
|
1254 |
global $bp;
|
1264 |
*
|
1265 |
* @global BuddyPress $bp The one true BuddyPress instance
|
1266 |
* @param bool $is_item_mod
|
1267 |
+
* @param str $component
|
1268 |
*/
|
1269 |
function bp_update_is_item_mod( $is_item_mod = false, $component = '' ) {
|
1270 |
global $bp;
|
1328 |
|
1329 |
return $result;
|
1330 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bp-core/bp-core-loader.php
CHANGED
@@ -70,15 +70,14 @@ class BP_Core extends BP_Component {
|
|
70 |
} elseif ( $deactivated_components = bp_get_option( 'bp-deactivated-components' ) ) {
|
71 |
|
72 |
// Trim off namespace and filename
|
73 |
-
foreach (
|
74 |
$trimmed[] = str_replace( '.php', '', str_replace( 'bp-', '', $component ) );
|
75 |
-
}
|
76 |
|
77 |
// Set globals
|
78 |
$bp->deactivated_components = apply_filters( 'bp_deactivated_components', $trimmed );
|
79 |
|
80 |
// Setup the active components
|
81 |
-
$active_components = array_fill_keys( array_diff( array_values( array_merge( $
|
82 |
|
83 |
// Set the active component global
|
84 |
$bp->active_components = apply_filters( 'bp_active_components', $bp->active_components );
|
70 |
} elseif ( $deactivated_components = bp_get_option( 'bp-deactivated-components' ) ) {
|
71 |
|
72 |
// Trim off namespace and filename
|
73 |
+
foreach ( (array) $deactivated_components as $component => $value )
|
74 |
$trimmed[] = str_replace( '.php', '', str_replace( 'bp-', '', $component ) );
|
|
|
75 |
|
76 |
// Set globals
|
77 |
$bp->deactivated_components = apply_filters( 'bp_deactivated_components', $trimmed );
|
78 |
|
79 |
// Setup the active components
|
80 |
+
$active_components = array_fill_keys( array_diff( array_values( array_merge( $optional_components, $required_components ) ), array_values( $deactivated_components ) ), '1' );
|
81 |
|
82 |
// Set the active component global
|
83 |
$bp->active_components = apply_filters( 'bp_active_components', $bp->active_components );
|
bp-core/bp-core-options.php
CHANGED
@@ -197,8 +197,8 @@ function bp_pre_get_option( $value = false ) {
|
|
197 |
* @since BuddyPress (1.5)
|
198 |
*
|
199 |
* @uses bp_get_root_blog_id()
|
200 |
-
* @param
|
201 |
-
* @param
|
202 |
* @return mixed The value for the option
|
203 |
*/
|
204 |
function bp_get_option( $option_name, $default = '' ) {
|
@@ -217,8 +217,8 @@ function bp_get_option( $option_name, $default = '' ) {
|
|
217 |
* @since BuddyPress (1.5)
|
218 |
*
|
219 |
* @uses bp_get_root_blog_id()
|
220 |
-
* @param
|
221 |
-
* @param
|
222 |
*/
|
223 |
function bp_update_option( $option_name, $value ) {
|
224 |
update_blog_option( bp_get_root_blog_id(), $option_name, $value );
|
@@ -234,7 +234,7 @@ function bp_update_option( $option_name, $value ) {
|
|
234 |
* @since BuddyPress (1.5)
|
235 |
*
|
236 |
* @uses bp_get_root_blog_id()
|
237 |
-
* @param
|
238 |
*/
|
239 |
function bp_delete_option( $option_name ) {
|
240 |
delete_blog_option( bp_get_root_blog_id(), $option_name );
|
@@ -377,7 +377,7 @@ function bp_core_get_root_options() {
|
|
377 |
*
|
378 |
* @since BuddyPress (1.6)
|
379 |
*
|
380 |
-
* @param
|
381 |
*
|
382 |
* @uses bp_get_option() To get the profile sync option
|
383 |
* @return bool Is profile sync enabled or not
|
@@ -391,7 +391,7 @@ function bp_disable_profile_sync( $default = true ) {
|
|
391 |
*
|
392 |
* @since BuddyPress (1.6)
|
393 |
*
|
394 |
-
* @param
|
395 |
*
|
396 |
* @uses bp_get_option() To get the logged out Toolbar option
|
397 |
* @return bool Is logged out Toolbar enabled or not
|
@@ -405,7 +405,7 @@ function bp_hide_loggedout_adminbar( $default = true ) {
|
|
405 |
*
|
406 |
* @since BuddyPress (1.6)
|
407 |
*
|
408 |
-
* @param
|
409 |
*
|
410 |
* @uses bp_get_option() To get the avatar uploads option
|
411 |
* @return bool Are avatar uploads allowed?
|
@@ -419,7 +419,7 @@ function bp_disable_avatar_uploads( $default = true ) {
|
|
419 |
*
|
420 |
* @since BuddyPress (1.6)
|
421 |
*
|
422 |
-
* @param
|
423 |
*
|
424 |
* @uses bp_get_option() To get the account deletion option
|
425 |
* @return bool Is account deletion allowed?
|
@@ -433,7 +433,7 @@ function bp_disable_account_deletion( $default = false ) {
|
|
433 |
*
|
434 |
* @since BuddyPress (1.6)
|
435 |
*
|
436 |
-
* @param
|
437 |
* @todo split and move into blog and forum components
|
438 |
* @uses bp_get_option() To get the blog/forum comments option
|
439 |
* @return bool Is blog/forum comments allowed?
|
@@ -447,7 +447,7 @@ function bp_disable_blogforum_comments( $default = false ) {
|
|
447 |
*
|
448 |
* @since BuddyPress (1.6)
|
449 |
*
|
450 |
-
* @param
|
451 |
*
|
452 |
* @todo Move into groups component
|
453 |
* @uses bp_get_option() To get the group creation
|
@@ -462,7 +462,7 @@ function bp_restrict_group_creation( $default = true ) {
|
|
462 |
*
|
463 |
* @since BuddyPress (1.6)
|
464 |
*
|
465 |
-
* @param
|
466 |
*
|
467 |
* @todo Move into groups component
|
468 |
* @uses bp_get_option() To get the WP editor option
|
@@ -477,7 +477,7 @@ function bp_force_buddybar( $default = true ) {
|
|
477 |
*
|
478 |
* @since BuddyPress (1.6)
|
479 |
*
|
480 |
-
* @param
|
481 |
*/
|
482 |
function bp_group_forums_root_id( $default = '0' ) {
|
483 |
echo bp_get_group_forums_root_id( $default );
|
@@ -487,13 +487,13 @@ function bp_group_forums_root_id( $default = '0' ) {
|
|
487 |
*
|
488 |
* @since BuddyPress (1.6)
|
489 |
*
|
490 |
-
* @param
|
491 |
*
|
492 |
* @uses bp_get_option() To get the maximum title length
|
493 |
* @return int Is anonymous posting allowed?
|
494 |
*/
|
495 |
function bp_get_group_forums_root_id( $default = '0' ) {
|
496 |
-
return (int) apply_filters( 'bp_get_group_forums_root_id', (int) bp_get_option( '
|
497 |
}
|
498 |
|
499 |
/**
|
@@ -501,13 +501,13 @@ function bp_group_forums_root_id( $default = '0' ) {
|
|
501 |
*
|
502 |
* @since BuddyPress (1.6)
|
503 |
*
|
504 |
-
* @param
|
505 |
*
|
506 |
* @uses bp_get_option() To get the group forums option
|
507 |
* @return bool Is group forums enabled or not
|
508 |
*/
|
509 |
function bp_is_group_forums_active( $default = true ) {
|
510 |
-
return (bool) apply_filters( 'bp_is_group_forums_active', (bool) bp_get_option( '
|
511 |
}
|
512 |
|
513 |
/**
|
@@ -515,7 +515,7 @@ function bp_is_group_forums_active( $default = true ) {
|
|
515 |
*
|
516 |
* @since BuddyPress (1.6)
|
517 |
*
|
518 |
-
* @param
|
519 |
*
|
520 |
* @uses bp_get_option() To get the Akismet option
|
521 |
* @return bool Is Akismet enabled or not
|
@@ -529,10 +529,10 @@ function bp_is_akismet_active( $default = true ) {
|
|
529 |
*
|
530 |
* @since BuddyPress (1.7)
|
531 |
*
|
532 |
-
* @param
|
533 |
* @uses get_option() To get the subtheme option
|
534 |
* @return string ID of the subtheme
|
535 |
*/
|
536 |
function bp_get_theme_package_id( $default = 'legacy' ) {
|
537 |
-
return apply_filters( 'bp_get_theme_package_id',
|
538 |
}
|
197 |
* @since BuddyPress (1.5)
|
198 |
*
|
199 |
* @uses bp_get_root_blog_id()
|
200 |
+
* @param str $option_name The option to be retrieved
|
201 |
+
* @param str $default Optional. Default value to be returned if the option isn't set
|
202 |
* @return mixed The value for the option
|
203 |
*/
|
204 |
function bp_get_option( $option_name, $default = '' ) {
|
217 |
* @since BuddyPress (1.5)
|
218 |
*
|
219 |
* @uses bp_get_root_blog_id()
|
220 |
+
* @param str $option_name The option key to be set
|
221 |
+
* @param str $value The value to be set
|
222 |
*/
|
223 |
function bp_update_option( $option_name, $value ) {
|
224 |
update_blog_option( bp_get_root_blog_id(), $option_name, $value );
|
234 |
* @since BuddyPress (1.5)
|
235 |
*
|
236 |
* @uses bp_get_root_blog_id()
|
237 |
+
* @param str $option_name The option key to be set
|
238 |
*/
|
239 |
function bp_delete_option( $option_name ) {
|
240 |
delete_blog_option( bp_get_root_blog_id(), $option_name );
|
377 |
*
|
378 |
* @since BuddyPress (1.6)
|
379 |
*
|
380 |
+
* @param $default bool Optional.Default value true
|
381 |
*
|
382 |
* @uses bp_get_option() To get the profile sync option
|
383 |
* @return bool Is profile sync enabled or not
|
391 |
*
|
392 |
* @since BuddyPress (1.6)
|
393 |
*
|
394 |
+
* @param $default bool Optional.Default value true
|
395 |
*
|
396 |
* @uses bp_get_option() To get the logged out Toolbar option
|
397 |
* @return bool Is logged out Toolbar enabled or not
|
405 |
*
|
406 |
* @since BuddyPress (1.6)
|
407 |
*
|
408 |
+
* @param $default bool Optional. Default value true
|
409 |
*
|
410 |
* @uses bp_get_option() To get the avatar uploads option
|
411 |
* @return bool Are avatar uploads allowed?
|
419 |
*
|
420 |
* @since BuddyPress (1.6)
|
421 |
*
|
422 |
+
* @param $default bool Optional. Default value
|
423 |
*
|
424 |
* @uses bp_get_option() To get the account deletion option
|
425 |
* @return bool Is account deletion allowed?
|
433 |
*
|
434 |
* @since BuddyPress (1.6)
|
435 |
*
|
436 |
+
* @param $default bool Optional. Default value false
|
437 |
* @todo split and move into blog and forum components
|
438 |
* @uses bp_get_option() To get the blog/forum comments option
|
439 |
* @return bool Is blog/forum comments allowed?
|
447 |
*
|
448 |
* @since BuddyPress (1.6)
|
449 |
*
|
450 |
+
* @param $default bool Optional. Default value true
|
451 |
*
|
452 |
* @todo Move into groups component
|
453 |
* @uses bp_get_option() To get the group creation
|
462 |
*
|
463 |
* @since BuddyPress (1.6)
|
464 |
*
|
465 |
+
* @param $default bool Optional. Default value true
|
466 |
*
|
467 |
* @todo Move into groups component
|
468 |
* @uses bp_get_option() To get the WP editor option
|
477 |
*
|
478 |
* @since BuddyPress (1.6)
|
479 |
*
|
480 |
+
* @param $default bool Optional. Default value
|
481 |
*/
|
482 |
function bp_group_forums_root_id( $default = '0' ) {
|
483 |
echo bp_get_group_forums_root_id( $default );
|
487 |
*
|
488 |
* @since BuddyPress (1.6)
|
489 |
*
|
490 |
+
* @param $default bool Optional. Default value 0
|
491 |
*
|
492 |
* @uses bp_get_option() To get the maximum title length
|
493 |
* @return int Is anonymous posting allowed?
|
494 |
*/
|
495 |
function bp_get_group_forums_root_id( $default = '0' ) {
|
496 |
+
return (int) apply_filters( 'bp_get_group_forums_root_id', (int) bp_get_option( '_bbp_group_forums_root_id', $default ) );
|
497 |
}
|
498 |
|
499 |
/**
|
501 |
*
|
502 |
* @since BuddyPress (1.6)
|
503 |
*
|
504 |
+
* @param $default bool Optional. Default value true
|
505 |
*
|
506 |
* @uses bp_get_option() To get the group forums option
|
507 |
* @return bool Is group forums enabled or not
|
508 |
*/
|
509 |
function bp_is_group_forums_active( $default = true ) {
|
510 |
+
return (bool) apply_filters( 'bp_is_group_forums_active', (bool) bp_get_option( '_bbp_enable_group_forums', $default ) );
|
511 |
}
|
512 |
|
513 |
/**
|
515 |
*
|
516 |
* @since BuddyPress (1.6)
|
517 |
*
|
518 |
+
* @param $default bool Optional. Default value true
|
519 |
*
|
520 |
* @uses bp_get_option() To get the Akismet option
|
521 |
* @return bool Is Akismet enabled or not
|
529 |
*
|
530 |
* @since BuddyPress (1.7)
|
531 |
*
|
532 |
+
* @param $default string Optional. Default value 'default'
|
533 |
* @uses get_option() To get the subtheme option
|
534 |
* @return string ID of the subtheme
|
535 |
*/
|
536 |
function bp_get_theme_package_id( $default = 'legacy' ) {
|
537 |
+
return apply_filters( 'bp_get_theme_package_id', get_option( '_bp_theme_package_id', $default ) );
|
538 |
}
|
bp-core/bp-core-template-loader.php
CHANGED
@@ -211,7 +211,10 @@ function bp_buffer_template_part( $slug, $name = null, $echo = true ) {
|
|
211 |
add_filter( 'the_content', 'bp_replace_the_content' );
|
212 |
|
213 |
// Get the output buffer contents
|
214 |
-
$output =
|
|
|
|
|
|
|
215 |
|
216 |
// Echo or return the output buffer contents
|
217 |
if ( true === $echo ) {
|
@@ -338,36 +341,17 @@ function bp_template_include_theme_supports( $template = '' ) {
|
|
338 |
// Look for root BuddyPress template files in parent/child themes
|
339 |
$new_template = apply_filters( 'bp_get_root_template', false, $template );
|
340 |
|
341 |
-
//
|
342 |
-
// template and use it to switch off BuddyPress's theme compatibility.
|
343 |
if ( !empty( $new_template ) ) {
|
344 |
-
$template = bp_set_template_included( $new_template );
|
345 |
-
}
|
346 |
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
/**
|
351 |
-
* Set the included template
|
352 |
-
*
|
353 |
-
* @since BuddyPress (1.8)
|
354 |
-
* @param mixed $template Default false
|
355 |
-
* @return mixed False if empty. Template name if template included
|
356 |
-
*/
|
357 |
-
function bp_set_template_included( $template = false ) {
|
358 |
-
buddypress()->theme_compat->found_template = $template;
|
359 |
|
360 |
-
|
361 |
-
|
|
|
362 |
|
363 |
-
|
364 |
-
* Is a BuddyPress template being included?
|
365 |
-
*
|
366 |
-
* @since BuddyPress (1.8)
|
367 |
-
* @return bool True if yes, false if no
|
368 |
-
*/
|
369 |
-
function bp_is_template_included() {
|
370 |
-
return ! empty( buddypress()->theme_compat->found_template );
|
371 |
}
|
372 |
|
373 |
/**
|
211 |
add_filter( 'the_content', 'bp_replace_the_content' );
|
212 |
|
213 |
// Get the output buffer contents
|
214 |
+
$output = ob_get_contents();
|
215 |
+
|
216 |
+
// Flush the output buffer
|
217 |
+
ob_end_clean();
|
218 |
|
219 |
// Echo or return the output buffer contents
|
220 |
if ( true === $echo ) {
|
341 |
// Look for root BuddyPress template files in parent/child themes
|
342 |
$new_template = apply_filters( 'bp_get_root_template', false, $template );
|
343 |
|
344 |
+
// BuddyPress template file exists
|
|
|
345 |
if ( !empty( $new_template ) ) {
|
|
|
|
|
346 |
|
347 |
+
// Override the WordPress template with a BuddyPress one
|
348 |
+
$template = $new_template;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
|
350 |
+
// @see: bp_template_include_theme_compat()
|
351 |
+
buddypress()->theme_compat->found_template = true;
|
352 |
+
}
|
353 |
|
354 |
+
return apply_filters( 'bp_template_include_theme_supports', $template );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
355 |
}
|
356 |
|
357 |
/**
|
bp-core/bp-core-template.php
CHANGED
@@ -622,7 +622,7 @@ function bp_action_variables() {
|
|
622 |
* @since BuddyPress (1.5)
|
623 |
*
|
624 |
* @param int $position The key of the action_variables array that you want
|
625 |
-
* @return
|
626 |
*/
|
627 |
function bp_action_variable( $position = 0 ) {
|
628 |
$action_variables = bp_action_variables();
|
@@ -709,9 +709,9 @@ function bp_root_slug( $component = '' ) {
|
|
709 |
/**
|
710 |
* Return the component name based on the current root slug
|
711 |
*
|
712 |
-
* @since BuddyPress
|
713 |
* @global BuddyPress $bp The one true BuddyPress instance
|
714 |
-
* @param
|
715 |
* @return mixed False if none found, component name if found
|
716 |
*/
|
717 |
function bp_get_name_from_root_slug( $root_slug = '' ) {
|
@@ -883,7 +883,7 @@ function bp_is_current_component( $component ) {
|
|
883 |
* @package BuddyPress
|
884 |
* @since BuddyPress (1.5)
|
885 |
*
|
886 |
-
* @param
|
887 |
* @return bool True if the current action matches $action
|
888 |
*/
|
889 |
function bp_is_current_action( $action = '' ) {
|
@@ -907,7 +907,7 @@ function bp_is_current_action( $action = '' ) {
|
|
907 |
* @package BuddyPress
|
908 |
* @since BuddyPress (1.5)
|
909 |
*
|
910 |
-
* @param
|
911 |
* @param int $position The array key you're testing against. If you don't provide a $position,
|
912 |
* the function will return true if the $action_variable is found *anywhere* in the action
|
913 |
* variables array.
|
@@ -984,7 +984,7 @@ function bp_is_directory() {
|
|
984 |
* No: http://domain.com/members/andy/groups/the-group
|
985 |
*
|
986 |
* @package BuddyPress Core
|
987 |
-
* @return
|
988 |
*/
|
989 |
function bp_is_root_component( $component_name ) {
|
990 |
global $bp;
|
@@ -1597,7 +1597,7 @@ function bp_is_register_page() {
|
|
1597 |
function bp_the_body_class() {
|
1598 |
echo bp_get_the_body_class();
|
1599 |
}
|
1600 |
-
function bp_get_the_body_class( $wp_classes
|
1601 |
|
1602 |
$bp_classes = array();
|
1603 |
|
@@ -1891,30 +1891,19 @@ function bp_get_nav_menu_items() {
|
|
1891 |
* Displays a navigation menu.
|
1892 |
*
|
1893 |
* @param string|array $args Optional arguments:
|
1894 |
-
* -
|
1895 |
-
* -
|
1896 |
-
*
|
1897 |
-
* -
|
1898 |
-
*
|
1899 |
-
* -
|
1900 |
-
*
|
1901 |
-
* -
|
1902 |
-
*
|
1903 |
-
* -
|
1904 |
-
* -
|
1905 |
-
*
|
1906 |
-
* -
|
1907 |
-
* with an id and class. Uses printf() format with numbered
|
1908 |
-
* placeholders.
|
1909 |
-
* - link_after Text after the link.
|
1910 |
-
* - link_before Text before the link.
|
1911 |
-
* - menu_class CSS class to use for the ul element which forms the menu.
|
1912 |
-
* Defaults to 'menu'.
|
1913 |
-
* - menu_id The ID that is applied to the ul element which forms the
|
1914 |
-
* menu. Defaults to 'menu-bp', incremented.
|
1915 |
-
* - walker Allows a custom walker to be specified. Defaults to
|
1916 |
-
* 'BP_Walker_Nav_Menu'.
|
1917 |
-
*
|
1918 |
* @since BuddyPress (1.7)
|
1919 |
*/
|
1920 |
function bp_nav_menu( $args = array() ) {
|
622 |
* @since BuddyPress (1.5)
|
623 |
*
|
624 |
* @param int $position The key of the action_variables array that you want
|
625 |
+
* @return str $action_variable The value of that position in the array
|
626 |
*/
|
627 |
function bp_action_variable( $position = 0 ) {
|
628 |
$action_variables = bp_action_variables();
|
709 |
/**
|
710 |
* Return the component name based on the current root slug
|
711 |
*
|
712 |
+
* @since BuddyPress {r3923}
|
713 |
* @global BuddyPress $bp The one true BuddyPress instance
|
714 |
+
* @param str $root_slug Needle to our active component haystack
|
715 |
* @return mixed False if none found, component name if found
|
716 |
*/
|
717 |
function bp_get_name_from_root_slug( $root_slug = '' ) {
|
883 |
* @package BuddyPress
|
884 |
* @since BuddyPress (1.5)
|
885 |
*
|
886 |
+
* @param str $action The action being tested against
|
887 |
* @return bool True if the current action matches $action
|
888 |
*/
|
889 |
function bp_is_current_action( $action = '' ) {
|
907 |
* @package BuddyPress
|
908 |
* @since BuddyPress (1.5)
|
909 |
*
|
910 |
+
* @param str $action_variable The action_variable being tested against
|
911 |
* @param int $position The array key you're testing against. If you don't provide a $position,
|
912 |
* the function will return true if the $action_variable is found *anywhere* in the action
|
913 |
* variables array.
|
984 |
* No: http://domain.com/members/andy/groups/the-group
|
985 |
*
|
986 |
* @package BuddyPress Core
|
987 |
+
* @return true if root component, else false.
|
988 |
*/
|
989 |
function bp_is_root_component( $component_name ) {
|
990 |
global $bp;
|
1597 |
function bp_the_body_class() {
|
1598 |
echo bp_get_the_body_class();
|
1599 |
}
|
1600 |
+
function bp_get_the_body_class( $wp_classes, $custom_classes = false ) {
|
1601 |
|
1602 |
$bp_classes = array();
|
1603 |
|
1891 |
* Displays a navigation menu.
|
1892 |
*
|
1893 |
* @param string|array $args Optional arguments:
|
1894 |
+
* before - Text before the link text.
|
1895 |
+
* container - Whether to wrap the ul, and what to wrap it with. Defaults to div.
|
1896 |
+
* container_class - The class that is applied to the container. Defaults to 'menu-bp-container'.
|
1897 |
+
* container_id - The ID that is applied to the container. Defaults to blank.
|
1898 |
+
* depth - How many levels of the hierarchy are to be included. 0 means all. Defaults to 0.
|
1899 |
+
* echo - Whether to echo the menu or return it. Defaults to echo.
|
1900 |
+
* fallback_cb - If the menu doesn't exists, a callback function will fire. Defaults to false (no fallback).
|
1901 |
+
* items_wrap - How the list items should be wrapped. Defaults to a ul with an id and class. Uses printf() format with numbered placeholders.
|
1902 |
+
* link_after - Text after the link.
|
1903 |
+
* link_before - Text before the link.
|
1904 |
+
* menu_class - CSS class to use for the ul element which forms the menu. Defaults to 'menu'.
|
1905 |
+
* menu_id - The ID that is applied to the ul element which forms the menu. Defaults to 'menu-bp', incremented.
|
1906 |
+
* walker - Allows a custom walker to be specified. Defaults to 'BP_Walker_Nav_Menu'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1907 |
* @since BuddyPress (1.7)
|
1908 |
*/
|
1909 |
function bp_nav_menu( $args = array() ) {
|
bp-core/bp-core-theme-compatibility.php
CHANGED
@@ -336,7 +336,6 @@ function bp_register_theme_package( $theme = array(), $override = true ) {
|
|
336 |
$bp->theme_compat->packages[$theme->id] = $theme;
|
337 |
}
|
338 |
}
|
339 |
-
|
340 |
/**
|
341 |
* This fun little function fills up some WordPress globals with dummy data to
|
342 |
* stop your average page template from complaining about it missing.
|
@@ -349,9 +348,43 @@ function bp_register_theme_package( $theme = array(), $override = true ) {
|
|
349 |
function bp_theme_compat_reset_post( $args = array() ) {
|
350 |
global $wp_query, $post;
|
351 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
// Switch defaults if post is set
|
353 |
if ( isset( $wp_query->post ) ) {
|
354 |
-
$
|
355 |
'ID' => $wp_query->post->ID,
|
356 |
'post_status' => $wp_query->post->post_status,
|
357 |
'post_author' => $wp_query->post->post_author,
|
@@ -375,60 +408,52 @@ function bp_theme_compat_reset_post( $args = array() ) {
|
|
375 |
'ping_status' => $wp_query->post->ping_status,
|
376 |
'comment_status' => $wp_query->post->comment_status,
|
377 |
'comment_count' => $wp_query->post->comment_count,
|
378 |
-
'filter' => $wp_query->post->filter,
|
379 |
-
|
380 |
-
'is_404' => false,
|
381 |
-
'is_page' => false,
|
382 |
-
'is_single' => false,
|
383 |
-
'is_archive' => false,
|
384 |
-
'is_tax' => false,
|
385 |
-
) );
|
386 |
-
} else {
|
387 |
-
$dummy = wp_parse_args( $args, array(
|
388 |
-
'ID' => -9999,
|
389 |
-
'post_status' => 'public',
|
390 |
-
'post_author' => 0,
|
391 |
-
'post_parent' => 0,
|
392 |
-
'post_type' => 'page',
|
393 |
-
'post_date' => 0,
|
394 |
-
'post_date_gmt' => 0,
|
395 |
-
'post_modified' => 0,
|
396 |
-
'post_modified_gmt' => 0,
|
397 |
-
'post_content' => '',
|
398 |
-
'post_title' => '',
|
399 |
-
'post_excerpt' => '',
|
400 |
-
'post_content_filtered' => '',
|
401 |
-
'post_mime_type' => '',
|
402 |
-
'post_password' => '',
|
403 |
-
'post_name' => '',
|
404 |
-
'guid' => '',
|
405 |
-
'menu_order' => 0,
|
406 |
-
'pinged' => '',
|
407 |
-
'to_ping' => '',
|
408 |
-
'ping_status' => '',
|
409 |
-
'comment_status' => 'closed',
|
410 |
-
'comment_count' => 0,
|
411 |
-
'filter' => 'raw',
|
412 |
-
|
413 |
-
'is_404' => false,
|
414 |
-
'is_page' => false,
|
415 |
-
'is_single' => false,
|
416 |
-
'is_archive' => false,
|
417 |
-
'is_tax' => false,
|
418 |
-
) );
|
419 |
-
}
|
420 |
|
421 |
-
|
422 |
-
|
423 |
-
|
|
|
|
|
|
|
424 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
|
426 |
// Set the $post global
|
427 |
-
$post =
|
428 |
|
429 |
-
//
|
430 |
-
$wp_query->
|
431 |
-
$wp_query->posts = array( $post );
|
432 |
|
433 |
// Prevent comments form from appearing
|
434 |
$wp_query->post_count = 1;
|
@@ -438,20 +463,8 @@ function bp_theme_compat_reset_post( $args = array() ) {
|
|
438 |
$wp_query->is_archive = $dummy['is_archive'];
|
439 |
$wp_query->is_tax = $dummy['is_tax'];
|
440 |
|
441 |
-
// Clean up the dummy post
|
442 |
-
unset( $dummy );
|
443 |
-
|
444 |
-
/**
|
445 |
-
* Force the header back to 200 status if not a deliberate 404
|
446 |
-
*
|
447 |
-
* @see http://bbpress.trac.wordpress.org/ticket/1973
|
448 |
-
*/
|
449 |
-
if ( ! $wp_query->is_404() ) {
|
450 |
-
status_header( 200 );
|
451 |
-
}
|
452 |
-
|
453 |
// If we are resetting a post, we are in theme compat
|
454 |
-
bp_set_theme_compat_active(
|
455 |
}
|
456 |
|
457 |
/**
|
@@ -505,19 +518,24 @@ function bp_template_include_theme_compat( $template = '' ) {
|
|
505 |
* Uses bp_get_theme_compat_templates() to provide fall-backs that
|
506 |
* should be coded without superfluous mark-up and logic (prev/next
|
507 |
* navigation, comments, date/time, etc...)
|
508 |
-
*
|
509 |
-
* Hook into 'bp_get_buddypress_template' to override the array of
|
510 |
-
* possible templates, or 'bp_buddypress_template' to override the result.
|
511 |
*/
|
512 |
if ( bp_is_theme_compat_active() ) {
|
513 |
-
$template = bp_get_theme_compat_templates();
|
514 |
|
515 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
516 |
|
517 |
// Add BuddyPress's head action to wp_head
|
518 |
if ( ! has_action( 'wp_head', 'bp_head' ) ) {
|
519 |
add_action( 'wp_head', 'bp_head' );
|
520 |
}
|
|
|
|
|
|
|
521 |
}
|
522 |
|
523 |
return apply_filters( 'bp_template_include_theme_compat', $template );
|
@@ -530,23 +548,17 @@ function bp_template_include_theme_compat( $template = '' ) {
|
|
530 |
*
|
531 |
* @since BuddyPress (1.7)
|
532 |
* @param string $content
|
533 |
-
* @return
|
534 |
*/
|
535 |
function bp_replace_the_content( $content = '' ) {
|
536 |
|
537 |
-
|
538 |
-
if ( ! bp_do_theme_compat() )
|
539 |
return $content;
|
540 |
|
541 |
-
// Set theme compat to false early, to avoid recursion from nested calls to
|
542 |
-
// the_content() that execute before theme compat has unhooked itself.
|
543 |
-
bp_set_theme_compat_active( false );
|
544 |
-
|
545 |
-
// Do we have new content to replace the old content?
|
546 |
$new_content = apply_filters( 'bp_replace_the_content', $content );
|
547 |
|
548 |
// Juggle the content around and try to prevent unsightly comments
|
549 |
-
if ( !empty( $new_content ) && ( $new_content
|
550 |
|
551 |
// Set the content to be the new content
|
552 |
$content = $new_content;
|
@@ -562,16 +574,6 @@ function bp_replace_the_content( $content = '' ) {
|
|
562 |
return $content;
|
563 |
}
|
564 |
|
565 |
-
/**
|
566 |
-
* Are we replacing the_content
|
567 |
-
*
|
568 |
-
* @since BuddyPress (1.8)
|
569 |
-
* @return bool
|
570 |
-
*/
|
571 |
-
function bp_do_theme_compat() {
|
572 |
-
return (bool) ( ! bp_is_template_included() && in_the_loop() && bp_is_theme_compat_active() );
|
573 |
-
}
|
574 |
-
|
575 |
/** Filters *******************************************************************/
|
576 |
|
577 |
/**
|
336 |
$bp->theme_compat->packages[$theme->id] = $theme;
|
337 |
}
|
338 |
}
|
|
|
339 |
/**
|
340 |
* This fun little function fills up some WordPress globals with dummy data to
|
341 |
* stop your average page template from complaining about it missing.
|
348 |
function bp_theme_compat_reset_post( $args = array() ) {
|
349 |
global $wp_query, $post;
|
350 |
|
351 |
+
// Default arguments
|
352 |
+
$defaults = array(
|
353 |
+
'ID' => -9999,
|
354 |
+
'post_status' => 'publish',
|
355 |
+
'post_author' => 0,
|
356 |
+
'post_parent' => 0,
|
357 |
+
'post_type' => 'page',
|
358 |
+
'post_date' => 0,
|
359 |
+
'post_date_gmt' => 0,
|
360 |
+
'post_modified' => 0,
|
361 |
+
'post_modified_gmt' => 0,
|
362 |
+
'post_content' => '',
|
363 |
+
'post_title' => '',
|
364 |
+
'post_category' => 0,
|
365 |
+
'post_excerpt' => '',
|
366 |
+
'post_content_filtered' => '',
|
367 |
+
'post_mime_type' => '',
|
368 |
+
'post_password' => '',
|
369 |
+
'post_name' => '',
|
370 |
+
'guid' => '',
|
371 |
+
'menu_order' => 0,
|
372 |
+
'pinged' => '',
|
373 |
+
'to_ping' => '',
|
374 |
+
'ping_status' => '',
|
375 |
+
'comment_status' => 'closed',
|
376 |
+
'comment_count' => 0,
|
377 |
+
|
378 |
+
'is_404' => false,
|
379 |
+
'is_page' => false,
|
380 |
+
'is_single' => false,
|
381 |
+
'is_archive' => false,
|
382 |
+
'is_tax' => false,
|
383 |
+
);
|
384 |
+
|
385 |
// Switch defaults if post is set
|
386 |
if ( isset( $wp_query->post ) ) {
|
387 |
+
$defaults = array(
|
388 |
'ID' => $wp_query->post->ID,
|
389 |
'post_status' => $wp_query->post->post_status,
|
390 |
'post_author' => $wp_query->post->post_author,
|
408 |
'ping_status' => $wp_query->post->ping_status,
|
409 |
'comment_status' => $wp_query->post->comment_status,
|
410 |
'comment_count' => $wp_query->post->comment_count,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
411 |
|
412 |
+
'is_404' => false,
|
413 |
+
'is_page' => false,
|
414 |
+
'is_single' => false,
|
415 |
+
'is_archive' => false,
|
416 |
+
'is_tax' => false,
|
417 |
+
);
|
418 |
}
|
419 |
+
$dummy = wp_parse_args( $args, $defaults ); //, 'theme_compat_reset_post' );
|
420 |
+
|
421 |
+
// Clear out the post related globals
|
422 |
+
unset( $wp_query->posts );
|
423 |
+
unset( $wp_query->post );
|
424 |
+
unset( $post );
|
425 |
+
|
426 |
+
// Setup the dummy post object
|
427 |
+
$wp_query->post = new stdClass;
|
428 |
+
$wp_query->post->ID = $dummy['ID'];
|
429 |
+
$wp_query->post->post_status = $dummy['post_status'];
|
430 |
+
$wp_query->post->post_author = $dummy['post_author'];
|
431 |
+
$wp_query->post->post_parent = $dummy['post_parent'];
|
432 |
+
$wp_query->post->post_type = $dummy['post_type'];
|
433 |
+
$wp_query->post->post_date = $dummy['post_date'];
|
434 |
+
$wp_query->post->post_date_gmt = $dummy['post_date_gmt'];
|
435 |
+
$wp_query->post->post_modified = $dummy['post_modified'];
|
436 |
+
$wp_query->post->post_modified_gmt = $dummy['post_modified_gmt'];
|
437 |
+
$wp_query->post->post_content = $dummy['post_content'];
|
438 |
+
$wp_query->post->post_title = $dummy['post_title'];
|
439 |
+
$wp_query->post->post_excerpt = $dummy['post_excerpt'];
|
440 |
+
$wp_query->post->post_content_filtered = $dummy['post_content_filtered'];
|
441 |
+
$wp_query->post->post_mime_type = $dummy['post_mime_type'];
|
442 |
+
$wp_query->post->post_password = $dummy['post_password'];
|
443 |
+
$wp_query->post->post_name = $dummy['post_name'];
|
444 |
+
$wp_query->post->guid = $dummy['guid'];
|
445 |
+
$wp_query->post->menu_order = $dummy['menu_order'];
|
446 |
+
$wp_query->post->pinged = $dummy['pinged'];
|
447 |
+
$wp_query->post->to_ping = $dummy['to_ping'];
|
448 |
+
$wp_query->post->ping_status = $dummy['ping_status'];
|
449 |
+
$wp_query->post->comment_status = $dummy['comment_status'];
|
450 |
+
$wp_query->post->comment_count = $dummy['comment_count'];
|
451 |
|
452 |
// Set the $post global
|
453 |
+
$post = $wp_query->post;
|
454 |
|
455 |
+
// Setup the dummy post loop
|
456 |
+
$wp_query->posts[0] = $wp_query->post;
|
|
|
457 |
|
458 |
// Prevent comments form from appearing
|
459 |
$wp_query->post_count = 1;
|
463 |
$wp_query->is_archive = $dummy['is_archive'];
|
464 |
$wp_query->is_tax = $dummy['is_tax'];
|
465 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
// If we are resetting a post, we are in theme compat
|
467 |
+
bp_set_theme_compat_active();
|
468 |
}
|
469 |
|
470 |
/**
|
518 |
* Uses bp_get_theme_compat_templates() to provide fall-backs that
|
519 |
* should be coded without superfluous mark-up and logic (prev/next
|
520 |
* navigation, comments, date/time, etc...)
|
|
|
|
|
|
|
521 |
*/
|
522 |
if ( bp_is_theme_compat_active() ) {
|
|
|
523 |
|
524 |
+
// Remove all filters from the_content
|
525 |
+
bp_remove_all_filters( 'the_content' );
|
526 |
+
|
527 |
+
// Add a filter on the_content late, which we will later remove
|
528 |
+
if ( ! has_filter( 'the_content', 'bp_replace_the_content' ) ) {
|
529 |
+
add_filter( 'the_content', 'bp_replace_the_content' );
|
530 |
+
}
|
531 |
|
532 |
// Add BuddyPress's head action to wp_head
|
533 |
if ( ! has_action( 'wp_head', 'bp_head' ) ) {
|
534 |
add_action( 'wp_head', 'bp_head' );
|
535 |
}
|
536 |
+
|
537 |
+
// Find the appropriate template file
|
538 |
+
$template = bp_get_theme_compat_templates();
|
539 |
}
|
540 |
|
541 |
return apply_filters( 'bp_template_include_theme_compat', $template );
|
548 |
*
|
549 |
* @since BuddyPress (1.7)
|
550 |
* @param string $content
|
551 |
+
* @return type
|
552 |
*/
|
553 |
function bp_replace_the_content( $content = '' ) {
|
554 |
|
555 |
+
if ( ! in_the_loop() )
|
|
|
556 |
return $content;
|
557 |
|
|
|
|
|
|
|
|
|
|
|
558 |
$new_content = apply_filters( 'bp_replace_the_content', $content );
|
559 |
|
560 |
// Juggle the content around and try to prevent unsightly comments
|
561 |
+
if ( !empty( $new_content ) && ( $new_content != $content ) ) {
|
562 |
|
563 |
// Set the content to be the new content
|
564 |
$content = $new_content;
|
574 |
return $content;
|
575 |
}
|
576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
577 |
/** Filters *******************************************************************/
|
578 |
|
579 |
/**
|
bp-core/bp-core-update.php
CHANGED
@@ -167,7 +167,7 @@ function bp_setup_updater() {
|
|
167 |
* This is most-often used when the data schema changes, but should also be used
|
168 |
* to correct issues with BuddyPress metadata silently on software update.
|
169 |
*
|
170 |
-
* @since BuddyPress (
|
171 |
*/
|
172 |
function bp_version_updater() {
|
173 |
|
@@ -253,6 +253,8 @@ function bp_update_to_1_6() {
|
|
253 |
* @internal Used internally to redirect BuddyPress to the about page on activation
|
254 |
*
|
255 |
* @uses set_transient() To drop the activation transient for 30 seconds
|
|
|
|
|
256 |
*/
|
257 |
function bp_add_activation_redirect() {
|
258 |
|
167 |
* This is most-often used when the data schema changes, but should also be used
|
168 |
* to correct issues with BuddyPress metadata silently on software update.
|
169 |
*
|
170 |
+
* @since BuddyPress (r4104)
|
171 |
*/
|
172 |
function bp_version_updater() {
|
173 |
|
253 |
* @internal Used internally to redirect BuddyPress to the about page on activation
|
254 |
*
|
255 |
* @uses set_transient() To drop the activation transient for 30 seconds
|
256 |
+
*
|
257 |
+
* @return If bulk activation
|
258 |
*/
|
259 |
function bp_add_activation_redirect() {
|
260 |
|
bp-core/bp-core-widgets.php
CHANGED
@@ -17,7 +17,7 @@ class BP_Core_Members_Widget extends WP_Widget {
|
|
17 |
function __construct() {
|
18 |
$widget_ops = array(
|
19 |
'description' => __( 'A dynamic list of recently active, popular, and newest members', 'buddypress' ),
|
20 |
-
'classname' => 'widget_bp_core_members_widget buddypress
|
21 |
);
|
22 |
parent::__construct( false, $name = _x( '(BuddyPress) Members', 'widget name', 'buddypress' ), $widget_ops );
|
23 |
|
@@ -34,11 +34,9 @@ class BP_Core_Members_Widget extends WP_Widget {
|
|
34 |
if ( !$instance['member_default'] )
|
35 |
$instance['member_default'] = 'active';
|
36 |
|
37 |
-
$title = apply_filters( 'widget_title', $instance['title'] );
|
38 |
-
|
39 |
echo $before_widget;
|
40 |
|
41 |
-
$title = $instance['link_title'] ? '<a href="' . trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ) . '">' . $title . '</a>' : $title;
|
42 |
|
43 |
echo $before_title
|
44 |
. $title
|
@@ -46,12 +44,12 @@ class BP_Core_Members_Widget extends WP_Widget {
|
|
46 |
|
47 |
<?php if ( bp_has_members( 'user_id=0&type=' . $instance['member_default'] . '&max=' . $instance['max_members'] . '&populate_extras=1' ) ) : ?>
|
48 |
<div class="item-options" id="members-list-options">
|
49 |
-
<a href="<?php
|
50 |
-
| <a href="<?php
|
51 |
|
52 |
<?php if ( bp_is_active( 'friends' ) ) : ?>
|
53 |
|
54 |
-
| <a href="<?php
|
55 |
|
56 |
<?php endif; ?>
|
57 |
</div>
|
@@ -150,20 +148,18 @@ class BP_Core_Whos_Online_Widget extends WP_Widget {
|
|
150 |
function __construct() {
|
151 |
$widget_ops = array(
|
152 |
'description' => __( 'Avatars of users who are currently online', 'buddypress' ),
|
153 |
-
'classname' => 'widget_bp_core_whos_online_widget buddypress
|
154 |
);
|
155 |
parent::__construct( false, $name = _x( "(BuddyPress) Who's Online", 'widget name', 'buddypress' ), $widget_ops );
|
156 |
}
|
157 |
|
158 |
function widget($args, $instance) {
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
$title = apply_filters( 'widget_title', $instance['title'] );
|
163 |
|
164 |
echo $before_widget;
|
165 |
echo $before_title
|
166 |
-
. $title
|
167 |
. $after_title; ?>
|
168 |
|
169 |
<?php if ( bp_has_members( 'user_id=0&type=online&per_page=' . $instance['max_members'] . '&max=' . $instance['max_members'] . '&populate_extras=1' ) ) : ?>
|
@@ -219,7 +215,7 @@ class BP_Core_Recently_Active_Widget extends WP_Widget {
|
|
219 |
function __construct() {
|
220 |
$widget_ops = array(
|
221 |
'description' => __( 'Avatars of recently active members', 'buddypress' ),
|
222 |
-
'classname' => 'widget_bp_core_recently_active_widget buddypress
|
223 |
);
|
224 |
parent::__construct( false, $name = _x( '(BuddyPress) Recently Active Members', 'widget name', 'buddypress' ), $widget_ops );
|
225 |
}
|
@@ -228,11 +224,9 @@ class BP_Core_Recently_Active_Widget extends WP_Widget {
|
|
228 |
|
229 |
extract( $args );
|
230 |
|
231 |
-
$title = apply_filters( 'widget_title', $instance['title'] );
|
232 |
-
|
233 |
echo $before_widget;
|
234 |
echo $before_title
|
235 |
-
. $title
|
236 |
. $after_title; ?>
|
237 |
|
238 |
<?php if ( bp_has_members( 'user_id=0&type=active&per_page=' . $instance['max_members'] . '&max=' . $instance['max_members'] . '&populate_extras=1' ) ) : ?>
|
17 |
function __construct() {
|
18 |
$widget_ops = array(
|
19 |
'description' => __( 'A dynamic list of recently active, popular, and newest members', 'buddypress' ),
|
20 |
+
'classname' => 'widget_bp_core_members_widget buddypress',
|
21 |
);
|
22 |
parent::__construct( false, $name = _x( '(BuddyPress) Members', 'widget name', 'buddypress' ), $widget_ops );
|
23 |
|
34 |
if ( !$instance['member_default'] )
|
35 |
$instance['member_default'] = 'active';
|
36 |
|
|
|
|
|
37 |
echo $before_widget;
|
38 |
|
39 |
+
$title = $instance['link_title'] ? '<a href="' . trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ) . '">' . $instance['title'] . '</a>' : $instance['title'];
|
40 |
|
41 |
echo $before_title
|
42 |
. $title
|
44 |
|
45 |
<?php if ( bp_has_members( 'user_id=0&type=' . $instance['member_default'] . '&max=' . $instance['max_members'] . '&populate_extras=1' ) ) : ?>
|
46 |
<div class="item-options" id="members-list-options">
|
47 |
+
<a href="<?php echo site_url( bp_get_members_root_slug() ); ?>" id="newest-members" <?php if ( $instance['member_default'] == 'newest' ) : ?>class="selected"<?php endif; ?>><?php _e( 'Newest', 'buddypress' ) ?></a>
|
48 |
+
| <a href="<?php echo site_url( bp_get_members_root_slug() ); ?>" id="recently-active-members" <?php if ( $instance['member_default'] == 'active' ) : ?>class="selected"<?php endif; ?>><?php _e( 'Active', 'buddypress' ) ?></a>
|
49 |
|
50 |
<?php if ( bp_is_active( 'friends' ) ) : ?>
|
51 |
|
52 |
+
| <a href="<?php echo site_url( bp_get_members_root_slug() ); ?>" id="popular-members" <?php if ( $instance['member_default'] == 'popular' ) : ?>class="selected"<?php endif; ?>><?php _e( 'Popular', 'buddypress' ) ?></a>
|
53 |
|
54 |
<?php endif; ?>
|
55 |
</div>
|
148 |
function __construct() {
|
149 |
$widget_ops = array(
|
150 |
'description' => __( 'Avatars of users who are currently online', 'buddypress' ),
|
151 |
+
'classname' => 'widget_bp_core_whos_online_widget buddypress',
|
152 |
);
|
153 |
parent::__construct( false, $name = _x( "(BuddyPress) Who's Online", 'widget name', 'buddypress' ), $widget_ops );
|
154 |
}
|
155 |
|
156 |
function widget($args, $instance) {
|
157 |
|
158 |
+
extract( $args );
|
|
|
|
|
159 |
|
160 |
echo $before_widget;
|
161 |
echo $before_title
|
162 |
+
. $instance['title']
|
163 |
. $after_title; ?>
|
164 |
|
165 |
<?php if ( bp_has_members( 'user_id=0&type=online&per_page=' . $instance['max_members'] . '&max=' . $instance['max_members'] . '&populate_extras=1' ) ) : ?>
|
215 |
function __construct() {
|
216 |
$widget_ops = array(
|
217 |
'description' => __( 'Avatars of recently active members', 'buddypress' ),
|
218 |
+
'classname' => 'widget_bp_core_recently_active_widget buddypress',
|
219 |
);
|
220 |
parent::__construct( false, $name = _x( '(BuddyPress) Recently Active Members', 'widget name', 'buddypress' ), $widget_ops );
|
221 |
}
|
224 |
|
225 |
extract( $args );
|
226 |
|
|
|
|
|
227 |
echo $before_widget;
|
228 |
echo $before_title
|
229 |
+
. $instance['title']
|
230 |
. $after_title; ?>
|
231 |
|
232 |
<?php if ( bp_has_members( 'user_id=0&type=active&per_page=' . $instance['max_members'] . '&max=' . $instance['max_members'] . '&populate_extras=1' ) ) : ?>
|
bp-core/bp-core-wpabstraction.php
CHANGED
@@ -127,10 +127,10 @@ if ( !function_exists( 'mb_strlen' ) ) {
|
|
127 |
if ( !function_exists( 'mb_strpos' ) ) {
|
128 |
/**
|
129 |
* Fallback implementation of mb_strpos, hardcoded to UTF-8.
|
130 |
-
* @param
|
131 |
-
* @param
|
132 |
-
* @param
|
133 |
-
* @param
|
134 |
* @return int
|
135 |
*/
|
136 |
function mb_strpos( $haystack, $needle, $offset = 0, $encoding = '' ) {
|
@@ -150,10 +150,10 @@ if ( !function_exists( 'mb_strpos' ) ) {
|
|
150 |
if ( !function_exists( 'mb_strrpos' ) ) {
|
151 |
/**
|
152 |
* Fallback implementation of mb_strrpos, hardcoded to UTF-8.
|
153 |
-
* @param
|
154 |
-
* @param
|
155 |
-
* @param
|
156 |
-
* @param
|
157 |
* @return int
|
158 |
*/
|
159 |
function mb_strrpos( $haystack, $needle, $offset = 0, $encoding = '' ) {
|
127 |
if ( !function_exists( 'mb_strpos' ) ) {
|
128 |
/**
|
129 |
* Fallback implementation of mb_strpos, hardcoded to UTF-8.
|
130 |
+
* @param $haystack String
|
131 |
+
* @param $needle String
|
132 |
+
* @param $offset String: optional start position
|
133 |
+
* @param $encoding String: optional encoding; ignored
|
134 |
* @return int
|
135 |
*/
|
136 |
function mb_strpos( $haystack, $needle, $offset = 0, $encoding = '' ) {
|
150 |
if ( !function_exists( 'mb_strrpos' ) ) {
|
151 |
/**
|
152 |
* Fallback implementation of mb_strrpos, hardcoded to UTF-8.
|
153 |
+
* @param $haystack String
|
154 |
+
* @param $needle String
|
155 |
+
* @param $offset String: optional start position
|
156 |
+
* @param $encoding String: optional encoding; ignored
|
157 |
* @return int
|
158 |
*/
|
159 |
function mb_strrpos( $haystack, $needle, $offset = 0, $encoding = '' ) {
|
bp-core/deprecated/1.2.php
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Retrieve sitewide activity
|
5 |
-
*
|
6 |
-
* You should use bp_activity_get() instead
|
7 |
-
*
|
8 |
-
* @since BuddyPress (1.0)
|
9 |
-
* @deprecated BuddyPress (1.2)
|
10 |
-
*
|
11 |
-
* @param array $args
|
12 |
-
*
|
13 |
-
* @uses BP_Activity_Activity::get() {@link BP_Activity_Activity}
|
14 |
-
*
|
15 |
-
* @return object $activity The activity/activities object
|
16 |
-
*/
|
17 |
-
function bp_activity_get_sitewide( $args = '' ) {
|
18 |
-
_deprecated_function( __FUNCTION__, '1.2', 'bp_activity_get()' );
|
19 |
-
|
20 |
-
$defaults = array(
|
21 |
-
'max' => false, // Maximum number of results to return
|
22 |
-
'page' => 1, // page 1 without a per_page will result in no pagination.
|
23 |
-
'per_page' => false, // results per page
|
24 |
-
'sort' => 'DESC', // sort ASC or DESC
|
25 |
-
'display_comments' => false, // false for no comments. 'stream' for within stream display, 'threaded' for below each activity item
|
26 |
-
|
27 |
-
'search_terms' => false, // Pass search terms as a string
|
28 |
-
'show_hidden' => false, // Show activity items that are hidden site-wide?
|
29 |
-
|
30 |
-
/**
|
31 |
-
* Pass filters as an array:
|
32 |
-
* array(
|
33 |
-
* 'user_id' => false, // user_id to filter on
|
34 |
-
* 'object' => false, // object to filter on e.g. groups, profile, status, friends
|
35 |
-
* 'action' => false, // action to filter on e.g. new_wire_post, new_forum_post, profile_updated
|
36 |
-
* 'primary_id' => false, // object ID to filter on e.g. a group_id or forum_id or blog_id etc.
|
37 |
-
* 'secondary_id' => false, // secondary object ID to filter on e.g. a post_id
|
38 |
-
* );
|
39 |
-
*/
|
40 |
-
'filter' => array()
|
41 |
-
);
|
42 |
-
|
43 |
-
$args = wp_parse_args( $args, $defaults );
|
44 |
-
|
45 |
-
return apply_filters( 'bp_activity_get_sitewide', BP_Activity_Activity::get( $args ), $r );
|
46 |
-
}
|
47 |
-
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bp-core/deprecated/1.5.php
CHANGED
@@ -250,7 +250,7 @@ function bp_is_member() {
|
|
250 |
* @deprecated use bp_loggedin_user_link()
|
251 |
*/
|
252 |
function bp_loggedinuser_link() {
|
253 |
-
_deprecated_function( __FUNCTION__, '1.5', '
|
254 |
bp_loggedin_user_link();
|
255 |
}
|
256 |
|
@@ -454,7 +454,7 @@ function bp_is_friend_requests() {
|
|
454 |
*
|
455 |
* @deprecated BuddyPress (1.5)
|
456 |
* @deprecated bp_is_root_component()
|
457 |
-
* @return
|
458 |
*/
|
459 |
function bp_core_is_root_component( $component_name ) {
|
460 |
_deprecated_function( __FUNCTION__, '1.5', 'bp_is_root_component()' );
|
@@ -497,8 +497,8 @@ function bp_dtheme_deprecated() {
|
|
497 |
*
|
498 |
* @deprecated BuddyPress (1.5)
|
499 |
* @deprecated No longer required.
|
500 |
-
* @param string $oldvalue Previous value of get_option( 'page_on_front' )
|
501 |
-
* @param string $oldvalue New value of get_option( 'page_on_front' )
|
502 |
* @return string
|
503 |
* @since BuddyPress (1.2)
|
504 |
*/
|
250 |
* @deprecated use bp_loggedin_user_link()
|
251 |
*/
|
252 |
function bp_loggedinuser_link() {
|
253 |
+
_deprecated_function( __FUNCTION__, '1.5', 'bp_logged_in_user_link' );
|
254 |
bp_loggedin_user_link();
|
255 |
}
|
256 |
|
454 |
*
|
455 |
* @deprecated BuddyPress (1.5)
|
456 |
* @deprecated bp_is_root_component()
|
457 |
+
* @return true if root component, else false.
|
458 |
*/
|
459 |
function bp_core_is_root_component( $component_name ) {
|
460 |
_deprecated_function( __FUNCTION__, '1.5', 'bp_is_root_component()' );
|
497 |
*
|
498 |
* @deprecated BuddyPress (1.5)
|
499 |
* @deprecated No longer required.
|
500 |
+
* @param $string $oldvalue Previous value of get_option( 'page_on_front' )
|
501 |
+
* @param $string $oldvalue New value of get_option( 'page_on_front' )
|
502 |
* @return string
|
503 |
* @since BuddyPress (1.2)
|
504 |
*/
|
bp-core/deprecated/1.6.php
CHANGED
@@ -193,7 +193,7 @@ function updates_register_activity_actions() {
|
|
193 |
* Sets the "From" address in emails sent
|
194 |
*
|
195 |
* @deprecated BuddyPress (1.6)
|
196 |
-
* @return
|
197 |
*/
|
198 |
function bp_core_email_from_address_filter() {
|
199 |
_deprecated_function( __FUNCTION__, '1.6' );
|
193 |
* Sets the "From" address in emails sent
|
194 |
*
|
195 |
* @deprecated BuddyPress (1.6)
|
196 |
+
* @return noreply@sitedomain email address
|
197 |
*/
|
198 |
function bp_core_email_from_address_filter() {
|
199 |
_deprecated_function( __FUNCTION__, '1.6' );
|
bp-forums/bp-forums-bbpress-sa.php
CHANGED
@@ -221,9 +221,9 @@ function backpress_convert_object( &$object, $output ) {
|
|
221 |
* Copied from wp-admin/includes/upgrade.php, this will take care of creating
|
222 |
* the bbPress stand-alone tables without loading a conflicting WP Admin.
|
223 |
*
|
224 |
-
* @param
|
225 |
-
* @param
|
226 |
-
* @return
|
227 |
*/
|
228 |
function bp_bb_dbDelta($queries, $execute = true) {
|
229 |
global $wpdb;
|
221 |
* Copied from wp-admin/includes/upgrade.php, this will take care of creating
|
222 |
* the bbPress stand-alone tables without loading a conflicting WP Admin.
|
223 |
*
|
224 |
+
* @param unknown_type $queries
|
225 |
+
* @param unknown_type $execute
|
226 |
+
* @return unknown
|
227 |
*/
|
228 |
function bp_bb_dbDelta($queries, $execute = true) {
|
229 |
global $wpdb;
|
bp-forums/bp-forums-functions.php
CHANGED
@@ -319,7 +319,7 @@ function bp_forums_total_topic_count() {
|
|
319 |
*
|
320 |
* @since BuddyPress (1.6)
|
321 |
*
|
322 |
-
* @param
|
323 |
* @param int $topic_id The topic id
|
324 |
* @param int $user_id The user id
|
325 |
*/
|
@@ -370,7 +370,7 @@ function bp_forums_reply_exists( $text = '', $topic_id = 0, $user_id = 0 ) {
|
|
370 |
* @package BuddyPress
|
371 |
*
|
372 |
* @param int $user_id ID of the user being queried. Falls back on displayed user, then loggedin
|
373 |
-
* @param
|
374 |
* @return int $count The topic count
|
375 |
*/
|
376 |
function bp_forums_total_topic_count_for_user( $user_id = 0, $type = 'active' ) {
|
319 |
*
|
320 |
* @since BuddyPress (1.6)
|
321 |
*
|
322 |
+
* @param str $text The text of the comment
|
323 |
* @param int $topic_id The topic id
|
324 |
* @param int $user_id The user id
|
325 |
*/
|
370 |
* @package BuddyPress
|
371 |
*
|
372 |
* @param int $user_id ID of the user being queried. Falls back on displayed user, then loggedin
|
373 |
+
* @param str $type The current filter/sort type. 'active', 'popular', 'unreplied'
|
374 |
* @return int $count The topic count
|
375 |
*/
|
376 |
function bp_forums_total_topic_count_for_user( $user_id = 0, $type = 'active' ) {
|
bp-forums/bp-forums-loader.php
CHANGED
@@ -82,12 +82,6 @@ class BP_Forums_Component extends BP_Component {
|
|
82 |
if ( !defined( 'BB_PATH' ) )
|
83 |
$includes[] = 'bbpress-sa';
|
84 |
|
85 |
-
// Admin-specific code
|
86 |
-
if ( is_admin() ) {
|
87 |
-
$includes[] = 'deprecated/1.6';
|
88 |
-
$includes[] = 'deprecated/1.7';
|
89 |
-
}
|
90 |
-
|
91 |
parent::includes( $includes );
|
92 |
}
|
93 |
|
82 |
if ( !defined( 'BB_PATH' ) )
|
83 |
$includes[] = 'bbpress-sa';
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
parent::includes( $includes );
|
86 |
}
|
87 |
|
bp-forums/bp-forums-template.php
CHANGED
@@ -893,7 +893,7 @@ function bp_forum_topic_new_reply_link() {
|
|
893 |
* @since BuddyPress (1.5)
|
894 |
*
|
895 |
* @uses apply_filters() Filter bp_get_forum_topic_new_reply_link to modify
|
896 |
-
* @return
|
897 |
*/
|
898 |
function bp_get_forum_topic_new_reply_link() {
|
899 |
global $topic_template;
|
@@ -1395,7 +1395,7 @@ function bp_forum_topic_tag_list() {
|
|
1395 |
* @package BuddyPress
|
1396 |
* @since BuddyPress (1.5)
|
1397 |
*
|
1398 |
-
* @param
|
1399 |
* @return mixed $tags
|
1400 |
*/
|
1401 |
function bp_get_forum_topic_tag_list( $format = 'string' ) {
|
893 |
* @since BuddyPress (1.5)
|
894 |
*
|
895 |
* @uses apply_filters() Filter bp_get_forum_topic_new_reply_link to modify
|
896 |
+
* @return str The URL for the New Reply link
|
897 |
*/
|
898 |
function bp_get_forum_topic_new_reply_link() {
|
899 |
global $topic_template;
|
1395 |
* @package BuddyPress
|
1396 |
* @since BuddyPress (1.5)
|
1397 |
*
|
1398 |
+
* @param str $format 'string' returns comma-separated string; otherwise returns array
|
1399 |
* @return mixed $tags
|
1400 |
*/
|
1401 |
function bp_get_forum_topic_tag_list( $format = 'string' ) {
|
bp-forums/deprecated/1.6.php
CHANGED
@@ -14,26 +14,8 @@
|
|
14 |
// Exit if accessed directly
|
15 |
if ( !defined( 'ABSPATH' ) ) exit;
|
16 |
|
17 |
-
/**
|
18 |
-
* Outputs the markup for the bb-forums-admin panel
|
19 |
-
*/
|
20 |
function bp_forums_bbpress_admin() {
|
21 |
|
22 |
-
// The text and URL of the Site Wide Forums button differs depending on whether bbPress
|
23 |
-
// is running
|
24 |
-
if ( is_plugin_active( 'bbpress/bbpress.php' ) ) {
|
25 |
-
// The bbPress admin page will always be on the root blog. switch_to_blog() will
|
26 |
-
// pass through if we're already there.
|
27 |
-
switch_to_blog( bp_get_root_blog_id() );
|
28 |
-
$button_url = admin_url( add_query_arg( array( 'page' => 'bbpress' ), 'options-general.php' ) );
|
29 |
-
restore_current_blog();
|
30 |
-
|
31 |
-
$button_text = __( 'Configure bbPress', 'buddypress' );
|
32 |
-
} else {
|
33 |
-
$button_url = bp_get_admin_url( add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'bbpress', 'TB_iframe' => 'true', 'width' => '640', 'height' => '500' ), 'plugin-install.php' ) );
|
34 |
-
$button_text = __( 'Install bbPress', 'buddypress' );
|
35 |
-
}
|
36 |
-
|
37 |
$action = bp_get_admin_url( 'admin.php?page=bb-forums-setup&reinstall=1' ); ?>
|
38 |
|
39 |
<div class="wrap">
|
@@ -55,21 +37,15 @@ function bp_forums_bbpress_admin() {
|
|
55 |
|
56 |
// Delete the bb-config.php location option
|
57 |
bp_delete_option( 'bb-config-location' );
|
58 |
-
|
59 |
-
// Now delete the bb-config.php file
|
60 |
-
@unlink( ABSPATH . 'bb-config.php' );
|
61 |
-
|
62 |
-
// show the updated wizard
|
63 |
bp_forums_bbpress_install_wizard();
|
64 |
|
65 |
else : ?>
|
66 |
|
67 |
-
<div
|
68 |
-
<h3><?php _e( '
|
69 |
|
70 |
<p><?php _e( 'Give each individual group its own discussion forum. Choose this if you\'d like to keep your members\' conversations separated into distinct areas.' , 'buddypress' ); ?></p>
|
71 |
-
|
72 |
-
<p><?php _e( 'Note: This component is retired and will not be receiving any updates in the future. Only use this component if your current site relies on it.' , 'buddypress' ); ?></p>
|
73 |
|
74 |
<h4 style="margin-bottom: 10px;"><?php _e( 'Features', 'buddypress' ); ?></h4>
|
75 |
<ul class="description" style="list-style: square; margin-left: 30px;">
|
@@ -80,30 +56,7 @@ function bp_forums_bbpress_admin() {
|
|
80 |
</ul>
|
81 |
|
82 |
<div>
|
83 |
-
<a class="button button-primary
|
84 |
-
</div>
|
85 |
-
</div>
|
86 |
-
|
87 |
-
<div style="width: 45%; float: left; margin: 20px 0 20px 20px; padding: 0 20px 20px 20px; border: 1px solid #ddd; background-color: #fff;">
|
88 |
-
<h3><?php _e( 'New! bbPress', 'buddypress' ) ?></h3>
|
89 |
-
<p><?php _e( 'bbPress is a brand-new forum plugin from one of the lead developers of BuddyPress.', 'buddypress' ) ?></p>
|
90 |
-
|
91 |
-
<p><?php _e( 'It boasts a bunch of cool features that the BP Legacy Discussion Forums does not have including:', 'buddypress' ) ?></p>
|
92 |
-
|
93 |
-
<ul class="description" style="list-style: square; margin-left: 30px;">
|
94 |
-
<li><?php _e( 'Non-group specific forum creation', 'buddypress' ); ?></p></li>
|
95 |
-
<li><?php _e( 'Moderation via the WP admin dashboard', 'buddypress' ); ?></p></li>
|
96 |
-
<li><?php _e( 'Topic splitting', 'buddypress' ); ?></p></li>
|
97 |
-
<li><?php _e( 'Revisions', 'buddypress' ); ?></p></li>
|
98 |
-
<li><?php _e( 'Spam management', 'buddypress' ); ?></p></li>
|
99 |
-
<li><?php _e( 'Subscriptions', 'buddypress' ); ?></p></li>
|
100 |
-
<li><?php _e( 'And more!', 'buddypress' ); ?></p></li>
|
101 |
-
</ul>
|
102 |
-
|
103 |
-
<p><?php printf( __( 'If you decide to use bbPress, you will need to deactivate the legacy group forum component. For more info, <a href="%s">read this codex article</a>.', 'buddypress' ), 'http://codex.buddypress.org/user/setting-up-a-new-installation/installing-group-and-sitewide-forums/using-bbpress-2-2-with-buddypress/' ) ?></p>
|
104 |
-
|
105 |
-
<div>
|
106 |
-
<a class="button thickbox button-primary" href="<?php echo esc_attr( $button_url ) ?>"><?php echo esc_html( $button_text ) ?></a>
|
107 |
</div>
|
108 |
</div>
|
109 |
|
@@ -114,28 +67,10 @@ function bp_forums_bbpress_admin() {
|
|
114 |
}
|
115 |
|
116 |
function bp_forums_bbpress_install_wizard() {
|
117 |
-
$post_url
|
118 |
-
$bbpress_plugin_is_active = false;
|
119 |
|
120 |
$step = isset( $_REQUEST['step'] ) ? $_REQUEST['step'] : '';
|
121 |
|
122 |
-
// The text and URL of the Site Wide Forums button differs depending on whether bbPress
|
123 |
-
// is running
|
124 |
-
if ( is_plugin_active( 'bbpress/bbpress.php' ) ) {
|
125 |
-
$bbpress_plugin_is_active = true;
|
126 |
-
|
127 |
-
// The bbPress admin page will always be on the root blog. switch_to_blog() will
|
128 |
-
// pass through if we're already there.
|
129 |
-
switch_to_blog( bp_get_root_blog_id() );
|
130 |
-
$button_url = admin_url( add_query_arg( array( 'page' => 'bbpress' ), 'options-general.php' ) );
|
131 |
-
restore_current_blog();
|
132 |
-
|
133 |
-
$button_text = __( 'Configure bbPress', 'buddypress' );
|
134 |
-
} else {
|
135 |
-
$button_url = bp_get_admin_url( add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'bbpress', 'TB_iframe' => 'true', 'width' => '640', 'height' => '500' ), 'plugin-install.php' ) );
|
136 |
-
$button_text = __( 'Install bbPress', 'buddypress' );
|
137 |
-
}
|
138 |
-
|
139 |
switch( $step ) {
|
140 |
case 'existing':
|
141 |
if ( isset( $_REQUEST['doinstall'] ) && ( 1 == (int) $_REQUEST['doinstall'] ) ) {
|
@@ -163,7 +98,7 @@ function bp_forums_bbpress_install_wizard() {
|
|
163 |
break;
|
164 |
|
165 |
case 'new':
|
166 |
-
if ( isset( $_REQUEST['doinstall'] ) && 1 == (int)$_REQUEST['doinstall'] ) {
|
167 |
$result = bp_forums_bbpress_install();
|
168 |
|
169 |
switch ( $result ) {
|
@@ -206,12 +141,11 @@ function bp_forums_bbpress_install_wizard() {
|
|
206 |
wp_admin_css( 'plugin-install' );
|
207 |
?>
|
208 |
|
209 |
-
<div
|
210 |
<h3><?php _e( 'Forums for Groups', 'buddypress' ) ?></h3>
|
211 |
|
212 |
<p><?php _e( 'Give each individual group its own discussion forum. Choose this if you\'d like to keep your members\' conversations separated into distinct areas.' , 'buddypress' ); ?></p>
|
213 |
-
|
214 |
-
<p><?php _e( 'Note: This component is retired and will not be receiving any updates in the future. Only use this component if your current site relies on it.' , 'buddypress' ); ?></p>
|
215 |
|
216 |
<h4 style="margin-bottom: 10px;"><?php _e( 'Features', 'buddypress' ); ?></h4>
|
217 |
<ul class="description" style="list-style: square; margin-left: 30px;">
|
@@ -227,28 +161,6 @@ function bp_forums_bbpress_install_wizard() {
|
|
227 |
</div>
|
228 |
</div>
|
229 |
|
230 |
-
<div style="width: 45%; float: left; margin: 20px 0 20px 20px; padding: 0 20px 20px 20px; border: 1px solid #ddd; background-color: #fff;">
|
231 |
-
<h3><?php _e( 'New! bbPress', 'buddypress' ) ?></h3>
|
232 |
-
<p><?php _e( 'bbPress is a brand-new forum plugin from one of the lead developers of BuddyPress.', 'buddypress' ) ?></p>
|
233 |
-
|
234 |
-
<p><?php _e( 'It boasts a bunch of cool features that the BP Legacy Discussion Forums does not have including:', 'buddypress' ) ?></p>
|
235 |
-
|
236 |
-
<ul class="description" style="list-style: square; margin-left: 30px;">
|
237 |
-
<li><?php _e( 'Non-group specific forum creation', 'buddypress' ); ?></p></li>
|
238 |
-
<li><?php _e( 'Moderation via the WP admin dashboard', 'buddypress' ); ?></p></li>
|
239 |
-
<li><?php _e( 'Topic splitting', 'buddypress' ); ?></p></li>
|
240 |
-
<li><?php _e( 'Revisions', 'buddypress' ); ?></p></li>
|
241 |
-
<li><?php _e( 'Spam management', 'buddypress' ); ?></p></li>
|
242 |
-
<li><?php _e( 'Subscriptions', 'buddypress' ); ?></p></li>
|
243 |
-
<li><?php _e( 'And more!', 'buddypress' ); ?></p></li>
|
244 |
-
</ul>
|
245 |
-
|
246 |
-
<p><?php printf( __( 'If you decide to use bbPress, you will need to deactivate the legacy group forum component. For more info, <a href="%s">read this codex article</a>.', 'buddypress' ), 'http://codex.buddypress.org/user/setting-up-a-new-installation/installing-group-and-sitewide-forums/using-bbpress-2-2-with-buddypress/' ) ?></p>
|
247 |
-
<div>
|
248 |
-
<a class="button button-primary <?php if ( ! $bbpress_plugin_is_active ) { echo esc_attr( 'thickbox' ); }?>" href="<?php echo esc_attr( $button_url ) ?>"><?php echo esc_html( $button_text ) ?></a>
|
249 |
-
</div>
|
250 |
-
</div>
|
251 |
-
|
252 |
<?php }
|
253 |
break;
|
254 |
}
|
14 |
// Exit if accessed directly
|
15 |
if ( !defined( 'ABSPATH' ) ) exit;
|
16 |
|
|
|
|
|
|
|
17 |
function bp_forums_bbpress_admin() {
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
$action = bp_get_admin_url( 'admin.php?page=bb-forums-setup&reinstall=1' ); ?>
|
20 |
|
21 |
<div class="wrap">
|
37 |
|
38 |
// Delete the bb-config.php location option
|
39 |
bp_delete_option( 'bb-config-location' );
|
|
|
|
|
|
|
|
|
|
|
40 |
bp_forums_bbpress_install_wizard();
|
41 |
|
42 |
else : ?>
|
43 |
|
44 |
+
<div>
|
45 |
+
<h3><?php _e( 'Forums for Groups', 'buddypress' ) ?></h3>
|
46 |
|
47 |
<p><?php _e( 'Give each individual group its own discussion forum. Choose this if you\'d like to keep your members\' conversations separated into distinct areas.' , 'buddypress' ); ?></p>
|
48 |
+
<p class="description"><?php _e( 'You may use an existing bbPress installation if you have one.', 'buddypress' ); ?></p>
|
|
|
49 |
|
50 |
<h4 style="margin-bottom: 10px;"><?php _e( 'Features', 'buddypress' ); ?></h4>
|
51 |
<ul class="description" style="list-style: square; margin-left: 30px;">
|
56 |
</ul>
|
57 |
|
58 |
<div>
|
59 |
+
<a class="button button-primary" href="<?php echo $action ?>"><?php _e( 'Reinstall Group Forums', 'buddypress' ) ?></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
</div>
|
61 |
</div>
|
62 |
|
67 |
}
|
68 |
|
69 |
function bp_forums_bbpress_install_wizard() {
|
70 |
+
$post_url = bp_get_admin_url( 'admin.php?page=bb-forums-setup' );
|
|
|
71 |
|
72 |
$step = isset( $_REQUEST['step'] ) ? $_REQUEST['step'] : '';
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
switch( $step ) {
|
75 |
case 'existing':
|
76 |
if ( isset( $_REQUEST['doinstall'] ) && ( 1 == (int) $_REQUEST['doinstall'] ) ) {
|
98 |
break;
|
99 |
|
100 |
case 'new':
|
101 |
+
if ( isset( $_REQUEST['doinstall'] ) && 1 == (int) $_REQUEST['doinstall'] ) {
|
102 |
$result = bp_forums_bbpress_install();
|
103 |
|
104 |
switch ( $result ) {
|
141 |
wp_admin_css( 'plugin-install' );
|
142 |
?>
|
143 |
|
144 |
+
<div>
|
145 |
<h3><?php _e( 'Forums for Groups', 'buddypress' ) ?></h3>
|
146 |
|
147 |
<p><?php _e( 'Give each individual group its own discussion forum. Choose this if you\'d like to keep your members\' conversations separated into distinct areas.' , 'buddypress' ); ?></p>
|
148 |
+
<p class="description"><?php _e( 'You may use an existing bbPress installation if you have one.', 'buddypress' ); ?></p>
|
|
|
149 |
|
150 |
<h4 style="margin-bottom: 10px;"><?php _e( 'Features', 'buddypress' ); ?></h4>
|
151 |
<ul class="description" style="list-style: square; margin-left: 30px;">
|
161 |
</div>
|
162 |
</div>
|
163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
<?php }
|
165 |
break;
|
166 |
}
|
bp-forums/deprecated/1.7.php
CHANGED
@@ -29,6 +29,235 @@ function bp_forums_add_admin_menu() {
|
|
29 |
}
|
30 |
add_action( bp_core_admin_hook(), 'bp_forums_add_admin_menu' );
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
function bp_forums_configure_existing_install() {
|
33 |
global $wpdb, $bbdb;
|
34 |
|
29 |
}
|
30 |
add_action( bp_core_admin_hook(), 'bp_forums_add_admin_menu' );
|
31 |
|
32 |
+
/**
|
33 |
+
* Outputs the markup for the bb-forums-admin panel
|
34 |
+
*/
|
35 |
+
function bp_forums_bbpress_admin() {
|
36 |
+
|
37 |
+
// The text and URL of the Site Wide Forums button differs depending on whether bbPress
|
38 |
+
// is running
|
39 |
+
if ( is_plugin_active( 'bbpress/bbpress.php' ) ) {
|
40 |
+
// The bbPress admin page will always be on the root blog. switch_to_blog() will
|
41 |
+
// pass through if we're already there.
|
42 |
+
switch_to_blog( bp_get_root_blog_id() );
|
43 |
+
$button_url = admin_url( add_query_arg( array( 'page' => 'bbpress' ), 'options-general.php' ) );
|
44 |
+
restore_current_blog();
|
45 |
+
|
46 |
+
$button_text = __( 'Configure Site Wide Forums', 'buddypress' );
|
47 |
+
} else {
|
48 |
+
$button_url = bp_get_admin_url( add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'bbpress', 'TB_iframe' => 'true', 'width' => '640', 'height' => '500' ), 'plugin-install.php' ) );
|
49 |
+
$button_text = __( 'Install Site Wide Forums', 'buddypress' );
|
50 |
+
}
|
51 |
+
|
52 |
+
$action = bp_get_admin_url( 'admin.php?page=bb-forums-setup&reinstall=1' ); ?>
|
53 |
+
|
54 |
+
<div class="wrap">
|
55 |
+
<?php screen_icon( 'buddypress' ); ?>
|
56 |
+
|
57 |
+
<h2 class="nav-tab-wrapper"><?php bp_core_admin_tabs( __( 'Forums', 'buddypress' ) ); ?></h2>
|
58 |
+
|
59 |
+
<?php if ( isset( $_POST['submit'] ) ) : ?>
|
60 |
+
|
61 |
+
<div id="message" class="updated fade">
|
62 |
+
<p><?php _e( 'Settings Saved.', 'buddypress' ) ?></p>
|
63 |
+
</div>
|
64 |
+
|
65 |
+
<?php endif; ?>
|
66 |
+
|
67 |
+
<?php
|
68 |
+
|
69 |
+
if ( isset( $_REQUEST['reinstall'] ) || !bp_forums_is_installed_correctly() ) :
|
70 |
+
|
71 |
+
// Delete the bb-config.php location option
|
72 |
+
bp_delete_option( 'bb-config-location' );
|
73 |
+
|
74 |
+
// Now delete the bb-config.php file
|
75 |
+
@unlink( ABSPATH . 'bb-config.php' );
|
76 |
+
|
77 |
+
// show the updated wizard
|
78 |
+
bp_forums_bbpress_install_wizard();
|
79 |
+
|
80 |
+
else : ?>
|
81 |
+
|
82 |
+
<div style="width: 45%; float: left; margin-top: 20px;">
|
83 |
+
<h3><?php _e( '(Installed)', 'buddypress' ); ?> <?php _e( 'Forums for Groups', 'buddypress' ) ?></h3>
|
84 |
+
|
85 |
+
<p><?php _e( 'Give each individual group its own discussion forum. Choose this if you\'d like to keep your members\' conversations separated into distinct areas.' , 'buddypress' ); ?></p>
|
86 |
+
<p class="description"><?php _e( 'You may use an existing bbPress installation if you have one.', 'buddypress' ); ?></p>
|
87 |
+
|
88 |
+
<h4 style="margin-bottom: 10px;"><?php _e( 'Features', 'buddypress' ); ?></h4>
|
89 |
+
<ul class="description" style="list-style: square; margin-left: 30px;">
|
90 |
+
<li><?php _e( 'Group Integration', 'buddypress' ); ?></p></li>
|
91 |
+
<li><?php _e( 'Member Profile Integration', 'buddypress' ); ?></p></li>
|
92 |
+
<li><?php _e( 'Activity Stream Integration', 'buddypress' ); ?></p></li>
|
93 |
+
<li><?php _e( '@ Mention Integration', 'buddypress' ); ?></p></li>
|
94 |
+
</ul>
|
95 |
+
|
96 |
+
<div>
|
97 |
+
<a class="button button-primary confirm" href="<?php echo $action ?>"><?php _e( 'Uninstall Group Forums', 'buddypress' ) ?></a>
|
98 |
+
</div>
|
99 |
+
</div>
|
100 |
+
|
101 |
+
<div style="width: 45%; float: left; margin: 20px 0 20px 20px; padding: 0 20px 20px 20px; border: 1px solid #ddd; background-color: #fff;">
|
102 |
+
<h3><?php _e( 'New! Site Wide Forums', 'buddypress' ) ?></h3>
|
103 |
+
<p><?php _e( 'Your site will have central forums that are not isolated to any specific group. Choose this if you\'d like to have a central forum area for your members.', 'buddypress' ) ?></p>
|
104 |
+
<p class="description"><?php _e( 'You may activate both Group and Site Wide forums, but this may create a poor experience for your members.', 'buddypress' ) ?></p>
|
105 |
+
|
106 |
+
<h4 style="margin-bottom: 10px;"><?php _e( 'Features', 'buddypress' ); ?></h4>
|
107 |
+
<ul class="description" style="list-style: square; margin-left: 30px;">
|
108 |
+
<li><?php _e( 'Central Discussion Area', 'buddypress' ); ?></p></li>
|
109 |
+
<li><?php _e( 'Forum Plugins Available', 'buddypress' ); ?></p></li>
|
110 |
+
<li><?php _e( 'Activity Stream Integration', 'buddypress' ); ?></p></li>
|
111 |
+
<li><?php _e( '@ Mention Integration', 'buddypress' ); ?></p></li>
|
112 |
+
</ul>
|
113 |
+
|
114 |
+
<div>
|
115 |
+
<a class="button thickbox button-primary" href="<?php echo esc_attr( $button_url ) ?>"><?php echo esc_html( $button_text ) ?></a>
|
116 |
+
</div>
|
117 |
+
</div>
|
118 |
+
|
119 |
+
<?php endif; ?>
|
120 |
+
|
121 |
+
<p class="clear description"><?php printf( __( 'Need help deciding between Group Forums and Site Wide Forums? Visit <a href="%s">the BuddyPress codex</a> for more information.', 'buddypress' ), 'http://codex.buddypress.org/getting-started/installing-group-and-sitewide-forums/' ) ?></p>
|
122 |
+
</div>
|
123 |
+
<?php
|
124 |
+
}
|
125 |
+
|
126 |
+
function bp_forums_bbpress_install_wizard() {
|
127 |
+
$post_url = bp_get_admin_url( 'admin.php?page=bb-forums-setup' );
|
128 |
+
$bbpress_plugin_is_active = false;
|
129 |
+
|
130 |
+
$step = isset( $_REQUEST['step'] ) ? $_REQUEST['step'] : '';
|
131 |
+
|
132 |
+
// The text and URL of the Site Wide Forums button differs depending on whether bbPress
|
133 |
+
// is running
|
134 |
+
if ( is_plugin_active( 'bbpress/bbpress.php' ) ) {
|
135 |
+
$bbpress_plugin_is_active = true;
|
136 |
+
|
137 |
+
// The bbPress admin page will always be on the root blog. switch_to_blog() will
|
138 |
+
// pass through if we're already there.
|
139 |
+
switch_to_blog( bp_get_root_blog_id() );
|
140 |
+
$button_url = admin_url( add_query_arg( array( 'page' => 'bbpress' ), 'options-general.php' ) );
|
141 |
+
restore_current_blog();
|
142 |
+
|
143 |
+
$button_text = __( 'Configure Site Wide Forums', 'buddypress' );
|
144 |
+
} else {
|
145 |
+
$button_url = bp_get_admin_url( add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => 'bbpress', 'TB_iframe' => 'true', 'width' => '640', 'height' => '500' ), 'plugin-install.php' ) );
|
146 |
+
$button_text = __( 'Install Site Wide Forums', 'buddypress' );
|
147 |
+
}
|
148 |
+
|
149 |
+
switch( $step ) {
|
150 |
+
case 'existing':
|
151 |
+
if ( isset( $_REQUEST['doinstall'] ) && ( 1 == (int) $_REQUEST['doinstall'] ) ) {
|
152 |
+
if ( !bp_forums_configure_existing_install() ) {
|
153 |
+
_e( 'The bb-config.php file was not found at that location, please try again.', 'buddypress' );
|
154 |
+
} else {
|
155 |
+
?>
|
156 |
+
<h3><?php _e( 'Forums were set up correctly using your existing bbPress install!', 'buddypress' ) ?></h3>
|
157 |
+
<p><?php _e( 'BuddyPress will now use its internal copy of bbPress to run the forums on your site. If you wish, you can remove your old bbPress installation files, as long as you keep the bb-config.php file in the same location.', 'buddypress' ) ?></p><?php
|
158 |
+
}
|
159 |
+
} else { ?>
|
160 |
+
|
161 |
+
<form action="" method="post">
|
162 |
+
<h3><?php _e( 'Existing bbPress Installation', 'buddypress' ) ?></h3>
|
163 |
+
<p><?php _e( "BuddyPress can make use of your existing bbPress install. Just provide the location of your <code>bb-config.php</code> file, and BuddyPress will do the rest.", 'buddypress' ) ?></p>
|
164 |
+
<p><label><code>bb-config.php</code> file location:</label><br /><input style="width: 50%" type="text" name="bbconfigloc" id="bbconfigloc" value="<?php echo str_replace( 'buddypress', '', $_SERVER['DOCUMENT_ROOT'] ) ?>" /></p>
|
165 |
+
<p><input type="submit" class="button-primary" value="<?php _e( 'Complete Installation', 'buddypress' ) ?>" /></p>
|
166 |
+
<input type="hidden" name="step" value="existing" />
|
167 |
+
<input type="hidden" name="doinstall" value="1" />
|
168 |
+
<?php wp_nonce_field( 'bp_forums_existing_install_init' ) ?>
|
169 |
+
</form>
|
170 |
+
|
171 |
+
<?php
|
172 |
+
}
|
173 |
+
break;
|
174 |
+
|
175 |
+
case 'new':
|
176 |
+
if ( isset( $_REQUEST['doinstall'] ) && 1 == (int)$_REQUEST['doinstall'] ) {
|
177 |
+
$result = bp_forums_bbpress_install();
|
178 |
+
|
179 |
+
switch ( $result ) {
|
180 |
+
case 1:
|
181 |
+
_e( '<p>All done! Configuration settings have been saved to the file <code>bb-config.php</code> in the root of your WordPress install.</p>', 'buddypress' );
|
182 |
+
break;
|
183 |
+
default:
|
184 |
+
// Just write the contents to screen
|
185 |
+
_e( '<p>A configuration file could not be created. No problem, but you will need to save the text shown below into a file named <code>bb-config.php</code> in the root directory of your WordPress installation before you can start using the forum functionality.</p>', 'buddypress' ); ?>
|
186 |
+
|
187 |
+
<textarea style="display:block; margin-top: 30px; width: 80%;" rows="50"><?php echo htmlspecialchars( $result ); ?></textarea>
|
188 |
+
|
189 |
+
<?php
|
190 |
+
break;
|
191 |
+
}
|
192 |
+
} else { ?>
|
193 |
+
|
194 |
+
<h3><?php _e( 'New bbPress Installation', 'buddypress' ) ?></h3>
|
195 |
+
<p><?php _e( "You've decided to set up a new installation of bbPress for forum management in BuddyPress. This is very simple and is usually just a one click
|
196 |
+
process. When you're ready, hit the link below.", 'buddypress' ) ?></p>
|
197 |
+
<p><a class="button-primary" href="<?php echo wp_nonce_url( $post_url . '&step=new&doinstall=1', 'bp_forums_new_install_init' ) ?>"><?php _e( 'Complete Installation', 'buddypress' ) ?></a></p>
|
198 |
+
|
199 |
+
<?php
|
200 |
+
}
|
201 |
+
break;
|
202 |
+
|
203 |
+
default:
|
204 |
+
if ( !file_exists( BP_PLUGIN_DIR . '/bp-forums/bbpress/' ) ) { ?>
|
205 |
+
|
206 |
+
<div id="message" class="error">
|
207 |
+
<p><?php printf( __( 'bbPress files were not found. To install the forums component you must download a copy of bbPress and make sure it is in the folder: "%s"', 'buddypress' ), 'wp-content/plugins/buddypress/bp-forums/bbpress/' ) ?></p>
|
208 |
+
</div>
|
209 |
+
|
210 |
+
<?php } else {
|
211 |
+
|
212 |
+
// Include the plugin install
|
213 |
+
|
214 |
+
add_thickbox();
|
215 |
+
wp_enqueue_script( 'plugin-install' );
|
216 |
+
wp_admin_css( 'plugin-install' );
|
217 |
+
?>
|
218 |
+
|
219 |
+
<div style="width: 45%; float: left; margin-top: 20px;">
|
220 |
+
<h3><?php _e( 'Forums for Groups', 'buddypress' ) ?></h3>
|
221 |
+
|
222 |
+
<p><?php _e( 'Give each individual group its own discussion forum. Choose this if you\'d like to keep your members\' conversations separated into distinct areas.' , 'buddypress' ); ?></p>
|
223 |
+
<p class="description"><?php _e( 'You may use an existing bbPress installation if you have one.', 'buddypress' ); ?></p>
|
224 |
+
|
225 |
+
<h4 style="margin-bottom: 10px;"><?php _e( 'Features', 'buddypress' ); ?></h4>
|
226 |
+
<ul class="description" style="list-style: square; margin-left: 30px;">
|
227 |
+
<li><?php _e( 'Group Integration', 'buddypress' ); ?></p></li>
|
228 |
+
<li><?php _e( 'Member Profile Integration', 'buddypress' ); ?></p></li>
|
229 |
+
<li><?php _e( 'Activity Stream Integration', 'buddypress' ); ?></p></li>
|
230 |
+
<li><?php _e( '@ Mention Integration', 'buddypress' ); ?></p></li>
|
231 |
+
</ul>
|
232 |
+
|
233 |
+
<div>
|
234 |
+
<a class="button button-primary" href="<?php echo $post_url . '&step=new' ?>"><?php _e( 'Install Group Forums', 'buddypress' ) ?></a>
|
235 |
+
<a class="button" href="<?php echo $post_url . '&step=existing' ?>"><?php _e( 'Use Existing Installation', 'buddypress' ) ?></a>
|
236 |
+
</div>
|
237 |
+
</div>
|
238 |
+
|
239 |
+
<div style="width: 45%; float: left; margin: 20px 0 20px 20px; padding: 0 20px 20px 20px; border: 1px solid #ddd; background-color: #fff;">
|
240 |
+
<h3><?php _e( 'New! Site Wide Forums', 'buddypress' ) ?></h3>
|
241 |
+
<p><?php _e( 'Your site will have central forums that are not isolated to any specific group. Choose this if you\'d like to have a central forum area for your members.', 'buddypress' ) ?></p>
|
242 |
+
<p class="description"><?php _e( 'You may activate both Group and Site Wide forums, but this may create a poor experience for your members.', 'buddypress' ) ?></p>
|
243 |
+
|
244 |
+
<h4 style="margin-bottom: 10px;"><?php _e( 'Features', 'buddypress' ); ?></h4>
|
245 |
+
<ul class="description" style="list-style: square; margin-left: 30px;">
|
246 |
+
<li><?php _e( 'Central Discussion Area', 'buddypress' ); ?></p></li>
|
247 |
+
<li><?php _e( 'Forum Plugins Available', 'buddypress' ); ?></p></li>
|
248 |
+
<li><?php _e( 'Activity Stream Integration', 'buddypress' ); ?></p></li>
|
249 |
+
<li><?php _e( '@ Mention Integration', 'buddypress' ); ?></p></li>
|
250 |
+
</ul>
|
251 |
+
<div>
|
252 |
+
<a class="button button-primary <?php if ( ! $bbpress_plugin_is_active ) { echo esc_attr( 'thickbox' ); }?>" href="<?php echo esc_attr( $button_url ) ?>"><?php echo esc_html( $button_text ) ?></a>
|
253 |
+
</div>
|
254 |
+
</div>
|
255 |
+
|
256 |
+
<?php }
|
257 |
+
break;
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
function bp_forums_configure_existing_install() {
|
262 |
global $wpdb, $bbdb;
|
263 |
|
bp-friends/bp-friends-activity.php
CHANGED
@@ -69,11 +69,11 @@ add_action( 'bp_register_activity_actions', 'friends_register_activity_actions'
|
|
69 |
*
|
70 |
* @package BuddyPress
|
71 |
*
|
72 |
-
* @param
|
73 |
* @param int $item_id The primary item id
|
74 |
* @param int $secondary_item_id The secondary item id
|
75 |
* @param int $total_items The total number of messaging-related notifications waiting for the user
|
76 |
-
* @param
|
77 |
*/
|
78 |
function friends_format_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
|
79 |
|
69 |
*
|
70 |
* @package BuddyPress
|
71 |
*
|
72 |
+
* @param str $action The kind of notification being rendered
|
73 |
* @param int $item_id The primary item id
|
74 |
* @param int $secondary_item_id The secondary item id
|
75 |
* @param int $total_items The total number of messaging-related notifications waiting for the user
|
76 |
+
* @param str $format 'string' for BuddyBar-compatible notifications; 'array' for WP Toolbar
|
77 |
*/
|
78 |
function friends_format_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
|
79 |
|
bp-friends/bp-friends-functions.php
CHANGED
@@ -65,15 +65,11 @@ function friends_remove_friend( $initiator_userid, $friend_userid ) {
|
|
65 |
// Remove the activity stream item for the user who canceled the friendship
|
66 |
friends_delete_activity( array( 'item_id' => $friendship_id, 'type' => 'friendship_accepted', 'user_id' => bp_displayed_user_id() ) );
|
67 |
|
68 |
-
// This hook is misleadingly named - the friendship is not yet deleted.
|
69 |
-
// This is your last chance to do something while the friendship exists
|
70 |
do_action( 'friends_friendship_deleted', $friendship_id, $initiator_userid, $friend_userid );
|
71 |
|
72 |
if ( $friendship->delete() ) {
|
73 |
friends_update_friend_totals( $initiator_userid, $friend_userid, 'remove' );
|
74 |
|
75 |
-
do_action( 'friends_friendship_post_delete', $initiator_userid, $friend_userid );
|
76 |
-
|
77 |
return true;
|
78 |
}
|
79 |
|
65 |
// Remove the activity stream item for the user who canceled the friendship
|
66 |
friends_delete_activity( array( 'item_id' => $friendship_id, 'type' => 'friendship_accepted', 'user_id' => bp_displayed_user_id() ) );
|
67 |
|
|
|
|
|
68 |
do_action( 'friends_friendship_deleted', $friendship_id, $initiator_userid, $friend_userid );
|
69 |
|
70 |
if ( $friendship->delete() ) {
|
71 |
friends_update_friend_totals( $initiator_userid, $friend_userid, 'remove' );
|
72 |
|
|
|
|
|
73 |
return true;
|
74 |
}
|
75 |
|
bp-friends/bp-friends-template.php
CHANGED
@@ -212,7 +212,7 @@ function bp_member_total_friend_count() {
|
|
212 |
* Outputs the ID of the potential friend
|
213 |
*
|
214 |
* @uses bp_get_potential_friend_id()
|
215 |
-
* @param
|
216 |
*/
|
217 |
function bp_potential_friend_id( $user_id = 0 ) {
|
218 |
echo bp_get_potential_friend_id( $user_id );
|
212 |
* Outputs the ID of the potential friend
|
213 |
*
|
214 |
* @uses bp_get_potential_friend_id()
|
215 |
+
* @param <type> $user_id
|
216 |
*/
|
217 |
function bp_potential_friend_id( $user_id = 0 ) {
|
218 |
echo bp_get_potential_friend_id( $user_id );
|
bp-groups/admin/css/admin.css
CHANGED
@@ -1,12 +1,3 @@
|
|
1 |
-
body.toplevel_page_bp-groups table.groups th#status,
|
2 |
-
body.toplevel_page_bp-groups table.groups th#members {
|
3 |
-
width: 10%;
|
4 |
-
}
|
5 |
-
|
6 |
-
body.toplevel_page_bp-groups table.groups th#last_active {
|
7 |
-
width: 15%;
|
8 |
-
}
|
9 |
-
|
10 |
#bp-groups-edit-form input {
|
11 |
outline: medium none;
|
12 |
padding: 3px 8px;
|
@@ -23,35 +14,7 @@ body.toplevel_page_bp-groups table.groups th#last_active {
|
|
23 |
.bp-groups-settings-section {
|
24 |
margin-bottom: 15px;
|
25 |
}
|
26 |
-
.bp-groups-member-type {
|
27 |
-
position: relative;
|
28 |
-
padding-bottom: 1.7em;
|
29 |
-
}
|
30 |
-
.bp-groups-member-type > h4 {
|
31 |
-
margin-bottom: .5em;
|
32 |
-
}
|
33 |
ul.bp-group-delete-list {
|
34 |
list-style-type: disc;
|
35 |
margin: 4px 26px;
|
36 |
}
|
37 |
-
.bp-group-admin-pagination {
|
38 |
-
position: absolute;
|
39 |
-
text-align: right;
|
40 |
-
width: 100%;
|
41 |
-
}
|
42 |
-
.bp-group-admin-pagination.table-top {
|
43 |
-
top: 0;
|
44 |
-
}
|
45 |
-
.bp-group-admin-pagination.table-bottom {
|
46 |
-
bottom: 0;
|
47 |
-
}
|
48 |
-
.bp-group-admin-pagination-viewing {
|
49 |
-
font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
|
50 |
-
color: #777;
|
51 |
-
font-size: 12px;
|
52 |
-
font-style: italic;
|
53 |
-
}
|
54 |
-
.bp-group-admin-pagination-links {
|
55 |
-
white-space: nowrap;
|
56 |
-
padding-left: 15px;
|
57 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
#bp-groups-edit-form input {
|
2 |
outline: medium none;
|
3 |
padding: 3px 8px;
|
14 |
.bp-groups-settings-section {
|
15 |
margin-bottom: 15px;
|
16 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
ul.bp-group-delete-list {
|
18 |
list-style-type: disc;
|
19 |
margin: 4px 26px;
|
20 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bp-groups/admin/css/admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
#bp-groups-edit-form input{outline:medium none;padding:3px 8px}#bp-groups-edit-form input#bp-groups-name{font-size:1.7em;width:100%}#bp-groups-edit-form input#bp-groups-new-members{width:100%;max-width:90%;border:0}.bp-groups-settings-section{margin-bottom:15px}ul.bp-group-delete-list{list-style-type:disc;margin:4px 26px}
|
bp-groups/admin/js/admin.js
CHANGED
@@ -11,10 +11,8 @@
|
|
11 |
$(e.target).closest('li').remove();
|
12 |
}
|
13 |
|
14 |
-
var id = 'undefined' !== typeof
|
15 |
$(document).ready( function() {
|
16 |
-
window.warn_on_leave = false;
|
17 |
-
|
18 |
/* Initialize autocomplete */
|
19 |
$( '.bp-suggest-user' ).autocomplete({
|
20 |
source: ajaxurl + '?action=bp_group_admin_member_autocomplete' + id,
|
@@ -29,19 +27,5 @@
|
|
29 |
/* Replace noscript placeholder */
|
30 |
$( '#bp-groups-new-members' ).attr( 'placeholder', BP_Group_Admin.add_member_placeholder );
|
31 |
|
32 |
-
/* Warn before leaving unsaved changes */
|
33 |
-
$(document).on( 'change', 'input#bp-groups-name, input#bp-groups-description, select.bp-groups-role, #bp-groups-settings-section-status input[type="radio"]', function() {
|
34 |
-
window.warn_on_leave = true;
|
35 |
-
});
|
36 |
-
|
37 |
-
$( 'input#save' ).on( 'click', function() {
|
38 |
-
window.warn_on_leave = false;
|
39 |
-
});
|
40 |
-
|
41 |
-
window.onbeforeunload = function(e) {
|
42 |
-
if ( window.warn_on_leave ) {
|
43 |
-
return BP_Group_Admin.warn_on_leave;
|
44 |
-
}
|
45 |
-
};
|
46 |
});
|
47 |
})(jQuery);
|
11 |
$(e.target).closest('li').remove();
|
12 |
}
|
13 |
|
14 |
+
var id = 'undefined' !== typeof group_members ? '&group_members=' + group_members : '';
|
15 |
$(document).ready( function() {
|
|
|
|
|
16 |
/* Initialize autocomplete */
|
17 |
$( '.bp-suggest-user' ).autocomplete({
|
18 |
source: ajaxurl + '?action=bp_group_admin_member_autocomplete' + id,
|
27 |
/* Replace noscript placeholder */
|
28 |
$( '#bp-groups-new-members' ).attr( 'placeholder', BP_Group_Admin.add_member_placeholder );
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
});
|
31 |
})(jQuery);
|
bp-groups/admin/js/admin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
(function(c){function b(h,f){var g="bp-groups-remove-new-member-"+f.item.value;c("#bp-groups-new-members-list").append('<li><a href="#" class="bp-groups-remove-new-member" id="'+g+'">x</a> '+f.item.label+"</li>");c("#"+g).bind("click",function(i){a(i);return false});c("#bp-groups-new-members-list").after('<input name="new_members[]" type="hidden" value="'+f.item.value+'" />')}function a(f){c(f.target).closest("li").remove()}var d="undefined"!==typeof
|
1 |
+
(function(c){function b(h,f){var g="bp-groups-remove-new-member-"+f.item.value;c("#bp-groups-new-members-list").append('<li><a href="#" class="bp-groups-remove-new-member" id="'+g+'">x</a> '+f.item.label+"</li>");c("#"+g).bind("click",function(i){a(i);return false});c("#bp-groups-new-members-list").after('<input name="new_members[]" type="hidden" value="'+f.item.value+'" />')}function a(f){c(f.target).closest("li").remove()}var d="undefined"!==typeof group_members?"&group_members="+group_members:"";c(document).ready(function(){c(".bp-suggest-user").autocomplete({source:ajaxurl+"?action=bp_group_admin_member_autocomplete"+d,delay:500,minLength:2,position:("undefined"!==typeof isRtl&&isRtl)?{my:"right top",at:"right bottom",offset:"0, -1"}:{offset:"0, -1"},open:function(){c(this).addClass("open")},close:function(){c(this).removeClass("open");c(this).val("")},select:function(e,f){b(e,f)}});c("#bp-groups-new-members").attr("placeholder",BP_Group_Admin.add_member_placeholder)})})(jQuery);
|
bp-groups/bp-groups-actions.php
CHANGED
@@ -79,6 +79,9 @@ function groups_action_create_group() {
|
|
79 |
bp_core_add_message( __( 'There was an error saving group details, please try again.', 'buddypress' ), 'error' );
|
80 |
bp_core_redirect( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/create/step/' . bp_get_groups_current_create_step() . '/' );
|
81 |
}
|
|
|
|
|
|
|
82 |
}
|
83 |
|
84 |
if ( 'group-settings' == bp_get_groups_current_create_step() ) {
|
@@ -304,39 +307,21 @@ function groups_action_redirect_to_random_group() {
|
|
304 |
}
|
305 |
add_action( 'bp_actions', 'groups_action_redirect_to_random_group' );
|
306 |
|
307 |
-
/**
|
308 |
-
* Load the activity feed for the specific group.
|
309 |
-
*
|
310 |
-
* @since BuddyPress (v1.2)
|
311 |
-
*/
|
312 |
function groups_action_group_feed() {
|
|
|
313 |
|
314 |
-
|
315 |
-
$group = groups_get_current_group();
|
316 |
-
|
317 |
-
if ( ! bp_is_active( 'activity' ) || ! bp_is_groups_component() || ! $group || ! bp_is_current_action( 'feed' ) )
|
318 |
return false;
|
319 |
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
|
|
|
|
324 |
}
|
325 |
|
326 |
-
|
327 |
-
|
328 |
-
'id' => 'group',
|
329 |
-
|
330 |
-
/* translators: Group activity RSS title - "[Site Name] | [Group Name] | Activity" */
|
331 |
-
'title' => sprintf( __( '%1$s | %2$s | Activity', 'buddypress' ), bp_get_site_name(), bp_get_current_group_name() ),
|
332 |
-
|
333 |
-
'link' => bp_get_group_permalink( $group ),
|
334 |
-
'description' => sprintf( __( "Activity feed for the group, %s.", 'buddypress' ), bp_get_current_group_name() ),
|
335 |
-
'activity_args' => array(
|
336 |
-
'object' => buddypress()->groups->id,
|
337 |
-
'primary_id' => bp_get_current_group_id(),
|
338 |
-
'display_comments' => 'threaded'
|
339 |
-
)
|
340 |
-
) );
|
341 |
}
|
342 |
add_action( 'bp_actions', 'groups_action_group_feed' );
|
79 |
bp_core_add_message( __( 'There was an error saving group details, please try again.', 'buddypress' ), 'error' );
|
80 |
bp_core_redirect( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/create/step/' . bp_get_groups_current_create_step() . '/' );
|
81 |
}
|
82 |
+
|
83 |
+
groups_update_groupmeta( $bp->groups->new_group_id, 'total_member_count', 1 );
|
84 |
+
groups_update_groupmeta( $bp->groups->new_group_id, 'last_activity', bp_core_current_time() );
|
85 |
}
|
86 |
|
87 |
if ( 'group-settings' == bp_get_groups_current_create_step() ) {
|
307 |
}
|
308 |
add_action( 'bp_actions', 'groups_action_redirect_to_random_group' );
|
309 |
|
|
|
|
|
|
|
|
|
|
|
310 |
function groups_action_group_feed() {
|
311 |
+
global $bp, $wp_query;
|
312 |
|
313 |
+
if ( !bp_is_active( 'activity' ) || !bp_is_groups_component() || !isset( $bp->groups->current_group ) || !bp_is_current_action( 'feed' ) )
|
|
|
|
|
|
|
314 |
return false;
|
315 |
|
316 |
+
$wp_query->is_404 = false;
|
317 |
+
status_header( 200 );
|
318 |
+
|
319 |
+
if ( 'public' != $bp->groups->current_group->status ) {
|
320 |
+
if ( !groups_is_user_member( bp_loggedin_user_id(), $bp->groups->current_group->id ) )
|
321 |
+
return false;
|
322 |
}
|
323 |
|
324 |
+
include_once( BP_PLUGIN_DIR . '/bp-activity/feeds/bp-activity-group-feed.php' );
|
325 |
+
die;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
}
|
327 |
add_action( 'bp_actions', 'groups_action_group_feed' );
|
bp-groups/bp-groups-admin.php
CHANGED
@@ -166,8 +166,7 @@ function bp_groups_admin_load() {
|
|
166 |
wp_enqueue_style( 'bp_groups_admin_css', BP_PLUGIN_URL . "bp-groups/admin/css/admin.{$min}css", array(), bp_get_version() );
|
167 |
|
168 |
wp_localize_script( 'bp_groups_admin_js', 'BP_Group_Admin', array(
|
169 |
-
'add_member_placeholder' => __( 'Start typing a username to add a new member.', 'buddypress' )
|
170 |
-
'warn_on_leave' => __( 'If you leave this page, you will lose any unsaved changes you have made to the group.', 'buddypress' ),
|
171 |
) );
|
172 |
|
173 |
if ( $doaction && 'save' == $doaction ) {
|
@@ -504,7 +503,7 @@ function bp_groups_admin_edit() {
|
|
504 |
|
505 |
<div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
|
506 |
<div id="post-body-content">
|
507 |
-
<div id="postdiv">
|
508 |
<div id="bp_groups_name" class="postbox">
|
509 |
<h3><?php _e( 'Name and Description', 'buddypress' ); ?></h3>
|
510 |
<div class="inside">
|
@@ -622,10 +621,6 @@ function bp_groups_admin_index() {
|
|
622 |
<h2>
|
623 |
<?php _e( 'Groups', 'buddypress' ); ?>
|
624 |
|
625 |
-
<?php if ( is_user_logged_in() && bp_user_can_create_groups() ) : ?>
|
626 |
-
<a class="add-new-h2" href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/create' ); ?>"><?php _e( 'Add New', 'buddypress' ); ?></a>
|
627 |
-
<?php endif; ?>
|
628 |
-
|
629 |
<?php if ( !empty( $_REQUEST['s'] ) ) : ?>
|
630 |
<span class="subtitle"><?php printf( __( 'Search results for “%s”', 'buddypress' ), wp_html_excerpt( esc_html( stripslashes( $_REQUEST['s'] ) ), 50 ) ); ?></span>
|
631 |
<?php endif; ?>
|
@@ -704,8 +699,6 @@ function bp_groups_admin_edit_metabox_add_new_members( $item ) {
|
|
704 |
/**
|
705 |
* Members metabox
|
706 |
*
|
707 |
-
* @param BP_Groups_Group $item The BP_Groups_Group object
|
708 |
-
*
|
709 |
* @since BuddyPress (1.7)
|
710 |
*/
|
711 |
function bp_groups_admin_edit_metabox_members( $item ) {
|
@@ -714,38 +707,50 @@ function bp_groups_admin_edit_metabox_members( $item ) {
|
|
714 |
// Pull up a list of group members, so we can separate out the types
|
715 |
// We'll also keep track of group members here to place them into a
|
716 |
// javascript variable, which will help with group member autocomplete
|
717 |
-
$
|
|
|
718 |
'admin' => array(),
|
719 |
'mod' => array(),
|
720 |
'member' => array(),
|
721 |
-
'banned' => array()
|
722 |
);
|
723 |
|
724 |
-
|
725 |
-
'
|
726 |
-
'
|
727 |
-
'
|
728 |
-
|
729 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
730 |
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
$member_type_query = new BP_Group_Member_Query( array(
|
735 |
-
'group_id' => $item->id,
|
736 |
-
'group_role' => array( $type ),
|
737 |
-
'type' => 'alphabetical',
|
738 |
-
'per_page' => 10,
|
739 |
-
'page' => $current_type_page,
|
740 |
-
) );
|
741 |
|
742 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
743 |
|
744 |
-
|
|
|
745 |
}
|
746 |
|
747 |
// Echo out the javascript variable
|
748 |
-
|
|
|
749 |
|
750 |
// Loop through each member type
|
751 |
foreach ( $members as $member_type => $type_users ) : ?>
|
@@ -761,10 +766,6 @@ function bp_groups_admin_edit_metabox_members( $item ) {
|
|
761 |
endswitch; ?>
|
762 |
</h4>
|
763 |
|
764 |
-
<div class="bp-group-admin-pagination table-top">
|
765 |
-
<?php echo $pagination[ $member_type ] ?>
|
766 |
-
</div>
|
767 |
-
|
768 |
<?php if ( !empty( $type_users ) ) : ?>
|
769 |
|
770 |
<table class="widefat bp-group-members">
|
@@ -779,21 +780,22 @@ function bp_groups_admin_edit_metabox_members( $item ) {
|
|
779 |
<tbody>
|
780 |
|
781 |
<?php foreach ( $type_users as $type_user ) : ?>
|
|
|
782 |
<tr>
|
783 |
-
<th scope="row" class="uid-column"><?php echo esc_html( $type_user->
|
784 |
|
785 |
<td class="uname-column">
|
786 |
-
<a style="float: left;" href="<?php echo bp_core_get_user_domain( $type_user->
|
787 |
-
'item_id' => $type_user->
|
788 |
'width' => '32',
|
789 |
'height' => '32'
|
790 |
) ); ?></a>
|
791 |
|
792 |
-
<span style="margin: 8px; float: left;"><?php echo bp_core_get_userlink( $type_user->
|
793 |
</td>
|
794 |
|
795 |
<td class="urole-column">
|
796 |
-
<select class="bp-groups-role" id="bp-groups-role-<?php echo esc_attr( $type_user->
|
797 |
<option value="admin" <?php selected( 'admin', $member_type ) ?>><?php _e( 'Administrator', 'buddypress' ) ?></option>
|
798 |
<option value="mod" <?php selected( 'mod', $member_type ) ?>><?php _e( 'Moderator', 'buddypress' ) ?></option>
|
799 |
<option value="member" <?php selected( 'member', $member_type ) ?>><?php _e( 'Member', 'buddypress' ) ?></option>
|
@@ -808,27 +810,15 @@ function bp_groups_admin_edit_metabox_members( $item ) {
|
|
808 |
*
|
809 |
* @todo remove this, and do database detection on save
|
810 |
*/ ?>
|
811 |
-
<input type="hidden" name="bp-groups-existing-role[<?php echo esc_attr( $type_user->
|
812 |
</td>
|
813 |
</tr>
|
814 |
|
815 |
-
<?php if ( has_filter( 'bp_groups_admin_manage_member_row' ) ) : ?>
|
816 |
-
<tr>
|
817 |
-
<td colspan="3">
|
818 |
-
<?php do_action( 'bp_groups_admin_manage_member_row', $type_user->ID, $item ); ?>
|
819 |
-
</td>
|
820 |
-
</tr>
|
821 |
-
<?php endif; ?>
|
822 |
-
|
823 |
<?php endforeach; ?>
|
824 |
|
825 |
</tbody>
|
826 |
</table>
|
827 |
|
828 |
-
<div class="bp-group-admin-pagination table-bottom">
|
829 |
-
<?php echo $pagination[ $member_type ] ?>
|
830 |
-
</div>
|
831 |
-
|
832 |
<?php else : ?>
|
833 |
|
834 |
<p class="bp-groups-no-members description"><?php _e( 'No members of this type', 'buddypress' ) ?></p>
|
@@ -869,63 +859,6 @@ function bp_groups_admin_edit_metabox_status( $item ) {
|
|
869 |
<?php
|
870 |
}
|
871 |
|
872 |
-
/**
|
873 |
-
* Create pagination links out of a BP_Group_Member_Query
|
874 |
-
*
|
875 |
-
* This function is intended to create pagination links for use under the
|
876 |
-
* Manage Members section of the Groups Admin Dashboard pages. It is a stopgap
|
877 |
-
* measure until a more general pagination solution is in place for BuddyPress.
|
878 |
-
* Plugin authors should not use this function, as it is likely to be
|
879 |
-
* deprecated soon.
|
880 |
-
*
|
881 |
-
* @since BuddyPress (1.8)
|
882 |
-
* @param object $query A BP_Group_Member_Query object
|
883 |
-
* @param string $member_type member|mod|admin|banned
|
884 |
-
*/
|
885 |
-
function bp_groups_admin_create_pagination_links( BP_Group_Member_Query $query, $member_type ) {
|
886 |
-
$pagination = '';
|
887 |
-
|
888 |
-
if ( ! in_array( $member_type, array( 'admin', 'mod', 'member', 'banned' ) ) ) {
|
889 |
-
return $pagination;
|
890 |
-
}
|
891 |
-
|
892 |
-
// The key used to paginate this member type in the $_GET global
|
893 |
-
$qs_key = $member_type . '_page';
|
894 |
-
$url_base = remove_query_arg( array( $qs_key, 'updated', 'success_modified' ), $_SERVER['REQUEST_URI'] );
|
895 |
-
|
896 |
-
$page = isset( $_GET[ $qs_key ] ) ? absint( $_GET[ $qs_key ] ) : 1;
|
897 |
-
$per_page = 10; // @todo Make this customizable?
|
898 |
-
|
899 |
-
// Don't show anything if there's no pagination
|
900 |
-
if ( 1 === $page && $query->total_users <= $per_page ) {
|
901 |
-
return $pagination;
|
902 |
-
}
|
903 |
-
|
904 |
-
$current_page_start = ( ( $page - 1 ) * $per_page ) + 1;
|
905 |
-
$current_page_end = $page * $per_page > intval( $query->total_users ) ? $query->total_users : $page * $per_page;
|
906 |
-
|
907 |
-
$pag_links = paginate_links( array(
|
908 |
-
'base' => add_query_arg( $qs_key, '%#%', $url_base ),
|
909 |
-
'format' => '',
|
910 |
-
'prev_text' => __( '«' ),
|
911 |
-
'next_text' => __( '»' ),
|
912 |
-
'total' => ceil( $query->total_users / $per_page ),
|
913 |
-
'current' => $page,
|
914 |
-
) );
|
915 |
-
|
916 |
-
$viewing_text = sprintf(
|
917 |
-
__( 'Viewing %1$s - %2$s of %3$s', 'buddypress' ),
|
918 |
-
number_format_i18n( $current_page_start ),
|
919 |
-
number_format_i18n( $current_page_end ),
|
920 |
-
sprintf( _n( '%s member', '%s members', $query->total_users, 'buddypress' ), $query->total_users )
|
921 |
-
);
|
922 |
-
|
923 |
-
$pagination .= '<span class="bp-group-admin-pagination-viewing">' . $viewing_text . '</span>';
|
924 |
-
$pagination .= '<span class="bp-group-admin-pagination-links">' . $pag_links . '</span>';
|
925 |
-
|
926 |
-
return $pagination;
|
927 |
-
}
|
928 |
-
|
929 |
/**
|
930 |
* Match a set of user ids up to a set of usernames
|
931 |
*
|
@@ -957,19 +890,9 @@ function bp_groups_admin_autocomplete_handler() {
|
|
957 |
$return = array();
|
958 |
|
959 |
// Exclude current group members
|
960 |
-
$
|
961 |
-
$
|
962 |
-
|
963 |
-
'per_page' => 0, // show all
|
964 |
-
'group_role' => array( 'member', 'mod', 'admin', ),
|
965 |
-
'populate_extras' => false,
|
966 |
-
'count_total' => false,
|
967 |
-
) );
|
968 |
-
|
969 |
-
$group_members = ! empty( $group_member_query->results ) ? wp_list_pluck( $group_member_query->results, 'ID' ) : array();
|
970 |
-
|
971 |
-
$terms = isset( $_GET['term'] ) ? $_GET['term'] : '';
|
972 |
-
$users = get_users( array(
|
973 |
'blog_id' => false,
|
974 |
'search' => '*' . $terms . '*',
|
975 |
'exclude' => $group_members,
|
@@ -1045,27 +968,24 @@ class BP_Groups_List_Table extends WP_List_Table {
|
|
1045 |
// Set per page from the screen options
|
1046 |
$per_page = $this->get_items_per_page( str_replace( '-', '_', "{$screen->id}_per_page" ) );
|
1047 |
|
1048 |
-
// Sort order.
|
1049 |
-
$order = '
|
1050 |
if ( !empty( $_REQUEST['order'] ) ) {
|
1051 |
$order = ( 'desc' == strtolower( $_REQUEST['order'] ) ) ? 'DESC' : 'ASC';
|
1052 |
}
|
1053 |
|
1054 |
// Order by - default to newest
|
1055 |
-
$
|
1056 |
-
if ( !
|
1057 |
switch ( $_REQUEST['orderby'] ) {
|
1058 |
case 'name' :
|
1059 |
-
$
|
1060 |
break;
|
1061 |
case 'id' :
|
1062 |
-
$
|
1063 |
break;
|
1064 |
case 'members' :
|
1065 |
-
$
|
1066 |
-
break;
|
1067 |
-
case 'last_active' :
|
1068 |
-
$orderby = 'last_activity';
|
1069 |
break;
|
1070 |
}
|
1071 |
}
|
@@ -1106,7 +1026,7 @@ class BP_Groups_List_Table extends WP_List_Table {
|
|
1106 |
'include' => $include,
|
1107 |
'per_page' => $per_page,
|
1108 |
'page' => $page,
|
1109 |
-
'
|
1110 |
'order' => $order
|
1111 |
);
|
1112 |
|
@@ -1213,8 +1133,7 @@ class BP_Groups_List_Table extends WP_List_Table {
|
|
1213 |
* @since BuddyPress (1.7)
|
1214 |
*/
|
1215 |
function get_views() {
|
1216 |
-
$url_base =
|
1217 |
-
|
1218 |
<ul class="subsubsub">
|
1219 |
<li class="all"><a href="<?php echo esc_attr( esc_url( $url_base ) ); ?>" class="<?php if ( 'all' == $this->view ) echo 'current'; ?>"><?php _e( 'All', 'buddypress' ); ?></a> |</li>
|
1220 |
<li class="public"><a href="<?php echo esc_attr( esc_url( add_query_arg( 'group_status', 'public', $url_base ) ) ); ?>" class="<?php if ( 'public' == $this->view ) echo 'current'; ?>"><?php printf( __( 'Public <span class="count">(%s)</span>', 'buddypress' ), number_format_i18n( $this->group_counts['public'] ) ); ?></a> |</li>
|
@@ -1259,24 +1178,15 @@ class BP_Groups_List_Table extends WP_List_Table {
|
|
1259 |
/**
|
1260 |
* Get the column names for sortable columns
|
1261 |
*
|
1262 |
-
* Note: It's not documented in WP, but the second item in the
|
1263 |
-
* nested arrays below is $desc_first. Normally, we would set
|
1264 |
-
* last_active to be desc_first (since you're generally interested in
|
1265 |
-
* the *most* recently active group, not the *least*). But because
|
1266 |
-
* the default sort for the Groups admin screen is DESC by last_active,
|
1267 |
-
* we want the first click on the Last Active column header to switch
|
1268 |
-
* the sort order - ie, to make it ASC. Thus last_active is set to
|
1269 |
-
* $desc_first = false.
|
1270 |
-
*
|
1271 |
* @return array
|
1272 |
* @since BuddyPress (1.7)
|
1273 |
*/
|
1274 |
function get_sortable_columns() {
|
1275 |
return array(
|
1276 |
-
'gid' => array( 'gid',
|
1277 |
-
'comment' => array( 'name',
|
1278 |
-
'members' => array( 'members',
|
1279 |
-
'last_active' => array( 'last_active', false )
|
1280 |
);
|
1281 |
}
|
1282 |
|
@@ -1288,7 +1198,7 @@ class BP_Groups_List_Table extends WP_List_Table {
|
|
1288 |
* @since BuddyPress (1.7)
|
1289 |
*/
|
1290 |
function column_cb( $item = array() ) {
|
1291 |
-
printf( '<
|
1292 |
}
|
1293 |
|
1294 |
/**
|
166 |
wp_enqueue_style( 'bp_groups_admin_css', BP_PLUGIN_URL . "bp-groups/admin/css/admin.{$min}css", array(), bp_get_version() );
|
167 |
|
168 |
wp_localize_script( 'bp_groups_admin_js', 'BP_Group_Admin', array(
|
169 |
+
'add_member_placeholder' => __( 'Start typing a username to add a new member.', 'buddypress' )
|
|
|
170 |
) );
|
171 |
|
172 |
if ( $doaction && 'save' == $doaction ) {
|
503 |
|
504 |
<div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
|
505 |
<div id="post-body-content">
|
506 |
+
<div id="postdiv" class="postarea">
|
507 |
<div id="bp_groups_name" class="postbox">
|
508 |
<h3><?php _e( 'Name and Description', 'buddypress' ); ?></h3>
|
509 |
<div class="inside">
|
621 |
<h2>
|
622 |
<?php _e( 'Groups', 'buddypress' ); ?>
|
623 |
|
|
|
|
|
|
|
|
|
624 |
<?php if ( !empty( $_REQUEST['s'] ) ) : ?>
|
625 |
<span class="subtitle"><?php printf( __( 'Search results for “%s”', 'buddypress' ), wp_html_excerpt( esc_html( stripslashes( $_REQUEST['s'] ) ), 50 ) ); ?></span>
|
626 |
<?php endif; ?>
|
699 |
/**
|
700 |
* Members metabox
|
701 |
*
|
|
|
|
|
702 |
* @since BuddyPress (1.7)
|
703 |
*/
|
704 |
function bp_groups_admin_edit_metabox_members( $item ) {
|
707 |
// Pull up a list of group members, so we can separate out the types
|
708 |
// We'll also keep track of group members here to place them into a
|
709 |
// javascript variable, which will help with group member autocomplete
|
710 |
+
$member_ids = array();
|
711 |
+
$members = array(
|
712 |
'admin' => array(),
|
713 |
'mod' => array(),
|
714 |
'member' => array(),
|
715 |
+
'banned' => array()
|
716 |
);
|
717 |
|
718 |
+
if ( bp_group_has_members( array(
|
719 |
+
'group_id' => $item->id,
|
720 |
+
'exclude_admins_mods' => false,
|
721 |
+
'exclude_banned' => false
|
722 |
+
) ) ) {
|
723 |
+
// Get a list of admins and mods, to reduce lookups
|
724 |
+
// We'll rekey them by user_id for convenience
|
725 |
+
$admins = $mods = array();
|
726 |
+
|
727 |
+
foreach ( (array) groups_get_group_admins( $item->id ) as $admin_obj ) {
|
728 |
+
$admins[ $admin_obj->user_id ] = $admin_obj;
|
729 |
+
}
|
730 |
|
731 |
+
foreach ( (array) groups_get_group_mods( $item->id ) as $admin_obj ) {
|
732 |
+
$mods[ $admin_obj->user_id ] = $admin_obj;
|
733 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
734 |
|
735 |
+
while ( bp_group_members() ) {
|
736 |
+
bp_group_the_member();
|
737 |
+
if ( bp_get_group_member_is_banned() ) {
|
738 |
+
$members['banned'][] = $members_template->member;
|
739 |
+
} else if ( isset( $admins[ bp_get_group_member_id() ] ) ) {
|
740 |
+
$members['admin'][] = $members_template->member;
|
741 |
+
} else if ( isset( $mods[ bp_get_group_member_id() ] ) ) {
|
742 |
+
$members['mod'][] = $members_template->member;
|
743 |
+
} else {
|
744 |
+
$members['member'][] = $members_template->member;
|
745 |
+
}
|
746 |
|
747 |
+
$member_ids[] = bp_get_group_member_id();
|
748 |
+
}
|
749 |
}
|
750 |
|
751 |
// Echo out the javascript variable
|
752 |
+
$member_ids = ! empty( $member_ids ) ? implode( ',', $member_ids ) : '';
|
753 |
+
echo '<script type="text/javascript">var group_members = "' . $member_ids . '";</script>';
|
754 |
|
755 |
// Loop through each member type
|
756 |
foreach ( $members as $member_type => $type_users ) : ?>
|
766 |
endswitch; ?>
|
767 |
</h4>
|
768 |
|
|
|
|
|
|
|
|
|
769 |
<?php if ( !empty( $type_users ) ) : ?>
|
770 |
|
771 |
<table class="widefat bp-group-members">
|
780 |
<tbody>
|
781 |
|
782 |
<?php foreach ( $type_users as $type_user ) : ?>
|
783 |
+
|
784 |
<tr>
|
785 |
+
<th scope="row" class="uid-column"><?php echo esc_html( $type_user->user_id ); ?></th>
|
786 |
|
787 |
<td class="uname-column">
|
788 |
+
<a style="float: left;" href="<?php echo bp_core_get_user_domain( $type_user->user_id ); ?>"><?php echo bp_core_fetch_avatar( array(
|
789 |
+
'item_id' => $type_user->user_id,
|
790 |
'width' => '32',
|
791 |
'height' => '32'
|
792 |
) ); ?></a>
|
793 |
|
794 |
+
<span style="margin: 8px; float: left;"><?php echo bp_core_get_userlink( $type_user->user_id ) ?></span>
|
795 |
</td>
|
796 |
|
797 |
<td class="urole-column">
|
798 |
+
<select class="bp-groups-role" id="bp-groups-role-<?php echo esc_attr( $type_user->user_id ); ?>" name="bp-groups-role[<?php echo esc_attr( $type_user->user_id ); ?>]">
|
799 |
<option value="admin" <?php selected( 'admin', $member_type ) ?>><?php _e( 'Administrator', 'buddypress' ) ?></option>
|
800 |
<option value="mod" <?php selected( 'mod', $member_type ) ?>><?php _e( 'Moderator', 'buddypress' ) ?></option>
|
801 |
<option value="member" <?php selected( 'member', $member_type ) ?>><?php _e( 'Member', 'buddypress' ) ?></option>
|
810 |
*
|
811 |
* @todo remove this, and do database detection on save
|
812 |
*/ ?>
|
813 |
+
<input type="hidden" name="bp-groups-existing-role[<?php echo esc_attr( $type_user->user_id ); ?>]" value="<?php echo esc_attr( $member_type ); ?>" />
|
814 |
</td>
|
815 |
</tr>
|
816 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
817 |
<?php endforeach; ?>
|
818 |
|
819 |
</tbody>
|
820 |
</table>
|
821 |
|
|
|
|
|
|
|
|
|
822 |
<?php else : ?>
|
823 |
|
824 |
<p class="bp-groups-no-members description"><?php _e( 'No members of this type', 'buddypress' ) ?></p>
|
859 |
<?php
|
860 |
}
|
861 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
862 |
/**
|
863 |
* Match a set of user ids up to a set of usernames
|
864 |
*
|
890 |
$return = array();
|
891 |
|
892 |
// Exclude current group members
|
893 |
+
$group_members = isset( $_REQUEST['group_members'] ) ? wp_parse_id_list( $_REQUEST['group_members'] ) : array();
|
894 |
+
$terms = isset( $_REQUEST['term'] ) ? $_REQUEST['term'] : '';
|
895 |
+
$users = get_users( array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
896 |
'blog_id' => false,
|
897 |
'search' => '*' . $terms . '*',
|
898 |
'exclude' => $group_members,
|
968 |
// Set per page from the screen options
|
969 |
$per_page = $this->get_items_per_page( str_replace( '-', '_', "{$screen->id}_per_page" ) );
|
970 |
|
971 |
+
// Sort order. Note: not supported in bp_has_groups()
|
972 |
+
$order = 'ASC';
|
973 |
if ( !empty( $_REQUEST['order'] ) ) {
|
974 |
$order = ( 'desc' == strtolower( $_REQUEST['order'] ) ) ? 'DESC' : 'ASC';
|
975 |
}
|
976 |
|
977 |
// Order by - default to newest
|
978 |
+
$type = 'newest';
|
979 |
+
if ( !empty( $_REQUEST['orderby'] ) ) {
|
980 |
switch ( $_REQUEST['orderby'] ) {
|
981 |
case 'name' :
|
982 |
+
$type = 'alphabetical';
|
983 |
break;
|
984 |
case 'id' :
|
985 |
+
$type = 'newest';
|
986 |
break;
|
987 |
case 'members' :
|
988 |
+
$type = 'popular';
|
|
|
|
|
|
|
989 |
break;
|
990 |
}
|
991 |
}
|
1026 |
'include' => $include,
|
1027 |
'per_page' => $per_page,
|
1028 |
'page' => $page,
|
1029 |
+
'type' => $type,
|
1030 |
'order' => $order
|
1031 |
);
|
1032 |
|
1133 |
* @since BuddyPress (1.7)
|
1134 |
*/
|
1135 |
function get_views() {
|
1136 |
+
$url_base = remove_query_arg( array( 'orderby', 'order', 'group_status' ), $_SERVER['REQUEST_URI'] ); ?>
|
|
|
1137 |
<ul class="subsubsub">
|
1138 |
<li class="all"><a href="<?php echo esc_attr( esc_url( $url_base ) ); ?>" class="<?php if ( 'all' == $this->view ) echo 'current'; ?>"><?php _e( 'All', 'buddypress' ); ?></a> |</li>
|
1139 |
<li class="public"><a href="<?php echo esc_attr( esc_url( add_query_arg( 'group_status', 'public', $url_base ) ) ); ?>" class="<?php if ( 'public' == $this->view ) echo 'current'; ?>"><?php printf( __( 'Public <span class="count">(%s)</span>', 'buddypress' ), number_format_i18n( $this->group_counts['public'] ) ); ?></a> |</li>
|
1178 |
/**
|
1179 |
* Get the column names for sortable columns
|
1180 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1181 |
* @return array
|
1182 |
* @since BuddyPress (1.7)
|
1183 |
*/
|
1184 |
function get_sortable_columns() {
|
1185 |
return array(
|
1186 |
+
'gid' => array( 'gid', false ),
|
1187 |
+
'comment' => array( 'name', false ),
|
1188 |
+
'members' => array( 'members', false ),
|
1189 |
+
'last_active' => array( 'last_active', false )
|
1190 |
);
|
1191 |
}
|
1192 |
|
1198 |
* @since BuddyPress (1.7)
|
1199 |
*/
|
1200 |
function column_cb( $item = array() ) {
|
1201 |
+
printf( '<input type="checkbox" name="gid[]" value="%d" />', (int) $item['id'] );
|
1202 |
}
|
1203 |
|
1204 |
/**
|
bp-groups/bp-groups-buddybar.php
CHANGED
@@ -15,6 +15,7 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
15 |
*
|
16 |
* @since BuddyPress (1.0)
|
17 |
* @global BuddyPress $bp
|
|
|
18 |
*/
|
19 |
function bp_groups_adminbar_admin_menu() {
|
20 |
global $bp;
|
15 |
*
|
16 |
* @since BuddyPress (1.0)
|
17 |
* @global BuddyPress $bp
|
18 |
+
* @return False if no menu
|
19 |
*/
|
20 |
function bp_groups_adminbar_admin_menu() {
|
21 |
global $bp;
|
bp-groups/bp-groups-cache.php
CHANGED
@@ -94,12 +94,10 @@ add_action( 'bp_groups_delete_group', 'bp_groups_clear_group_members_caches', 10
|
|
94 |
function groups_clear_group_user_object_cache( $group_id, $user_id ) {
|
95 |
wp_cache_delete( 'bp_total_groups_for_user_' . $user_id, 'bp' );
|
96 |
}
|
97 |
-
add_action( 'groups_join_group',
|
98 |
-
add_action( 'groups_leave_group',
|
99 |
-
add_action( 'groups_ban_member',
|
100 |
-
add_action( 'groups_unban_member',
|
101 |
-
add_action( 'groups_uninvite_user', 'groups_clear_group_user_object_cache', 10, 2 );
|
102 |
-
add_action( 'groups_remove_member', 'groups_clear_group_user_object_cache', 10, 2 );
|
103 |
|
104 |
/* List actions to clear super cached pages on, if super cache is installed */
|
105 |
add_action( 'groups_join_group', 'bp_core_clear_cache' );
|
94 |
function groups_clear_group_user_object_cache( $group_id, $user_id ) {
|
95 |
wp_cache_delete( 'bp_total_groups_for_user_' . $user_id, 'bp' );
|
96 |
}
|
97 |
+
add_action( 'groups_join_group', 'groups_clear_group_user_object_cache', 10, 2 );
|
98 |
+
add_action( 'groups_leave_group', 'groups_clear_group_user_object_cache', 10, 2 );
|
99 |
+
add_action( 'groups_ban_member', 'groups_clear_group_user_object_cache', 10, 2 );
|
100 |
+
add_action( 'groups_unban_member', 'groups_clear_group_user_object_cache', 10, 2 );
|
|
|
|
|
101 |
|
102 |
/* List actions to clear super cached pages on, if super cache is installed */
|
103 |
add_action( 'groups_join_group', 'bp_core_clear_cache' );
|
bp-groups/bp-groups-classes.php
CHANGED
@@ -91,8 +91,6 @@ class BP_Groups_Group {
|
|
91 |
else
|
92 |
$this->mods[] = $user;
|
93 |
}
|
94 |
-
} else {
|
95 |
-
$this->id = 0;
|
96 |
}
|
97 |
}
|
98 |
|
@@ -334,21 +332,19 @@ class BP_Groups_Group {
|
|
334 |
}
|
335 |
|
336 |
$defaults = array(
|
337 |
-
'type' =>
|
338 |
-
'orderby' => 'date_created',
|
339 |
-
'order' => 'DESC',
|
340 |
'per_page' => null,
|
341 |
'page' => null,
|
342 |
'user_id' => 0,
|
343 |
'search_terms' => false,
|
344 |
-
'meta_query' => false,
|
345 |
'include' => false,
|
346 |
'populate_extras' => true,
|
347 |
'exclude' => false,
|
348 |
-
'show_hidden' => false
|
349 |
);
|
350 |
|
351 |
$r = wp_parse_args( $args, $defaults );
|
|
|
352 |
|
353 |
$sql = array();
|
354 |
$total_sql = array();
|
@@ -356,92 +352,59 @@ class BP_Groups_Group {
|
|
356 |
$sql['select'] = "SELECT g.*, gm1.meta_value AS total_member_count, gm2.meta_value AS last_activity";
|
357 |
$sql['from'] = " FROM {$bp->groups->table_name_groupmeta} gm1, {$bp->groups->table_name_groupmeta} gm2,";
|
358 |
|
359 |
-
if ( !
|
360 |
$sql['members_from'] = " {$bp->groups->table_name_members} m,";
|
361 |
-
}
|
362 |
|
363 |
$sql['group_from'] = " {$bp->groups->table_name} g WHERE";
|
364 |
|
365 |
-
if ( !
|
366 |
$sql['user_where'] = " g.id = m.group_id AND";
|
367 |
-
}
|
368 |
|
369 |
$sql['where'] = " g.id = gm1.group_id AND g.id = gm2.group_id AND gm2.meta_key = 'last_activity' AND gm1.meta_key = 'total_member_count'";
|
370 |
|
371 |
-
if ( empty( $
|
372 |
$sql['hidden'] = " AND g.status != 'hidden'";
|
373 |
-
}
|
374 |
|
375 |
-
if ( !
|
376 |
-
$search_terms = esc_sql( like_escape( $
|
377 |
$sql['search'] = " AND ( g.name LIKE '%%{$search_terms}%%' OR g.description LIKE '%%{$search_terms}%%' )";
|
378 |
}
|
379 |
|
380 |
-
|
381 |
-
|
382 |
-
if ( ! empty( $meta_query_sql['join'] ) ) {
|
383 |
-
$sql['from'] .= $meta_query_sql['join'];
|
384 |
-
$total_sql['select'] .= $meta_query_sql['join_total'];
|
385 |
-
}
|
386 |
-
|
387 |
-
if ( ! empty( $meta_query_sql['where'] ) ) {
|
388 |
-
$sql['meta'] = $meta_query_sql['where'];
|
389 |
-
}
|
390 |
-
|
391 |
-
if ( ! empty( $r['user_id'] ) ) {
|
392 |
-
$sql['user'] = $wpdb->prepare( " AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0", $r['user_id'] );
|
393 |
-
}
|
394 |
|
395 |
-
if ( !
|
396 |
$include = wp_parse_id_list( $r['include'] );
|
397 |
$include = $wpdb->escape( implode( ',', $include ) );
|
398 |
$sql['include'] = " AND g.id IN ({$include})";
|
399 |
}
|
400 |
|
401 |
-
if ( !
|
402 |
$exclude = wp_parse_id_list( $r['exclude'] );
|
403 |
$exclude = $wpdb->escape( implode( ',', $exclude ) );
|
404 |
$sql['exclude'] = " AND g.id NOT IN ({$exclude})";
|
405 |
}
|
406 |
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
$
|
422 |
-
|
423 |
-
|
424 |
-
if ( ! empty( $order_orderby['orderby'] ) ) {
|
425 |
-
$orderby = $order_orderby['orderby'];
|
426 |
-
}
|
427 |
-
}
|
428 |
-
|
429 |
-
// Sanitize 'order'
|
430 |
-
$order = bp_esc_sql_order( $order );
|
431 |
-
|
432 |
-
// Convert 'orderby' into the proper ORDER BY term
|
433 |
-
$orderby = self::convert_orderby_to_order_by_term( $orderby );
|
434 |
-
|
435 |
-
// Random order is a special case
|
436 |
-
if ( 'rand()' === $orderby ) {
|
437 |
-
$sql[] = "ORDER BY rand()";
|
438 |
-
} else {
|
439 |
-
$sql[] = "ORDER BY {$orderby} {$order}";
|
440 |
}
|
441 |
|
442 |
-
if ( !
|
443 |
-
$sql['pagination'] = $wpdb->prepare( "LIMIT %d, %d", intval( ( $
|
444 |
-
}
|
445 |
|
446 |
// Get paginated results
|
447 |
$paged_groups_sql = apply_filters( 'bp_groups_get_paged_groups_sql', join( ' ', (array) $sql ), $sql );
|
@@ -449,31 +412,25 @@ class BP_Groups_Group {
|
|
449 |
|
450 |
$total_sql['select'] = "SELECT COUNT(DISTINCT g.id) FROM {$bp->groups->table_name} g, {$bp->groups->table_name_members} gm1, {$bp->groups->table_name_groupmeta} gm2";
|
451 |
|
452 |
-
if ( !
|
453 |
$total_sql['select'] .= ", {$bp->groups->table_name_members} m";
|
454 |
-
}
|
455 |
|
456 |
-
if ( !
|
457 |
$total_sql['where'][] = "g.status != 'hidden'";
|
458 |
-
}
|
459 |
|
460 |
-
if ( !
|
461 |
$total_sql['where'][] = "( g.name LIKE '%%{$search_terms}%%' OR g.description LIKE '%%{$search_terms}%%' )";
|
462 |
-
}
|
463 |
|
464 |
-
if ( !
|
465 |
-
$total_sql['where'][] =
|
466 |
-
}
|
467 |
|
468 |
// Already escaped in the paginated results block
|
469 |
-
if ( ! empty( $include ) )
|
470 |
$total_sql['where'][] = "g.id IN ({$include})";
|
471 |
-
}
|
472 |
|
473 |
// Already escaped in the paginated results block
|
474 |
-
if ( ! empty( $exclude ) )
|
475 |
$total_sql['where'][] = "g.id NOT IN ({$exclude})";
|
476 |
-
}
|
477 |
|
478 |
$total_sql['where'][] = "g.id = gm1.group_id";
|
479 |
$total_sql['where'][] = "g.id = gm2.group_id";
|
@@ -481,9 +438,8 @@ class BP_Groups_Group {
|
|
481 |
|
482 |
$t_sql = $total_sql['select'];
|
483 |
|
484 |
-
if ( !
|
485 |
$t_sql .= " WHERE " . join( ' AND ', (array) $total_sql['where'] );
|
486 |
-
}
|
487 |
|
488 |
// Get total group results
|
489 |
$total_groups_sql = apply_filters( 'bp_groups_get_total_groups_sql', $t_sql, $total_sql );
|
@@ -495,9 +451,9 @@ class BP_Groups_Group {
|
|
495 |
}
|
496 |
|
497 |
// Populate some extra information instead of querying each time in the loop
|
498 |
-
if ( !empty( $
|
499 |
$group_ids = $wpdb->escape( join( ',', (array) $group_ids ) );
|
500 |
-
$paged_groups = BP_Groups_Group::get_group_extras( $paged_groups, $group_ids, $
|
501 |
}
|
502 |
|
503 |
// Grab all groupmeta
|
@@ -508,136 +464,6 @@ class BP_Groups_Group {
|
|
508 |
return array( 'groups' => $paged_groups, 'total' => $total_groups );
|
509 |
}
|
510 |
|
511 |
-
/**
|
512 |
-
* Get the SQL for the 'meta_query' param in BP_Activity_Activity::get()
|
513 |
-
*
|
514 |
-
* We use WP_Meta_Query to do the heavy lifting of parsing the
|
515 |
-
* meta_query array and creating the necessary SQL clauses. However,
|
516 |
-
* since BP_Activity_Activity::get() builds its SQL differently than
|
517 |
-
* WP_Query, we have to alter the return value (stripping the leading
|
518 |
-
* AND keyword from the 'where' clause).
|
519 |
-
*
|
520 |
-
* @since BuddyPress (1.8)
|
521 |
-
* @access protected
|
522 |
-
*
|
523 |
-
* @param array $meta_query An array of meta_query filters. See the
|
524 |
-
* documentation for WP_Meta_Query for details.
|
525 |
-
* @return array $sql_array 'join' and 'where' clauses
|
526 |
-
*/
|
527 |
-
protected static function get_meta_query_sql( $meta_query = array() ) {
|
528 |
-
global $wpdb;
|
529 |
-
|
530 |
-
$sql_array = array(
|
531 |
-
'join' => '',
|
532 |
-
'where' => '',
|
533 |
-
);
|
534 |
-
|
535 |
-
if ( ! empty( $meta_query ) ) {
|
536 |
-
$groups_meta_query = new WP_Meta_Query( $meta_query );
|
537 |
-
|
538 |
-
// WP_Meta_Query expects the table name at
|
539 |
-
// $wpdb->group
|
540 |
-
$wpdb->groupmeta = buddypress()->groups->table_name_groupmeta;
|
541 |
-
|
542 |
-
$meta_sql = $groups_meta_query->get_sql( 'group', 'g', 'id' );
|
543 |
-
|
544 |
-
// BP_Groups_Group::get uses the comma syntax for table
|
545 |
-
// joins, which means that we have to do some regex to
|
546 |
-
// convert the INNER JOIN and move the ON clause to a
|
547 |
-
// WHERE condition
|
548 |
-
//
|
549 |
-
// @todo It may be better in the long run to refactor
|
550 |
-
// the more general query syntax to accord better with
|
551 |
-
// BP/WP convention
|
552 |
-
preg_match( '/INNER JOIN (.*) ON/', $meta_sql['join'], $matches_a );
|
553 |
-
preg_match( '/ON \((.*)\)$/', $meta_sql['join'], $matches_b );
|
554 |
-
if ( ! empty( $matches_a[1] ) && ! empty( $matches_b[1] ) ) {
|
555 |
-
$sql_array['join'] = $matches_a[1] . ', ';
|
556 |
-
$sql_array['where'] = preg_replace( '/^(\sAND\s+[\(\s]+)/', '$1' . $matches_b[1] . ' AND ', $meta_sql['where'] );
|
557 |
-
}
|
558 |
-
}
|
559 |
-
|
560 |
-
return $sql_array;
|
561 |
-
}
|
562 |
-
|
563 |
-
/**
|
564 |
-
* Convert the 'type' parameter to 'order' and 'orderby'
|
565 |
-
*
|
566 |
-
* @since BuddyPress (1.8)
|
567 |
-
* @access protected
|
568 |
-
* @param string $type The 'type' shorthand param
|
569 |
-
* @return array 'order' and 'orderby'
|
570 |
-
*/
|
571 |
-
protected function convert_type_to_order_orderby( $type = '' ) {
|
572 |
-
$order = $orderby = '';
|
573 |
-
|
574 |
-
switch ( $type ) {
|
575 |
-
case 'newest' :
|
576 |
-
$order = 'DESC';
|
577 |
-
$orderby = 'date_created';
|
578 |
-
break;
|
579 |
-
|
580 |
-
case 'active' :
|
581 |
-
$order = 'DESC';
|
582 |
-
$orderby = 'last_activity';
|
583 |
-
break;
|
584 |
-
|
585 |
-
case 'popular' :
|
586 |
-
$order = 'DESC';
|
587 |
-
$orderby = 'total_member_count';
|
588 |
-
break;
|
589 |
-
|
590 |
-
case 'alphabetical' :
|
591 |
-
$order = 'ASC';
|
592 |
-
$orderby = 'name';
|
593 |
-
break;
|
594 |
-
|
595 |
-
case 'random' :
|
596 |
-
$order = '';
|
597 |
-
$orderby = 'random';
|
598 |
-
break;
|
599 |
-
}
|
600 |
-
|
601 |
-
return array( 'order' => $order, 'orderby' => $orderby );
|
602 |
-
}
|
603 |
-
|
604 |
-
/**
|
605 |
-
* Convert the 'orderby' param into a proper SQL term/column
|
606 |
-
*
|
607 |
-
* @since BuddyPress (1.8)
|
608 |
-
* @access protected
|
609 |
-
* @param string $orderby
|
610 |
-
* @return string $order_by_term
|
611 |
-
*/
|
612 |
-
protected function convert_orderby_to_order_by_term( $orderby ) {
|
613 |
-
$order_by_term = '';
|
614 |
-
|
615 |
-
switch ( $orderby ) {
|
616 |
-
case 'date_created' :
|
617 |
-
default :
|
618 |
-
$order_by_term = 'g.date_created';
|
619 |
-
break;
|
620 |
-
|
621 |
-
case 'last_activity' :
|
622 |
-
$order_by_term = 'last_activity';
|
623 |
-
break;
|
624 |
-
|
625 |
-
case 'total_member_count' :
|
626 |
-
$order_by_term = 'CONVERT(gm1.meta_value, SIGNED)';
|
627 |
-
break;
|
628 |
-
|
629 |
-
case 'name' :
|
630 |
-
$order_by_term = 'g.name';
|
631 |
-
break;
|
632 |
-
|
633 |
-
case 'random' :
|
634 |
-
$order_by_term = 'rand()';
|
635 |
-
break;
|
636 |
-
}
|
637 |
-
|
638 |
-
return $order_by_term;
|
639 |
-
}
|
640 |
-
|
641 |
function get_by_most_forum_topics( $limit = null, $page = null, $user_id = 0, $search_terms = false, $populate_extras = true, $exclude = false ) {
|
642 |
global $wpdb, $bp, $bbdb;
|
643 |
|
@@ -884,7 +710,7 @@ class BP_Groups_Group {
|
|
884 |
* @package BuddyPress
|
885 |
* @since BuddyPress (1.5)
|
886 |
*
|
887 |
-
* @param
|
888 |
* @return int The topic count
|
889 |
*/
|
890 |
function get_global_topic_count( $status = 'public', $search_terms = false ) {
|
@@ -947,188 +773,6 @@ class BP_Groups_Group {
|
|
947 |
}
|
948 |
}
|
949 |
|
950 |
-
/**
|
951 |
-
* Query for the members of a group
|
952 |
-
*
|
953 |
-
* @since BuddyPress (1.8)
|
954 |
-
*/
|
955 |
-
class BP_Group_Member_Query extends BP_User_Query {
|
956 |
-
/**
|
957 |
-
* Set up action hooks
|
958 |
-
*
|
959 |
-
* @since BuddyPress (1.8)
|
960 |
-
*/
|
961 |
-
public function setup_hooks() {
|
962 |
-
// Take this early opportunity to set the default 'type' param
|
963 |
-
// to 'last_modified', which will ensure that BP_User_Query
|
964 |
-
// trusts our order and does not try to apply its own
|
965 |
-
if ( empty( $this->query_vars_raw['type'] ) ) {
|
966 |
-
$this->query_vars_raw['type'] = 'last_modified';
|
967 |
-
}
|
968 |
-
|
969 |
-
// Set up our populate_extras method
|
970 |
-
add_action( 'bp_user_query_populate_extras', array( $this, 'populate_group_member_extras' ), 10, 2 );
|
971 |
-
}
|
972 |
-
|
973 |
-
/**
|
974 |
-
* Get a list of user_ids to include in the IN clause of the main query
|
975 |
-
*
|
976 |
-
* Overrides BP_User_Query::get_include_ids(), adding our additional
|
977 |
-
* group-member logic.
|
978 |
-
*
|
979 |
-
* @since BuddyPress (1.8)
|
980 |
-
* @param array
|
981 |
-
* @return array
|
982 |
-
*/
|
983 |
-
public function get_include_ids( $include ) {
|
984 |
-
// The following args are specific to group member queries, and
|
985 |
-
// are not present in the query_vars of a normal BP_User_Query.
|
986 |
-
// We loop through to make sure that defaults are set (though
|
987 |
-
// values passed to the constructor will, as usual, override
|
988 |
-
// these defaults).
|
989 |
-
$this->query_vars = wp_parse_args( $this->query_vars, array(
|
990 |
-
'group_id' => 0,
|
991 |
-
'group_role' => array( 'member' ),
|
992 |
-
'is_confirmed' => true,
|
993 |
-
) );
|
994 |
-
|
995 |
-
$group_member_ids = $this->get_group_member_ids();
|
996 |
-
|
997 |
-
// If the group member query returned no users, bail with an
|
998 |
-
// array that will guarantee no matches for BP_User_Query
|
999 |
-
if ( empty( $group_member_ids ) ) {
|
1000 |
-
return array( 0 );
|
1001 |
-
}
|
1002 |
-
|
1003 |
-
if ( ! empty( $include ) ) {
|
1004 |
-
$group_member_ids = array_intersect( $include, $group_member_ids );
|
1005 |
-
}
|
1006 |
-
|
1007 |
-
return $group_member_ids;
|
1008 |
-
}
|
1009 |
-
|
1010 |
-
/**
|
1011 |
-
* Get the members of the queried group
|
1012 |
-
*
|
1013 |
-
* @since BuddyPress (1.8)
|
1014 |
-
* @return array $ids User IDs of relevant group member ids
|
1015 |
-
*/
|
1016 |
-
protected function get_group_member_ids() {
|
1017 |
-
global $wpdb;
|
1018 |
-
|
1019 |
-
$bp = buddypress();
|
1020 |
-
$sql = array(
|
1021 |
-
'select' => "SELECT user_id FROM {$bp->groups->table_name_members}",
|
1022 |
-
'where' => array(),
|
1023 |
-
'orderby' => '',
|
1024 |
-
'order' => '',
|
1025 |
-
'limit' => '',
|
1026 |
-
);
|
1027 |
-
|
1028 |
-
/** WHERE clauses *****************************************************/
|
1029 |
-
|
1030 |
-
// Group id
|
1031 |
-
$sql['where'][] = $wpdb->prepare( "group_id = %d", $this->query_vars['group_id'] );
|
1032 |
-
|
1033 |
-
// is_confirmed
|
1034 |
-
$is_confirmed = ! empty( $this->query_vars['is_confirmed'] ) ? 1 : 0;
|
1035 |
-
$sql['where'][] = $wpdb->prepare( "is_confirmed = %d", $is_confirmed );
|
1036 |
-
|
1037 |
-
// Role information is stored as follows: admins have
|
1038 |
-
// is_admin = 1, mods have is_mod = 1, banned have is_banned =
|
1039 |
-
// 1, and members have all three set to 0.
|
1040 |
-
$roles = !empty( $this->query_vars['group_role'] ) ? $this->query_vars['group_role'] : array();
|
1041 |
-
if ( is_string( $roles ) ) {
|
1042 |
-
$roles = explode( ',', $roles );
|
1043 |
-
}
|
1044 |
-
|
1045 |
-
// Sanitize: Only 'admin', 'mod', 'member', and 'banned' are valid
|
1046 |
-
$allowed_roles = array( 'admin', 'mod', 'member', 'banned' );
|
1047 |
-
foreach ( $roles as $role_key => $role_value ) {
|
1048 |
-
if ( ! in_array( $role_value, $allowed_roles ) ) {
|
1049 |
-
unset( $roles[ $role_key ] );
|
1050 |
-
}
|
1051 |
-
}
|
1052 |
-
|
1053 |
-
$roles = array_unique( $roles );
|
1054 |
-
|
1055 |
-
// When querying for a set of roles containing 'member' (for
|
1056 |
-
// which there is no dedicated is_ column), figure out a list
|
1057 |
-
// of columns *not* to match
|
1058 |
-
$roles_sql = '';
|
1059 |
-
if ( in_array( 'member', $roles ) ) {
|
1060 |
-
$role_columns = array();
|
1061 |
-
foreach ( array_diff( $allowed_roles, $roles ) as $excluded_role ) {
|
1062 |
-
$role_columns[] = 'is_' . $excluded_role . ' = 0';
|
1063 |
-
}
|
1064 |
-
|
1065 |
-
if ( ! empty( $role_columns ) ) {
|
1066 |
-
$roles_sql = '(' . implode( ' AND ', $role_columns ) . ')';
|
1067 |
-
}
|
1068 |
-
|
1069 |
-
// When querying for a set of roles *not* containing 'member',
|
1070 |
-
// simply construct a list of is_* = 1 clauses
|
1071 |
-
} else {
|
1072 |
-
$role_columns = array();
|
1073 |
-
foreach ( $roles as $role ) {
|
1074 |
-
$role_columns[] = 'is_' . $role . ' = 1';
|
1075 |
-
}
|
1076 |
-
|
1077 |
-
if ( ! empty( $role_columns ) ) {
|
1078 |
-
$roles_sql = '(' . implode( ' OR ', $role_columns ) . ')';
|
1079 |
-
}
|
1080 |
-
}
|
1081 |
-
|
1082 |
-
if ( ! empty( $roles_sql ) ) {
|
1083 |
-
$sql['where'][] = $roles_sql;
|
1084 |
-
}
|
1085 |
-
|
1086 |
-
$sql['where'] = ! empty( $sql['where'] ) ? 'WHERE ' . implode( ' AND ', $sql['where'] ) : '';
|
1087 |
-
|
1088 |
-
/** ORDER BY clause ***************************************************/
|
1089 |
-
|
1090 |
-
// @todo For now, mimicking legacy behavior of
|
1091 |
-
// bp_group_has_members(), which has us order by date_modified
|
1092 |
-
// only. Should abstract it in the future
|
1093 |
-
$sql['orderby'] = "ORDER BY date_modified";
|
1094 |
-
$sql['order'] = "DESC";
|
1095 |
-
|
1096 |
-
/** LIMIT clause ******************************************************/
|
1097 |
-
|
1098 |
-
$ids = $wpdb->get_col( "{$sql['select']} {$sql['where']} {$sql['orderby']} {$sql['order']} {$sql['limit']}" );
|
1099 |
-
|
1100 |
-
return $ids;
|
1101 |
-
}
|
1102 |
-
|
1103 |
-
/**
|
1104 |
-
* Fetch additional data required in bp_group_has_members() loops
|
1105 |
-
*
|
1106 |
-
* @since BuddyPress (1.8)
|
1107 |
-
* @param object $query BP_User_Query object. Because we're filtering
|
1108 |
-
* the current object, we use $this inside of the method instead
|
1109 |
-
* @param string $user_ids_sql Sanitized, comma-separated string of
|
1110 |
-
* the user ids returned by the main query
|
1111 |
-
*/
|
1112 |
-
public function populate_group_member_extras( $query, $user_ids_sql ) {
|
1113 |
-
global $wpdb;
|
1114 |
-
|
1115 |
-
$bp = buddypress();
|
1116 |
-
$extras = $wpdb->get_results( $wpdb->prepare( "SELECT user_id, date_modified, is_banned FROM {$bp->groups->table_name_members} WHERE user_id IN ({$user_ids_sql}) AND group_id = %d", $this->query_vars['group_id'] ) );
|
1117 |
-
|
1118 |
-
foreach ( (array) $extras as $extra ) {
|
1119 |
-
if ( isset( $this->results[ $extra->user_id ] ) ) {
|
1120 |
-
// user_id is provided for backward compatibility
|
1121 |
-
$this->results[ $extra->user_id ]->user_id = (int) $extra->user_id;
|
1122 |
-
$this->results[ $extra->user_id ]->is_banned = (int) $extra->is_banned;
|
1123 |
-
$this->results[ $extra->user_id ]->date_modified = $extra->date_modified;
|
1124 |
-
}
|
1125 |
-
}
|
1126 |
-
|
1127 |
-
// Don't filter other BP_User_Query objects on the same page
|
1128 |
-
remove_action( 'bp_user_query_populate_extras', array( $this, 'populate_group_member_extras' ), 10, 2 );
|
1129 |
-
}
|
1130 |
-
}
|
1131 |
-
|
1132 |
class BP_Groups_Member {
|
1133 |
var $id;
|
1134 |
var $group_id;
|
@@ -1228,12 +872,6 @@ class BP_Groups_Member {
|
|
1228 |
|
1229 |
$this->id = $wpdb->insert_id;
|
1230 |
|
1231 |
-
// Update the user's group count
|
1232 |
-
self::refresh_total_group_count_for_user( $this->user_id );
|
1233 |
-
|
1234 |
-
// Update the group's member count
|
1235 |
-
self::refresh_total_member_count_for_group( $this->group_id );
|
1236 |
-
|
1237 |
do_action_ref_array( 'groups_member_after_save', array( &$this ) );
|
1238 |
|
1239 |
return true;
|
@@ -1264,33 +902,50 @@ class BP_Groups_Member {
|
|
1264 |
}
|
1265 |
|
1266 |
function ban() {
|
|
|
1267 |
if ( !empty( $this->is_admin ) )
|
1268 |
return false;
|
1269 |
|
1270 |
$this->is_mod = 0;
|
1271 |
$this->is_banned = 1;
|
1272 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1273 |
return $this->save();
|
1274 |
}
|
1275 |
|
1276 |
function unban() {
|
|
|
1277 |
if ( !empty( $this->is_admin ) )
|
1278 |
return false;
|
1279 |
|
1280 |
$this->is_banned = 0;
|
1281 |
|
|
|
|
|
|
|
1282 |
return $this->save();
|
1283 |
}
|
1284 |
|
1285 |
function accept_invite() {
|
|
|
1286 |
$this->inviter_id = 0;
|
1287 |
$this->is_confirmed = 1;
|
1288 |
$this->date_modified = bp_core_current_time();
|
|
|
|
|
1289 |
}
|
1290 |
|
1291 |
function accept_request() {
|
|
|
1292 |
$this->is_confirmed = 1;
|
1293 |
$this->date_modified = bp_core_current_time();
|
|
|
|
|
1294 |
}
|
1295 |
|
1296 |
function remove() {
|
@@ -1301,51 +956,21 @@ class BP_Groups_Member {
|
|
1301 |
if ( !$result = $wpdb->query( $sql ) )
|
1302 |
return false;
|
1303 |
|
1304 |
-
|
1305 |
-
self::refresh_total_group_count_for_user( $this->user_id );
|
1306 |
|
1307 |
-
|
1308 |
-
|
|
|
1309 |
|
1310 |
return $result;
|
1311 |
}
|
1312 |
|
1313 |
/** Static Methods ********************************************************/
|
1314 |
|
1315 |
-
/**
|
1316 |
-
* Refresh the total_group_count for a user
|
1317 |
-
*
|
1318 |
-
* @since BuddyPress (1.8)
|
1319 |
-
* @param int $user_id
|
1320 |
-
* @return bool True on success
|
1321 |
-
*/
|
1322 |
-
public static function refresh_total_group_count_for_user( $user_id ) {
|
1323 |
-
return bp_update_user_meta( $user_id, 'total_group_count', (int) self::total_group_count( $user_id ) );
|
1324 |
-
}
|
1325 |
-
|
1326 |
-
/**
|
1327 |
-
* Refresh the total_member_count for a group
|
1328 |
-
*
|
1329 |
-
* @since BuddyPress (1.8)
|
1330 |
-
* @param int $group_id
|
1331 |
-
* @return bool True on success
|
1332 |
-
*/
|
1333 |
-
public static function refresh_total_member_count_for_group( $group_id ) {
|
1334 |
-
return groups_update_groupmeta( $group_id, 'total_member_count', (int) BP_Groups_Group::get_total_member_count( $group_id ) );
|
1335 |
-
}
|
1336 |
-
|
1337 |
function delete( $user_id, $group_id ) {
|
1338 |
global $wpdb, $bp;
|
1339 |
|
1340 |
-
|
1341 |
-
|
1342 |
-
// Update the user's group count
|
1343 |
-
self::refresh_total_group_count_for_user( $user_id );
|
1344 |
-
|
1345 |
-
// Update the group's member count
|
1346 |
-
self::refresh_total_member_count_for_group( $group_id );
|
1347 |
-
|
1348 |
-
return $remove;
|
1349 |
}
|
1350 |
|
1351 |
function get_group_ids( $user_id, $limit = false, $page = false ) {
|
@@ -1600,8 +1225,6 @@ class BP_Groups_Member {
|
|
1600 |
function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false ) {
|
1601 |
global $bp, $wpdb;
|
1602 |
|
1603 |
-
_deprecated_function( __METHOD__, '1.8', 'BP_Group_Member_Query' );
|
1604 |
-
|
1605 |
$pag_sql = '';
|
1606 |
if ( !empty( $limit ) && !empty( $page ) )
|
1607 |
$pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
@@ -1693,1210 +1316,191 @@ class BP_Groups_Member {
|
|
1693 |
* API for creating group extensions without having to hardcode the content into
|
1694 |
* the theme.
|
1695 |
*
|
1696 |
-
*
|
1697 |
-
* of arguments to parent::init() to configure your widget. The config array
|
1698 |
-
* supports the following values:
|
1699 |
-
* - 'slug' A unique identifier for your extension. This value will be used
|
1700 |
-
* to build URLs, so make it URL-safe
|
1701 |
-
* - 'name' A translatable name for your extension. This value is used to
|
1702 |
-
populate the navigation tab, as well as the default titles for admin/
|
1703 |
-
edit/create tabs.
|
1704 |
-
* - 'visibility' Set to 'public' (default) for your extension (the main tab
|
1705 |
-
* as well as the widget) to be available to anyone who can access the
|
1706 |
-
* group, 'private' otherwise.
|
1707 |
-
* - 'nav_item_position' An integer explaining where the nav item should
|
1708 |
-
* appear in the tab list
|
1709 |
-
* - 'enable_nav_item' Set to true for your extension's main tab to be
|
1710 |
-
* available to anyone who can access the group.
|
1711 |
-
* - 'nav_item_name' The translatable text you want to appear in the nav tab.
|
1712 |
-
* Defaults to the value of 'name'.
|
1713 |
-
* - 'display_hook' The WordPress action that the widget_display() method is
|
1714 |
-
* hooked to
|
1715 |
-
* - 'template_file' The template file that will be used to load the content
|
1716 |
-
* of your main extension tab. Defaults to 'groups/single/plugins.php'.
|
1717 |
-
* - 'screens' A multi-dimensional array, described below
|
1718 |
-
*
|
1719 |
-
* BP_Group_Extension uses the concept of "settings screens". There are three
|
1720 |
-
* contexts for settings screens:
|
1721 |
-
* - 'create', which inserts a new step into the group creation process
|
1722 |
-
* - 'edit', which adds a tab for your extension into the Admin section of
|
1723 |
-
* a group
|
1724 |
-
* - 'admin', which adds a metabox to the Groups administration panel in the
|
1725 |
-
* WordPress Dashboard
|
1726 |
-
* Each of these settings screens is populated by a pair of methods: one that
|
1727 |
-
* creates the markup for the screen, and one that processes form data
|
1728 |
-
* submitted from the screen. If your plugin needs screens in all three
|
1729 |
-
* contexts, and if the markup and form processing logic will be the same in
|
1730 |
-
* each case, you can define two methods to handle all of the screens:
|
1731 |
-
* function settings_screen() {}
|
1732 |
-
* function settings_screen_save() {}
|
1733 |
-
* If one or more of your settings screen needs separate logic, you may define
|
1734 |
-
* context-specific methods, for example:
|
1735 |
-
* function edit_screen() {}
|
1736 |
-
* function edit_screen_save() {}
|
1737 |
-
* BP_Group_Extension will use the more specific methods if they are available.
|
1738 |
*
|
1739 |
-
*
|
1740 |
-
*
|
1741 |
-
*
|
1742 |
-
* 'create' => array(
|
1743 |
-
* 'slug' => 'foo',
|
1744 |
-
* 'name' => 'Foo',
|
1745 |
-
* 'position' => 55,
|
1746 |
-
* 'screen_callback' => 'my_create_screen_callback',
|
1747 |
-
* 'screen_save_callback' => 'my_create_screen_save_callback',
|
1748 |
-
* ),
|
1749 |
-
* 'edit' => array( // ...
|
1750 |
-
* ),
|
1751 |
-
* Only provide those arguments that you actually want to change from the
|
1752 |
-
* default configuration. BP_Group_Extension will do the rest.
|
1753 |
-
*
|
1754 |
-
* Note that the 'edit' screen accepts an additional parameter: 'submit_text',
|
1755 |
-
* which defines the text of the Submit button automatically added to the Edit
|
1756 |
-
* screen of the extension (defaults to 'Save Changes'). Also, the 'admin'
|
1757 |
-
* screen accepts two additional parameters: 'metabox_priority' and
|
1758 |
-
* 'metabox_context'. See the docs for add_meta_box() for more details on these
|
1759 |
-
* arguments.
|
1760 |
-
*
|
1761 |
-
* Prior to BuddyPress 1.7, group extension configurations were set slightly
|
1762 |
-
* differently. The legacy method is still supported, though deprecated.
|
1763 |
*
|
1764 |
* @package BuddyPress
|
1765 |
* @subpackage Groups
|
1766 |
* @since BuddyPress (1.1)
|
1767 |
*/
|
1768 |
class BP_Group_Extension {
|
|
|
|
|
1769 |
|
1770 |
-
|
1771 |
-
|
1772 |
-
|
1773 |
-
* @var array Information about this extension's screens
|
1774 |
-
* @since BuddyPress (1.8)
|
1775 |
-
*/
|
1776 |
-
public $screens = array();
|
1777 |
|
1778 |
-
|
1779 |
-
|
1780 |
-
|
1781 |
-
*/
|
1782 |
-
public $class_name = '';
|
1783 |
|
1784 |
-
|
1785 |
-
|
1786 |
-
* @since BuddyPress (1.8)
|
1787 |
-
*/
|
1788 |
-
public $class_reflection = null;
|
1789 |
|
1790 |
-
|
1791 |
-
|
1792 |
-
* @since BuddyPress (1.8)
|
1793 |
-
*/
|
1794 |
-
public $params = array();
|
1795 |
|
1796 |
/**
|
1797 |
-
* @var
|
1798 |
-
* @
|
|
|
|
|
1799 |
*/
|
1800 |
-
|
1801 |
|
1802 |
/**
|
1803 |
-
* @var string
|
|
|
|
|
|
|
1804 |
*/
|
1805 |
-
|
1806 |
|
1807 |
-
|
1808 |
-
|
1809 |
-
|
1810 |
-
|
1811 |
|
1812 |
-
|
1813 |
-
* @var string Whether the extension tab is visible. 'public'
|
1814 |
-
* or 'private'
|
1815 |
-
*/
|
1816 |
-
public $visibility = 'public';
|
1817 |
|
1818 |
-
|
1819 |
-
|
1820 |
-
*/
|
1821 |
-
public $nav_item_position = 81;
|
1822 |
|
1823 |
-
|
1824 |
-
* @var bool Whether to show the nav item
|
1825 |
-
*/
|
1826 |
-
public $enable_nav_item = false;
|
1827 |
|
1828 |
-
|
1829 |
-
* @var string The text of the nav item. Defaults to self::name
|
1830 |
-
*/
|
1831 |
-
public $nav_item_name = '';
|
1832 |
|
1833 |
-
|
1834 |
-
* @var string The WP action that self::widget_display() is attached to.
|
1835 |
-
* Defaults to 'groups_custom_group_boxes'
|
1836 |
-
*/
|
1837 |
-
public $display_hook = 'groups_custom_group_boxes';
|
1838 |
|
1839 |
-
|
1840 |
-
* @var string The template file used to load the plugin content.
|
1841 |
-
* Defaults to 'groups/single/plugins'
|
1842 |
-
*/
|
1843 |
-
public $template_file = 'groups/single/plugins';
|
1844 |
|
1845 |
-
|
1846 |
|
1847 |
-
|
1848 |
-
* @var bool Has the extension been initialized?
|
1849 |
-
* @since BuddyPress (1.8)
|
1850 |
-
*/
|
1851 |
-
protected $initialized = false;
|
1852 |
|
1853 |
-
|
1854 |
-
* @var array Extension properties as set by legacy extensions
|
1855 |
-
* @since BuddyPress (1.8)
|
1856 |
-
*/
|
1857 |
-
protected $legacy_properties = array();
|
1858 |
|
1859 |
-
|
1860 |
-
* @var array Extension properties as set by legacy extensions, but
|
1861 |
-
* converted to match the new format for params
|
1862 |
-
* @since BuddyPress (1.8)
|
1863 |
-
*/
|
1864 |
-
protected $legacy_properties_converted = array();
|
1865 |
|
1866 |
-
|
1867 |
-
|
1868 |
-
* @since BuddyPress (1.8)
|
1869 |
-
*/
|
1870 |
-
protected $data = array();
|
1871 |
|
1872 |
-
|
|
|
|
|
|
|
|
|
1873 |
|
1874 |
-
|
1875 |
-
|
1876 |
-
|
1877 |
-
* methods that it needs for its purposes.
|
1878 |
-
*/
|
1879 |
|
1880 |
-
|
1881 |
-
|
|
|
1882 |
|
1883 |
-
|
1884 |
-
|
|
|
1885 |
|
1886 |
-
|
1887 |
-
|
1888 |
-
|
1889 |
-
// be overridden by the more specific edit_*, create_*, and admin_*
|
1890 |
-
// versions.
|
1891 |
-
public function settings_screen( $group_id = null ) {}
|
1892 |
-
public function settings_screen_save( $group_id = null ) {}
|
1893 |
-
public function edit_screen( $group_id = null ) {}
|
1894 |
-
public function edit_screen_save( $group_id = null ) {}
|
1895 |
-
public function create_screen( $group_id = null ) {}
|
1896 |
-
public function create_screen_save( $group_id = null ) {}
|
1897 |
-
public function admin_screen( $group_id = null ) {}
|
1898 |
-
public function admin_screen_save( $group_id = null ) {}
|
1899 |
|
1900 |
-
|
|
|
1901 |
|
1902 |
-
|
1903 |
-
|
1904 |
-
|
1905 |
-
* Your plugin should call this method at the very end of its
|
1906 |
-
* constructor, like so:
|
1907 |
-
*
|
1908 |
-
* public function __construct() {
|
1909 |
-
* $args = array(
|
1910 |
-
* 'slug' => 'my-group-extension',
|
1911 |
-
* 'name' => 'My Group Extension',
|
1912 |
-
* // ...
|
1913 |
-
* );
|
1914 |
-
*
|
1915 |
-
* parent::init( $args );
|
1916 |
-
* }
|
1917 |
-
*
|
1918 |
-
* @since BuddyPress (1.8)
|
1919 |
-
* @param array $args See inline definition below for arguments
|
1920 |
-
*/
|
1921 |
-
public function init( $args = array() ) {
|
1922 |
-
|
1923 |
-
// Before this init() method was introduced, plugins were
|
1924 |
-
// encouraged to set their config directly. For backward
|
1925 |
-
// compatibility with these plugins, we detect whether this is
|
1926 |
-
// one of those legacy plugins, and parse any legacy arguments
|
1927 |
-
// with those passed to init()
|
1928 |
-
$this->parse_legacy_properties();
|
1929 |
-
$args = $this->parse_args_r( $args, $this->legacy_properties_converted );
|
1930 |
-
|
1931 |
-
// Parse with defaults
|
1932 |
-
$this->params = $this->parse_args_r( $args, array(
|
1933 |
-
'slug' => $this->slug,
|
1934 |
-
'name' => $this->name,
|
1935 |
-
'visibility' => $this->visibility,
|
1936 |
-
'nav_item_position' => $this->nav_item_position,
|
1937 |
-
'enable_nav_item' => (bool) $this->enable_nav_item,
|
1938 |
-
'nav_item_name' => $this->nav_item_name,
|
1939 |
-
'display_hook' => $this->display_hook,
|
1940 |
-
'template_file' => $this->template_file,
|
1941 |
-
'screens' => $this->get_default_screens(),
|
1942 |
-
) );
|
1943 |
-
|
1944 |
-
$this->initialized = true;
|
1945 |
-
}
|
1946 |
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
-
* and hooking the extension's screen functions into WP and BP.
|
1953 |
-
*
|
1954 |
-
* Marked 'public' because it must be accessible to add_action().
|
1955 |
-
* However, you should never need to invoke this method yourself - it
|
1956 |
-
* is called automatically at the right point in the load order by
|
1957 |
-
* bp_register_group_extension().
|
1958 |
-
*
|
1959 |
-
* @since BuddyPress (1.1)
|
1960 |
-
*/
|
1961 |
-
public function _register() {
|
1962 |
|
1963 |
-
|
1964 |
-
|
|
|
|
|
|
|
|
|
1965 |
|
1966 |
-
|
1967 |
-
|
1968 |
-
|
1969 |
-
|
1970 |
}
|
1971 |
|
1972 |
-
//
|
1973 |
-
$this->
|
1974 |
-
|
1975 |
-
$this->name = $this->params['name'];
|
1976 |
-
$this->visibility = $this->params['visibility'];
|
1977 |
-
$this->nav_item_position = $this->params['nav_item_position'];
|
1978 |
-
$this->nav_item_name = $this->params['nav_item_name'];
|
1979 |
-
$this->display_hook = $this->params['display_hook'];
|
1980 |
-
$this->template_file = $this->params['template_file'];
|
1981 |
-
|
1982 |
-
// Configure 'screens': create, admin, and edit contexts
|
1983 |
-
$this->setup_screens();
|
1984 |
-
|
1985 |
-
// Mirror configuration data so it's accessible to plugins
|
1986 |
-
// that look for it in its old locations
|
1987 |
-
$this->setup_legacy_properties();
|
1988 |
-
|
1989 |
-
// Hook the extension into BuddyPress
|
1990 |
-
$this->setup_display_hooks();
|
1991 |
-
$this->setup_create_hooks();
|
1992 |
-
$this->setup_edit_hooks();
|
1993 |
-
$this->setup_admin_hooks();
|
1994 |
-
}
|
1995 |
|
1996 |
-
|
1997 |
-
|
1998 |
-
|
1999 |
-
|
2000 |
-
|
2001 |
-
|
2002 |
-
|
2003 |
-
|
2004 |
-
|
2005 |
-
|
2006 |
-
|
2007 |
-
|
|
|
|
|
|
|
2008 |
}
|
2009 |
|
2010 |
-
|
2011 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012 |
}
|
2013 |
}
|
2014 |
|
|
|
|
|
|
|
|
|
|
|
2015 |
/**
|
2016 |
-
*
|
2017 |
-
*
|
2018 |
-
* Check for:
|
2019 |
-
* - current group
|
2020 |
-
* - new group
|
2021 |
-
* - group admin
|
2022 |
*
|
2023 |
-
* @since BuddyPress (1.
|
2024 |
*/
|
2025 |
-
|
2026 |
-
|
2027 |
-
// Usually this will work
|
2028 |
-
$group_id = bp_get_current_group_id();
|
2029 |
-
|
2030 |
-
// On the admin, get the group id out of the $_GET params
|
2031 |
-
if ( empty( $group_id ) && is_admin() && ( isset( $_GET['page'] ) && ( 'bp-groups' === $_GET['page'] ) ) && ! empty( $_GET['gid'] ) ) {
|
2032 |
-
$group_id = (int) $_GET['gid'];
|
2033 |
-
}
|
2034 |
-
|
2035 |
-
// This fallback will only be hit when the create step is very
|
2036 |
-
// early
|
2037 |
-
if ( empty( $group_id ) && bp_get_new_group_id() ) {
|
2038 |
-
$group_id = bp_get_new_group_id();
|
2039 |
-
}
|
2040 |
-
|
2041 |
-
// On some setups, the group id has to be fetched out of the
|
2042 |
-
// $_POST array
|
2043 |
-
// @todo Figure out why this is happening during group creation
|
2044 |
-
if ( empty( $group_id ) && isset( $_POST['group_id'] ) ) {
|
2045 |
-
$group_id = (int) $_POST['group_id'];
|
2046 |
-
}
|
2047 |
-
|
2048 |
-
return $group_id;
|
2049 |
-
}
|
2050 |
-
|
2051 |
-
/**
|
2052 |
-
* Gather configuration data about your screens
|
2053 |
-
*
|
2054 |
-
* @since BuddyPress (1.8)
|
2055 |
-
*/
|
2056 |
-
protected function get_default_screens() {
|
2057 |
-
$this->setup_class_info();
|
2058 |
-
|
2059 |
-
$screens = array(
|
2060 |
-
'create' => array(
|
2061 |
-
'position' => 81,
|
2062 |
-
),
|
2063 |
-
'edit' => array(
|
2064 |
-
'submit_text' => __( 'Save Changes', 'buddypress' ),
|
2065 |
-
),
|
2066 |
-
'admin' => array(
|
2067 |
-
'metabox_context' => 'normal',
|
2068 |
-
'metabox_priority' => 'core',
|
2069 |
-
),
|
2070 |
-
);
|
2071 |
-
|
2072 |
-
foreach ( $screens as $context => &$screen ) {
|
2073 |
-
$screen['enabled'] = true;
|
2074 |
-
$screen['name'] = $this->name;
|
2075 |
-
$screen['slug'] = $this->slug;
|
2076 |
-
|
2077 |
-
$screen['screen_callback'] = $this->get_screen_callback( $context, 'screen' );
|
2078 |
-
$screen['screen_save_callback'] = $this->get_screen_callback( $context, 'screen_save' );
|
2079 |
-
}
|
2080 |
-
|
2081 |
-
return $screens;
|
2082 |
-
}
|
2083 |
-
|
2084 |
-
/**
|
2085 |
-
* Set up screens array based on params
|
2086 |
-
*
|
2087 |
-
* @since BuddyPress (1.8)
|
2088 |
-
*/
|
2089 |
-
protected function setup_screens() {
|
2090 |
-
foreach ( (array) $this->params['screens'] as $context => $screen ) {
|
2091 |
-
if ( empty( $screen['slug'] ) ) {
|
2092 |
-
$screen['slug'] = $this->slug;
|
2093 |
-
}
|
2094 |
-
|
2095 |
-
if ( empty( $screen['name'] ) ) {
|
2096 |
-
$screen['name'] = $this->name;
|
2097 |
-
}
|
2098 |
-
|
2099 |
-
$this->screens[ $context ] = $screen;
|
2100 |
-
}
|
2101 |
-
}
|
2102 |
-
|
2103 |
-
/** Display ***************************************************************/
|
2104 |
-
|
2105 |
-
/**
|
2106 |
-
* Hook this extension's group tab into BuddyPress, if necessary
|
2107 |
-
*
|
2108 |
-
* @since BuddyPress (1.8)
|
2109 |
-
*/
|
2110 |
-
protected function setup_display_hooks() {
|
2111 |
-
|
2112 |
-
// Bail if not a group
|
2113 |
-
if ( ! bp_is_group() ) {
|
2114 |
-
return;
|
2115 |
-
}
|
2116 |
-
|
2117 |
-
// Bail if the current user doesn't have access
|
2118 |
-
if ( ( 'public' !== $this->visibility ) && ! buddypress()->groups->current_group->user_has_access ) {
|
2119 |
-
return;
|
2120 |
-
}
|
2121 |
-
|
2122 |
-
if ( true === $this->enable_nav_item ) {
|
2123 |
-
bp_core_new_subnav_item( array(
|
2124 |
-
'name' => ! $this->nav_item_name ? $this->name : $this->nav_item_name,
|
2125 |
-
'slug' => $this->slug,
|
2126 |
-
'parent_slug' => bp_get_current_group_slug(),
|
2127 |
-
'parent_url' => bp_get_group_permalink( groups_get_current_group() ),
|
2128 |
-
'position' => $this->nav_item_position,
|
2129 |
-
'item_css_id' => 'nav-' . $this->slug,
|
2130 |
-
'screen_function' => array( &$this, '_display_hook' ),
|
2131 |
-
'user_has_access' => $this->enable_nav_item
|
2132 |
-
) );
|
2133 |
-
|
2134 |
-
// When we are viewing the extension display page, set the title and options title
|
2135 |
-
if ( bp_is_current_action( $this->slug ) ) {
|
2136 |
-
add_action( 'bp_template_content_header', create_function( '', 'echo "' . esc_attr( $this->name ) . '";' ) );
|
2137 |
-
add_action( 'bp_template_title', create_function( '', 'echo "' . esc_attr( $this->name ) . '";' ) );
|
2138 |
-
}
|
2139 |
-
}
|
2140 |
-
|
2141 |
-
// Hook the group home widget
|
2142 |
-
if ( ! bp_current_action() && bp_is_current_action( 'home' ) ) {
|
2143 |
-
add_action( $this->display_hook, array( &$this, 'widget_display' ) );
|
2144 |
-
}
|
2145 |
-
}
|
2146 |
-
|
2147 |
-
/**
|
2148 |
-
* Hooks the main display method, and loads the template file
|
2149 |
-
*/
|
2150 |
-
public function _display_hook() {
|
2151 |
-
add_action( 'bp_template_content', array( &$this, 'display' ) );
|
2152 |
-
bp_core_load_template( apply_filters( 'bp_core_template_plugin', $this->template_file ) );
|
2153 |
-
}
|
2154 |
-
|
2155 |
-
/** Create ****************************************************************/
|
2156 |
-
|
2157 |
-
/**
|
2158 |
-
* Hook this extension's Create step into BuddyPress, if necessary
|
2159 |
-
*
|
2160 |
-
* @since BuddyPress (1.8)
|
2161 |
-
*/
|
2162 |
-
protected function setup_create_hooks() {
|
2163 |
-
if ( ! $this->is_screen_enabled( 'create' ) ) {
|
2164 |
-
return;
|
2165 |
-
}
|
2166 |
-
|
2167 |
-
$screen = $this->screens['create'];
|
2168 |
-
|
2169 |
-
// Insert the group creation step for the new group extension
|
2170 |
-
buddypress()->groups->group_creation_steps[ $screen['slug'] ] = array(
|
2171 |
-
'name' => $screen['name'],
|
2172 |
-
'slug' => $screen['slug'],
|
2173 |
-
'position' => $screen['position'],
|
2174 |
-
);
|
2175 |
-
|
2176 |
-
// The maybe_ methods check to see whether the create_*
|
2177 |
-
// callbacks should be invoked (ie, are we on the
|
2178 |
-
// correct group creation step). Hooked in separate
|
2179 |
-
// methods because current creation step info not yet
|
2180 |
-
// available at this point
|
2181 |
-
add_action( 'groups_custom_create_steps', array( $this, 'maybe_create_screen' ) );
|
2182 |
-
add_action( 'groups_create_group_step_save_' . $screen['slug'], array( $this, 'maybe_create_screen_save' ) );
|
2183 |
-
}
|
2184 |
-
|
2185 |
-
/**
|
2186 |
-
* Call the create_screen() method, if we're on the right page
|
2187 |
-
*
|
2188 |
-
* @since BuddyPress (1.8)
|
2189 |
-
*/
|
2190 |
-
public function maybe_create_screen() {
|
2191 |
-
if ( ! bp_is_group_creation_step( $this->screens['create']['slug'] ) ) {
|
2192 |
-
return;
|
2193 |
-
}
|
2194 |
-
|
2195 |
-
call_user_func( $this->screens['create']['screen_callback'], $this->group_id );
|
2196 |
-
$this->nonce_field( 'create' );
|
2197 |
-
|
2198 |
-
// The create screen requires an additional nonce field
|
2199 |
-
// due to a quirk in the way the templates are built
|
2200 |
-
wp_nonce_field( 'groups_create_save_' . bp_get_groups_current_create_step() );
|
2201 |
-
}
|
2202 |
-
|
2203 |
-
/**
|
2204 |
-
* Call the create_screen_save() method, if we're on the right page
|
2205 |
-
*
|
2206 |
-
* @since BuddyPress (1.8)
|
2207 |
-
*/
|
2208 |
-
public function maybe_create_screen_save() {
|
2209 |
-
if ( ! bp_is_group_creation_step( $this->screens['create']['slug'] ) ) {
|
2210 |
-
return;
|
2211 |
-
}
|
2212 |
-
|
2213 |
-
$this->check_nonce( 'create' );
|
2214 |
-
call_user_func( $this->screens['create']['screen_save_callback'], $this->group_id );
|
2215 |
-
}
|
2216 |
-
|
2217 |
-
/** Edit ******************************************************************/
|
2218 |
-
|
2219 |
-
/**
|
2220 |
-
* Hook this extension's Edit panel into BuddyPress, if necessary
|
2221 |
-
*
|
2222 |
-
* @since BuddyPress (1.8)
|
2223 |
-
*/
|
2224 |
-
protected function setup_edit_hooks() {
|
2225 |
-
|
2226 |
-
// Bail if not an edit screen
|
2227 |
-
if ( ! $this->is_screen_enabled( 'edit' ) || ! bp_is_item_admin() ) {
|
2228 |
-
return;
|
2229 |
-
}
|
2230 |
-
|
2231 |
-
$screen = $this->screens['edit'];
|
2232 |
-
|
2233 |
-
$position = isset( $screen['position'] ) ? (int) $screen['position'] : 10;
|
2234 |
-
|
2235 |
-
// Add the tab
|
2236 |
-
// @todo BP should be using bp_core_new_subnav_item()
|
2237 |
-
add_action( 'groups_admin_tabs', create_function( '$current, $group_slug',
|
2238 |
-
'$selected = "";
|
2239 |
-
if ( "' . esc_attr( $screen['slug'] ) . '" == $current )
|
2240 |
-
$selected = " class=\"current\"";
|
2241 |
-
echo "<li{$selected}><a href=\"' . trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/{$group_slug}/admin/' . esc_attr( $screen['slug'] ) ) . '\">' . esc_attr( $screen['name'] ) . '</a></li>";'
|
2242 |
-
), $position, 2 );
|
2243 |
-
|
2244 |
-
// Catch the edit screen and forward it to the plugin template
|
2245 |
-
if ( bp_is_groups_component() && bp_is_current_action( 'admin' ) && bp_is_action_variable( $screen['slug'], 0 ) ) {
|
2246 |
-
$this->call_edit_screen_save( $this->group_id );
|
2247 |
-
|
2248 |
-
add_action( 'groups_custom_edit_steps', array( &$this, 'call_edit_screen' ) );
|
2249 |
-
|
2250 |
-
// Determine the proper template and save for later
|
2251 |
-
// loading
|
2252 |
-
if ( '' !== bp_locate_template( array( 'groups/single/home.php' ), false ) ) {
|
2253 |
-
$this->edit_screen_template = '/groups/single/home';
|
2254 |
-
} else {
|
2255 |
-
add_action( 'bp_template_content_header', create_function( '', 'echo "<ul class=\"content-header-nav\">"; bp_group_admin_tabs(); echo "</ul>";' ) );
|
2256 |
-
add_action( 'bp_template_content', array( &$this, 'call_edit_screen' ) );
|
2257 |
-
$this->edit_screen_template = '/groups/single/plugins';
|
2258 |
-
}
|
2259 |
-
|
2260 |
-
// We load the template at bp_screens, to give all
|
2261 |
-
// extensions a chance to load
|
2262 |
-
add_action( 'bp_screens', array( $this, 'call_edit_screen_template_loader' ) );
|
2263 |
-
}
|
2264 |
-
}
|
2265 |
-
|
2266 |
-
/**
|
2267 |
-
* Call the edit_screen() method
|
2268 |
-
*
|
2269 |
-
* Previous versions of BP_Group_Extension required plugins to provide
|
2270 |
-
* their own Submit button and nonce fields when building markup. In
|
2271 |
-
* BP 1.8, this requirement was lifted - BP_Group_Extension now handles
|
2272 |
-
* all required submit buttons and nonces.
|
2273 |
-
*
|
2274 |
-
* We put the edit screen markup into an output buffer before echoing.
|
2275 |
-
* This is so that we can check for the presence of a hardcoded submit
|
2276 |
-
* button, as would be present in legacy plugins; if one is found, we
|
2277 |
-
* do not auto-add our own button.
|
2278 |
-
*
|
2279 |
-
* @since BuddyPress (1.8)
|
2280 |
-
*/
|
2281 |
-
public function call_edit_screen() {
|
2282 |
-
ob_start();
|
2283 |
-
call_user_func( $this->screens['edit']['screen_callback'], $this->group_id );
|
2284 |
-
$screen = ob_get_contents();
|
2285 |
-
ob_end_clean();
|
2286 |
-
|
2287 |
-
echo $this->maybe_add_submit_button( $screen );
|
2288 |
-
|
2289 |
-
$this->nonce_field( 'edit' );
|
2290 |
-
}
|
2291 |
-
|
2292 |
-
/**
|
2293 |
-
* Check the nonce, and call the edit_screen_save() method
|
2294 |
-
*
|
2295 |
-
* @since BuddyPress (1.8)
|
2296 |
-
*/
|
2297 |
-
public function call_edit_screen_save() {
|
2298 |
-
if ( empty( $_POST ) ) {
|
2299 |
-
return;
|
2300 |
-
}
|
2301 |
-
|
2302 |
-
$this->check_nonce( 'edit' );
|
2303 |
-
call_user_func( $this->screens['edit']['screen_save_callback'], $this->group_id );
|
2304 |
-
}
|
2305 |
-
|
2306 |
-
/**
|
2307 |
-
* Load the template that houses the Edit screen
|
2308 |
-
*
|
2309 |
-
* Separated out into a callback so that it can run after all other
|
2310 |
-
* Group Extensions have had a chance to register their navigation, to
|
2311 |
-
* avoid missing tabs.
|
2312 |
-
*
|
2313 |
-
* Hooked to 'bp_screens'.
|
2314 |
-
*
|
2315 |
-
* @see BP_Group_Extension::setup_edit_hooks()
|
2316 |
-
* @access public So that do_action() has access. Do not call directly.
|
2317 |
-
* @since BuddyPress (1.8)
|
2318 |
-
*/
|
2319 |
-
public function call_edit_screen_template_loader() {
|
2320 |
-
bp_core_load_template( $this->edit_screen_template );
|
2321 |
-
}
|
2322 |
-
|
2323 |
-
/**
|
2324 |
-
* Add a submit button to the edit form, if it needs one
|
2325 |
-
*
|
2326 |
-
* There's an inconsistency in the way that the group Edit and Create
|
2327 |
-
* screens are rendered: the Create screen has a submit button built
|
2328 |
-
* in, but the Edit screen does not. This function allows plugin
|
2329 |
-
* authors to write markup that does not contain the submit button for
|
2330 |
-
* use on both the Create and Edit screens - BP will provide the button
|
2331 |
-
* if one is not found.
|
2332 |
-
*
|
2333 |
-
* @since BuddyPress (1.8)
|
2334 |
-
* @param string $screen The screen markup, captured in the output buffer
|
2335 |
-
* @param string $screen The same markup, with a submit button added
|
2336 |
-
*/
|
2337 |
-
protected function maybe_add_submit_button( $screen = '' ) {
|
2338 |
-
if ( $this->has_submit_button( $screen ) ) {
|
2339 |
-
return $screen;
|
2340 |
-
}
|
2341 |
-
|
2342 |
-
return $screen . sprintf(
|
2343 |
-
'<div id="%s"><input type="submit" name="save" value="%s" id="%s"></div>',
|
2344 |
-
'bp-group-edit-' . $this->slug . '-submit-wrapper',
|
2345 |
-
$this->screens['edit']['submit_text'],
|
2346 |
-
'bp-group-edit-' . $this->slug . '-submit'
|
2347 |
-
);
|
2348 |
-
}
|
2349 |
-
|
2350 |
-
/**
|
2351 |
-
* Does the given markup have a submit button?
|
2352 |
-
*
|
2353 |
-
* @since BuddyPress (1.8)
|
2354 |
-
* @param string $screen The markup to check
|
2355 |
-
* @return bool
|
2356 |
-
*/
|
2357 |
-
public static function has_submit_button( $screen = '' ) {
|
2358 |
-
$pattern = "/<input[^>]+type=[\'\"]submit[\'\"]/";
|
2359 |
-
preg_match( $pattern, $screen, $matches );
|
2360 |
-
return ! empty( $matches[0] );
|
2361 |
-
}
|
2362 |
-
|
2363 |
-
/** Admin *****************************************************************/
|
2364 |
-
|
2365 |
-
/**
|
2366 |
-
* Hook this extension's Admin metabox into BuddyPress, if necessary
|
2367 |
-
*
|
2368 |
-
* @since BuddyPress (1.8)
|
2369 |
-
*/
|
2370 |
-
protected function setup_admin_hooks() {
|
2371 |
-
if ( ! $this->is_screen_enabled( 'admin' ) || ! is_admin() ) {
|
2372 |
-
return;
|
2373 |
-
}
|
2374 |
-
|
2375 |
-
// Hook the admin screen markup function to the content hook
|
2376 |
-
add_action( 'bp_groups_admin_meta_box_content_' . $this->slug, array( $this, 'call_admin_screen' ) );
|
2377 |
-
|
2378 |
-
// Initialize the metabox
|
2379 |
-
add_action( 'bp_groups_admin_meta_boxes', array( $this, '_meta_box_display_callback' ) );
|
2380 |
-
|
2381 |
-
// Catch the metabox save
|
2382 |
-
add_action( 'bp_group_admin_edit_after', array( $this, 'call_admin_screen_save' ), 10 );
|
2383 |
-
}
|
2384 |
-
|
2385 |
-
/**
|
2386 |
-
* Call the admin_screen() method, and add a nonce field
|
2387 |
-
*
|
2388 |
-
* @since BuddyPress (1.8)
|
2389 |
-
*/
|
2390 |
-
public function call_admin_screen() {
|
2391 |
-
call_user_func( $this->screens['admin']['screen_callback'], $this->group_id );
|
2392 |
-
$this->nonce_field( 'admin' );
|
2393 |
-
}
|
2394 |
-
|
2395 |
-
/**
|
2396 |
-
* Check the nonce, and call the admin_screen_save() method
|
2397 |
-
*
|
2398 |
-
* @since BuddyPress (1.8)
|
2399 |
-
*/
|
2400 |
-
public function call_admin_screen_save() {
|
2401 |
-
$this->check_nonce( 'admin' );
|
2402 |
-
call_user_func( $this->screens['admin']['screen_save_callback'], $this->group_id );
|
2403 |
-
}
|
2404 |
-
|
2405 |
-
/**
|
2406 |
-
* Create the Dashboard meta box for this extension
|
2407 |
-
*
|
2408 |
-
* @since BuddyPress (1.7)
|
2409 |
-
*/
|
2410 |
-
public function _meta_box_display_callback() {
|
2411 |
-
$group_id = isset( $_GET['gid'] ) ? (int) $_GET['gid'] : 0;
|
2412 |
-
$screen = $this->screens['admin'];
|
2413 |
|
2414 |
add_meta_box(
|
2415 |
-
$
|
2416 |
-
$
|
2417 |
create_function( '', 'do_action( "bp_groups_admin_meta_box_content_' . $this->slug . '", ' . $group_id . ' );' ),
|
2418 |
get_current_screen()->id,
|
2419 |
-
$
|
2420 |
-
$
|
2421 |
);
|
2422 |
}
|
2423 |
-
|
2424 |
-
|
2425 |
-
/** Utilities *************************************************************/
|
2426 |
-
|
2427 |
-
/**
|
2428 |
-
* Generate the nonce fields for a settings form
|
2429 |
-
*
|
2430 |
-
* The nonce field name (the second param passed to wp_nonce_field)
|
2431 |
-
* contains this extension's slug and is thus unique to this extension.
|
2432 |
-
* This is necessary because in some cases (namely, the Dashboard),
|
2433 |
-
* more than one extension may generate nonces on the same page, and we
|
2434 |
-
* must avoid name clashes.
|
2435 |
-
*
|
2436 |
-
* @since BuddyPress (1.8)
|
2437 |
-
* @uses wp_nonce_field()
|
2438 |
-
* @param string $context 'create', 'edit', 'admin'
|
2439 |
-
*/
|
2440 |
-
public function nonce_field( $context = '' ) {
|
2441 |
-
wp_nonce_field( 'bp_group_extension_' . $this->slug . '_' . $context, '_bp_group_' . $context . '_nonce_' . $this->slug );
|
2442 |
-
}
|
2443 |
-
|
2444 |
-
/**
|
2445 |
-
* Check the nonce on a submitted settings form
|
2446 |
-
*
|
2447 |
-
* @since BuddyPress (1.8)
|
2448 |
-
* @uses check_admin_referer()
|
2449 |
-
* @param string $context 'create', 'edit', 'admin'
|
2450 |
-
*/
|
2451 |
-
public function check_nonce( $context = '' ) {
|
2452 |
-
check_admin_referer( 'bp_group_extension_' . $this->slug . '_' . $context, '_bp_group_' . $context . '_nonce_' . $this->slug );
|
2453 |
-
}
|
2454 |
-
|
2455 |
-
/**
|
2456 |
-
* Is the specified screen enabled?
|
2457 |
-
*
|
2458 |
-
* To be enabled, a screen must both have the 'enabled' key set to true
|
2459 |
-
* (legacy: $this->enable_create_step, etc), and its screen_callback
|
2460 |
-
* must also exist and be callable.
|
2461 |
-
*
|
2462 |
-
* @since BuddyPress (1.8)
|
2463 |
-
* @param string $context 'create', 'edit', 'admin'
|
2464 |
-
* @return bool
|
2465 |
-
*/
|
2466 |
-
public function is_screen_enabled( $context = '' ) {
|
2467 |
-
$enabled = false;
|
2468 |
-
|
2469 |
-
if ( isset( $this->screens[ $context ] ) ) {
|
2470 |
-
$enabled = $this->screens[ $context ]['enabled'] && is_callable( $this->screens[ $context ]['screen_callback'] );
|
2471 |
-
}
|
2472 |
-
|
2473 |
-
return (bool) $enabled;
|
2474 |
-
}
|
2475 |
-
|
2476 |
-
/**
|
2477 |
-
* Get the appropriate screen callback for the specified context/type
|
2478 |
-
*
|
2479 |
-
* BP Group Extensions have three special "screen contexts": create,
|
2480 |
-
* admin, and edit. Each of these contexts has a corresponding
|
2481 |
-
* _screen() and _screen_save() method, which allow group extension
|
2482 |
-
* plugins to define different markup and logic for each context.
|
2483 |
-
*
|
2484 |
-
* BP also supports fallback settings_screen() and
|
2485 |
-
* settings_screen_save() methods, which can be used to define markup
|
2486 |
-
* and logic that is shared between context. For each context, you may
|
2487 |
-
* either provide context-specific methods, or you can let BP fall back
|
2488 |
-
* on the shared settings_* callbacks.
|
2489 |
-
*
|
2490 |
-
* For example, consider a BP_Group_Extension implementation that looks
|
2491 |
-
* like this:
|
2492 |
-
*
|
2493 |
-
* // ...
|
2494 |
-
* function create_screen( $group_id ) { ... }
|
2495 |
-
* function create_screen_save( $group_id ) { ... }
|
2496 |
-
* function settings_screen( $group_id ) { ... }
|
2497 |
-
* function settings_screen_save( $group_id ) { ... }
|
2498 |
-
* // ...
|
2499 |
-
*
|
2500 |
-
* BP_Group_Extension will use your create_* methods for the Create
|
2501 |
-
* steps, and will use your generic settings_* methods for the Edit
|
2502 |
-
* and Admin contexts. This schema allows plugin authors maximum
|
2503 |
-
* flexibility without having to repeat themselves.
|
2504 |
-
*
|
2505 |
-
* The get_screen_callback() method uses a ReflectionClass object to
|
2506 |
-
* determine whether your extension has provided a given callback.
|
2507 |
-
*
|
2508 |
-
* @since BuddyPress (1.8)
|
2509 |
-
* @param string $context 'create', 'edit', 'admin'
|
2510 |
-
* @param string $type 'screen', 'screen_save'
|
2511 |
-
* @return mixed A callable function handle
|
2512 |
-
*/
|
2513 |
-
public function get_screen_callback( $context = '', $type = 'screen' ) {
|
2514 |
-
$callback = '';
|
2515 |
-
|
2516 |
-
// Try the context-specific callback first
|
2517 |
-
$method = $context . '_' . $type;
|
2518 |
-
$rmethod = $this->class_reflection->getMethod( $method );
|
2519 |
-
if ( isset( $rmethod->class ) && $this->class_name === $rmethod->class ) {
|
2520 |
-
$callback = array( $this->class_name, $method );
|
2521 |
-
}
|
2522 |
-
|
2523 |
-
if ( empty( $callback ) ) {
|
2524 |
-
$fallback_method = 'settings_' . $type;
|
2525 |
-
$rfallback_method = $this->class_reflection->getMethod( $fallback_method );
|
2526 |
-
if ( isset( $rfallback_method->class ) && $this->class_name === $rfallback_method->class ) {
|
2527 |
-
$callback = array( $this->class_name, $fallback_method );
|
2528 |
-
}
|
2529 |
-
}
|
2530 |
-
|
2531 |
-
return $callback;
|
2532 |
-
}
|
2533 |
-
|
2534 |
-
/**
|
2535 |
-
* Recursive argument parsing
|
2536 |
-
*
|
2537 |
-
* This acts like a multi-dimensional version of wp_parse_args() (minus
|
2538 |
-
* the querystring parsing - you must pass arrays).
|
2539 |
-
*
|
2540 |
-
* Values from $a override those from $b; keys in $b that don't exist
|
2541 |
-
* in $a are passed through.
|
2542 |
-
*
|
2543 |
-
* This is different from array_merge_recursive(), both because of the
|
2544 |
-
* order of preference ($a overrides $b) and because of the fact that
|
2545 |
-
* array_merge_recursive() combines arrays deep in the tree, rather
|
2546 |
-
* than overwriting the b array with the a array.
|
2547 |
-
*
|
2548 |
-
* The implementation of this function is specific to the needs of
|
2549 |
-
* BP_Group_Extension, where we know that arrays will always be
|
2550 |
-
* associative, and that an argument under a given key in one array
|
2551 |
-
* will be matched by a value of identical depth in the other one. The
|
2552 |
-
* function is NOT designed for general use, and will probably result
|
2553 |
-
* in unexpected results when used with data in the wild. See, eg,
|
2554 |
-
* http://core.trac.wordpress.org/ticket/19888
|
2555 |
-
*
|
2556 |
-
* @since BuddyPress (1.8)
|
2557 |
-
* @arg array $a
|
2558 |
-
* @arg array $b
|
2559 |
-
* @return array
|
2560 |
-
*/
|
2561 |
-
public static function parse_args_r( &$a, $b ) {
|
2562 |
-
$a = (array) $a;
|
2563 |
-
$b = (array) $b;
|
2564 |
-
$r = $b;
|
2565 |
-
|
2566 |
-
foreach ( $a as $k => &$v ) {
|
2567 |
-
if ( is_array( $v ) && isset( $r[ $k ] ) ) {
|
2568 |
-
$r[ $k ] = self::parse_args_r( $v, $r[ $k ] );
|
2569 |
-
} else {
|
2570 |
-
$r[ $k ] = $v;
|
2571 |
-
}
|
2572 |
-
}
|
2573 |
-
|
2574 |
-
return $r;
|
2575 |
-
}
|
2576 |
-
|
2577 |
-
/** Legacy Support ********************************************************/
|
2578 |
-
|
2579 |
-
/**
|
2580 |
-
* In BuddyPress 1.8, the recommended technique for configuring
|
2581 |
-
* extensions changed from directly setting various object properties
|
2582 |
-
* in the class constructor, to passing a configuration array to
|
2583 |
-
* parent::init(). The following methods ensure that extensions created
|
2584 |
-
* in the old way continue to work, by converting legacy configuration
|
2585 |
-
* data to the new format.
|
2586 |
-
*/
|
2587 |
-
|
2588 |
-
/**
|
2589 |
-
* Provide access to otherwise unavailable object properties
|
2590 |
-
*
|
2591 |
-
* This magic method is here for backward compatibility with plugins
|
2592 |
-
* that refer to config properties that have moved to a different
|
2593 |
-
* location (such as enable_create_step, which is now at
|
2594 |
-
* $this->screens['create']['enabled']
|
2595 |
-
*
|
2596 |
-
* The legacy_properties array is set up in
|
2597 |
-
* self::setup_legacy_properties().
|
2598 |
-
*
|
2599 |
-
* @since BuddyPress (1.8)
|
2600 |
-
* @param string $key
|
2601 |
-
* @return mixed
|
2602 |
-
*/
|
2603 |
-
public function __get( $key ) {
|
2604 |
-
if ( isset( $this->legacy_properties[ $key ] ) ) {
|
2605 |
-
return $this->legacy_properties[ $key ];
|
2606 |
-
} elseif ( isset( $this->data[ $key ] ) ) {
|
2607 |
-
return $this->data[ $key ];
|
2608 |
-
} else {
|
2609 |
-
return null;
|
2610 |
-
}
|
2611 |
-
}
|
2612 |
-
|
2613 |
-
/**
|
2614 |
-
* Provide a fallback for isset( $this->foo ) when foo is unavailable
|
2615 |
-
*
|
2616 |
-
* This magit method is here for backward compatibility with plugins
|
2617 |
-
* that have set their class config options directly in the class
|
2618 |
-
* constructor. The parse_legacy_properties() method of the current
|
2619 |
-
* class needs to check whether any legacy keys have been put into the
|
2620 |
-
* $this->data array.
|
2621 |
-
*
|
2622 |
-
* @since BuddyPress (1.8)
|
2623 |
-
* @param string $key
|
2624 |
-
* @return bool
|
2625 |
-
*/
|
2626 |
-
public function __isset( $key ) {
|
2627 |
-
if ( isset( $this->legacy_properties[ $key ] ) ) {
|
2628 |
-
return true;
|
2629 |
-
} elseif ( isset( $this->data[ $key ] ) ) {
|
2630 |
-
return true;
|
2631 |
-
} else {
|
2632 |
-
return false;
|
2633 |
-
}
|
2634 |
-
}
|
2635 |
-
|
2636 |
-
/**
|
2637 |
-
* Allow plugins to set otherwise unavailable object properties
|
2638 |
-
*
|
2639 |
-
* This magic method is here for backward compatibility with plugins
|
2640 |
-
* that may attempt to modify the group extension by manually assigning
|
2641 |
-
* a value to an object property that no longer exists, such as
|
2642 |
-
* $this->enable_create_step.
|
2643 |
-
*
|
2644 |
-
* @since BuddyPress (1.8)
|
2645 |
-
* @param string $key
|
2646 |
-
* @param mixed $value
|
2647 |
-
*/
|
2648 |
-
public function __set( $key, $value ) {
|
2649 |
-
|
2650 |
-
if ( empty( $this->initialized ) ) {
|
2651 |
-
$this->data[ $key ] = $value;
|
2652 |
-
}
|
2653 |
-
|
2654 |
-
switch ( $key ) {
|
2655 |
-
case 'enable_create_step' :
|
2656 |
-
$this->screens['create']['enabled'] = $value;
|
2657 |
-
break;
|
2658 |
-
|
2659 |
-
case 'enable_edit_item' :
|
2660 |
-
$this->screens['edit']['enabled'] = $value;
|
2661 |
-
break;
|
2662 |
-
|
2663 |
-
case 'enable_admin_item' :
|
2664 |
-
$this->screens['admin']['enabled'] = $value;
|
2665 |
-
break;
|
2666 |
-
|
2667 |
-
case 'create_step_position' :
|
2668 |
-
$this->screens['create']['position'] = $value;
|
2669 |
-
break;
|
2670 |
-
|
2671 |
-
// Note: 'admin' becomes 'edit' to distinguish from Dashboard 'admin'
|
2672 |
-
case 'admin_name' :
|
2673 |
-
$this->screens['edit']['name'] = $value;
|
2674 |
-
break;
|
2675 |
-
|
2676 |
-
case 'admin_slug' :
|
2677 |
-
$this->screens['edit']['slug'] = $value;
|
2678 |
-
break;
|
2679 |
-
|
2680 |
-
case 'create_name' :
|
2681 |
-
$this->screens['create']['name'] = $value;
|
2682 |
-
break;
|
2683 |
-
|
2684 |
-
case 'create_slug' :
|
2685 |
-
$this->screens['create']['slug'] = $value;
|
2686 |
-
break;
|
2687 |
-
|
2688 |
-
case 'admin_metabox_context' :
|
2689 |
-
$this->screens['admin']['metabox_context'] = $value;
|
2690 |
-
break;
|
2691 |
-
|
2692 |
-
case 'admin_metabox_priority' :
|
2693 |
-
$this->screens['admin']['metabox_priority'] = $value;
|
2694 |
-
break;
|
2695 |
-
|
2696 |
-
default :
|
2697 |
-
$this->data[ $key ] = $value;
|
2698 |
-
break;
|
2699 |
-
}
|
2700 |
-
}
|
2701 |
-
|
2702 |
-
/**
|
2703 |
-
* Returns a list of legacy properties
|
2704 |
-
*
|
2705 |
-
* The legacy implementation of BP_Group_Extension used all of these
|
2706 |
-
* object properties for configuration. Some have been moved.
|
2707 |
-
*
|
2708 |
-
* @since BuddyPress (1.8)
|
2709 |
-
* @return array
|
2710 |
-
*/
|
2711 |
-
protected function get_legacy_property_list() {
|
2712 |
-
return array(
|
2713 |
-
'name',
|
2714 |
-
'slug',
|
2715 |
-
'admin_name',
|
2716 |
-
'admin_slug',
|
2717 |
-
'create_name',
|
2718 |
-
'create_slug',
|
2719 |
-
'visibility',
|
2720 |
-
'create_step_position',
|
2721 |
-
'nav_item_position',
|
2722 |
-
'admin_metabox_context',
|
2723 |
-
'admin_metabox_priority',
|
2724 |
-
'enable_create_step',
|
2725 |
-
'enable_nav_item',
|
2726 |
-
'enable_edit_item',
|
2727 |
-
'enable_admin_item',
|
2728 |
-
'nav_item_name',
|
2729 |
-
'display_hook',
|
2730 |
-
'template_file',
|
2731 |
-
);
|
2732 |
-
}
|
2733 |
-
|
2734 |
-
/**
|
2735 |
-
* Parse legacy properties
|
2736 |
-
*
|
2737 |
-
* The old standard for BP_Group_Extension was for plugins to register
|
2738 |
-
* their settings as properties in their constructor. The new method is
|
2739 |
-
* to pass a config array to the init() method. In order to support
|
2740 |
-
* legacy plugins, we slurp up legacy properties, and later on we'll
|
2741 |
-
* parse them into the new init() array.
|
2742 |
-
*
|
2743 |
-
* @since BuddyPress (1.8)
|
2744 |
-
*/
|
2745 |
-
protected function parse_legacy_properties() {
|
2746 |
-
|
2747 |
-
// Only run this one time
|
2748 |
-
if ( ! empty( $this->legacy_properties_converted ) ) {
|
2749 |
-
return;
|
2750 |
-
}
|
2751 |
-
|
2752 |
-
$properties = $this->get_legacy_property_list();
|
2753 |
-
|
2754 |
-
// By-reference variable for convenience
|
2755 |
-
$lpc =& $this->legacy_properties_converted;
|
2756 |
-
|
2757 |
-
foreach ( $properties as $property ) {
|
2758 |
-
|
2759 |
-
// No legacy config exists for this key
|
2760 |
-
if ( ! isset( $this->{$property} ) ) {
|
2761 |
-
continue;
|
2762 |
-
}
|
2763 |
-
|
2764 |
-
// Grab the value and record it as appropriate
|
2765 |
-
$value = $this->{$property};
|
2766 |
-
|
2767 |
-
switch ( $property ) {
|
2768 |
-
case 'enable_create_step' :
|
2769 |
-
$lpc['screens']['create']['enabled'] = (bool) $value;
|
2770 |
-
break;
|
2771 |
-
|
2772 |
-
case 'enable_edit_item' :
|
2773 |
-
$lpc['screens']['edit']['enabled'] = (bool) $value;
|
2774 |
-
break;
|
2775 |
-
|
2776 |
-
case 'enable_admin_item' :
|
2777 |
-
$lpc['screens']['admin']['enabled'] = (bool) $value;
|
2778 |
-
break;
|
2779 |
-
|
2780 |
-
case 'create_step_position' :
|
2781 |
-
$lpc['screens']['create']['position'] = $value;
|
2782 |
-
break;
|
2783 |
-
|
2784 |
-
// Note: 'admin' becomes 'edit' to distinguish from Dashboard 'admin'
|
2785 |
-
case 'admin_name' :
|
2786 |
-
$lpc['screens']['edit']['name'] = $value;
|
2787 |
-
break;
|
2788 |
-
|
2789 |
-
case 'admin_slug' :
|
2790 |
-
$lpc['screens']['edit']['slug'] = $value;
|
2791 |
-
break;
|
2792 |
-
|
2793 |
-
case 'create_name' :
|
2794 |
-
$lpc['screens']['create']['name'] = $value;
|
2795 |
-
break;
|
2796 |
-
|
2797 |
-
case 'create_slug' :
|
2798 |
-
$lpc['screens']['create']['slug'] = $value;
|
2799 |
-
break;
|
2800 |
-
|
2801 |
-
case 'admin_metabox_context' :
|
2802 |
-
$lpc['screens']['admin']['metabox_context'] = $value;
|
2803 |
-
break;
|
2804 |
-
|
2805 |
-
case 'admin_metabox_priority' :
|
2806 |
-
$lpc['screens']['admin']['metabox_priority'] = $value;
|
2807 |
-
break;
|
2808 |
-
|
2809 |
-
default :
|
2810 |
-
$lpc[ $property ] = $value;
|
2811 |
-
break;
|
2812 |
-
}
|
2813 |
-
}
|
2814 |
-
}
|
2815 |
-
|
2816 |
-
/**
|
2817 |
-
* Set up legacy properties
|
2818 |
-
*
|
2819 |
-
* This method is responsible for ensuring that all legacy config
|
2820 |
-
* properties are stored in an array $this->legacy_properties, so that
|
2821 |
-
* they remain available to plugins that reference the variables at
|
2822 |
-
* their old locations.
|
2823 |
-
*
|
2824 |
-
* @see self::__get()
|
2825 |
-
*
|
2826 |
-
* @since BuddyPress (1.8)
|
2827 |
-
*/
|
2828 |
-
protected function setup_legacy_properties() {
|
2829 |
-
|
2830 |
-
// Only run this one time
|
2831 |
-
if ( ! empty( $this->legacy_properties ) ) {
|
2832 |
-
return;
|
2833 |
-
}
|
2834 |
-
|
2835 |
-
$properties = $this->get_legacy_property_list();
|
2836 |
-
$params = $this->params;
|
2837 |
-
$lp =& $this->legacy_properties;
|
2838 |
-
|
2839 |
-
foreach ( $properties as $property ) {
|
2840 |
-
switch ( $property ) {
|
2841 |
-
case 'enable_create_step' :
|
2842 |
-
$lp['enable_create_step'] = $params['screens']['create']['enabled'];
|
2843 |
-
break;
|
2844 |
-
|
2845 |
-
case 'enable_edit_item' :
|
2846 |
-
$lp['enable_edit_item'] = $params['screens']['edit']['enabled'];
|
2847 |
-
break;
|
2848 |
-
|
2849 |
-
case 'enable_admin_item' :
|
2850 |
-
$lp['enable_admin_item'] = $params['screens']['admin']['enabled'];
|
2851 |
-
break;
|
2852 |
-
|
2853 |
-
case 'create_step_position' :
|
2854 |
-
$lp['create_step_position'] = $params['screens']['create']['position'];
|
2855 |
-
break;
|
2856 |
-
|
2857 |
-
// Note: 'admin' becomes 'edit' to distinguish from Dashboard 'admin'
|
2858 |
-
case 'admin_name' :
|
2859 |
-
$lp['admin_name'] = $params['screens']['edit']['name'];
|
2860 |
-
break;
|
2861 |
-
|
2862 |
-
case 'admin_slug' :
|
2863 |
-
$lp['admin_slug'] = $params['screens']['edit']['slug'];
|
2864 |
-
break;
|
2865 |
-
|
2866 |
-
case 'create_name' :
|
2867 |
-
$lp['create_name'] = $params['screens']['create']['name'];
|
2868 |
-
break;
|
2869 |
-
|
2870 |
-
case 'create_slug' :
|
2871 |
-
$lp['create_slug'] = $params['screens']['create']['slug'];
|
2872 |
-
break;
|
2873 |
-
|
2874 |
-
case 'admin_metabox_context' :
|
2875 |
-
$lp['admin_metabox_context'] = $params['screens']['admin']['metabox_context'];
|
2876 |
-
break;
|
2877 |
-
|
2878 |
-
case 'admin_metabox_priority' :
|
2879 |
-
$lp['admin_metabox_priority'] = $params['screens']['admin']['metabox_priority'];
|
2880 |
-
break;
|
2881 |
-
|
2882 |
-
default :
|
2883 |
-
// All other items get moved over
|
2884 |
-
$lp[ $property ] = $params[ $property ];
|
2885 |
-
|
2886 |
-
// Also reapply to the object, for backpat
|
2887 |
-
$this->{$property} = $params[ $property ];
|
2888 |
-
|
2889 |
-
break;
|
2890 |
-
}
|
2891 |
-
}
|
2892 |
-
}
|
2893 |
}
|
2894 |
|
2895 |
-
function bp_register_group_extension( $group_extension_class
|
2896 |
|
2897 |
-
if ( !
|
2898 |
return false;
|
2899 |
-
}
|
2900 |
|
2901 |
// Register the group extension on the bp_init action so we have access
|
2902 |
// to all plugins.
|
91 |
else
|
92 |
$this->mods[] = $user;
|
93 |
}
|
|
|
|
|
94 |
}
|
95 |
}
|
96 |
|
332 |
}
|
333 |
|
334 |
$defaults = array(
|
335 |
+
'type' => 'newest',
|
|
|
|
|
336 |
'per_page' => null,
|
337 |
'page' => null,
|
338 |
'user_id' => 0,
|
339 |
'search_terms' => false,
|
|
|
340 |
'include' => false,
|
341 |
'populate_extras' => true,
|
342 |
'exclude' => false,
|
343 |
+
'show_hidden' => false
|
344 |
);
|
345 |
|
346 |
$r = wp_parse_args( $args, $defaults );
|
347 |
+
extract( $r );
|
348 |
|
349 |
$sql = array();
|
350 |
$total_sql = array();
|
352 |
$sql['select'] = "SELECT g.*, gm1.meta_value AS total_member_count, gm2.meta_value AS last_activity";
|
353 |
$sql['from'] = " FROM {$bp->groups->table_name_groupmeta} gm1, {$bp->groups->table_name_groupmeta} gm2,";
|
354 |
|
355 |
+
if ( !empty( $user_id ) )
|
356 |
$sql['members_from'] = " {$bp->groups->table_name_members} m,";
|
|
|
357 |
|
358 |
$sql['group_from'] = " {$bp->groups->table_name} g WHERE";
|
359 |
|
360 |
+
if ( !empty( $user_id ) )
|
361 |
$sql['user_where'] = " g.id = m.group_id AND";
|
|
|
362 |
|
363 |
$sql['where'] = " g.id = gm1.group_id AND g.id = gm2.group_id AND gm2.meta_key = 'last_activity' AND gm1.meta_key = 'total_member_count'";
|
364 |
|
365 |
+
if ( empty( $show_hidden ) )
|
366 |
$sql['hidden'] = " AND g.status != 'hidden'";
|
|
|
367 |
|
368 |
+
if ( !empty( $search_terms ) ) {
|
369 |
+
$search_terms = esc_sql( like_escape( $search_terms ) );
|
370 |
$sql['search'] = " AND ( g.name LIKE '%%{$search_terms}%%' OR g.description LIKE '%%{$search_terms}%%' )";
|
371 |
}
|
372 |
|
373 |
+
if ( !empty( $user_id ) )
|
374 |
+
$sql['user'] = $wpdb->prepare( " AND m.user_id = %d AND m.is_confirmed = 1 AND m.is_banned = 0", $user_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
|
376 |
+
if ( !empty( $include ) ) {
|
377 |
$include = wp_parse_id_list( $r['include'] );
|
378 |
$include = $wpdb->escape( implode( ',', $include ) );
|
379 |
$sql['include'] = " AND g.id IN ({$include})";
|
380 |
}
|
381 |
|
382 |
+
if ( !empty( $exclude ) ) {
|
383 |
$exclude = wp_parse_id_list( $r['exclude'] );
|
384 |
$exclude = $wpdb->escape( implode( ',', $exclude ) );
|
385 |
$sql['exclude'] = " AND g.id NOT IN ({$exclude})";
|
386 |
}
|
387 |
|
388 |
+
switch ( $type ) {
|
389 |
+
case 'newest': default:
|
390 |
+
$sql['order'] = " ORDER BY g.date_created DESC";
|
391 |
+
break;
|
392 |
+
case 'active':
|
393 |
+
$sql[] = "ORDER BY last_activity DESC";
|
394 |
+
break;
|
395 |
+
case 'popular':
|
396 |
+
$sql[] = "ORDER BY CONVERT(gm1.meta_value, SIGNED) DESC";
|
397 |
+
break;
|
398 |
+
case 'alphabetical':
|
399 |
+
$sql[] = "ORDER BY g.name ASC";
|
400 |
+
break;
|
401 |
+
case 'random':
|
402 |
+
$sql[] = "ORDER BY rand()";
|
403 |
+
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
}
|
405 |
|
406 |
+
if ( !empty( $per_page ) && !empty( $page ) )
|
407 |
+
$sql['pagination'] = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $per_page), intval( $per_page ) );
|
|
|
408 |
|
409 |
// Get paginated results
|
410 |
$paged_groups_sql = apply_filters( 'bp_groups_get_paged_groups_sql', join( ' ', (array) $sql ), $sql );
|
412 |
|
413 |
$total_sql['select'] = "SELECT COUNT(DISTINCT g.id) FROM {$bp->groups->table_name} g, {$bp->groups->table_name_members} gm1, {$bp->groups->table_name_groupmeta} gm2";
|
414 |
|
415 |
+
if ( !empty( $user_id ) )
|
416 |
$total_sql['select'] .= ", {$bp->groups->table_name_members} m";
|
|
|
417 |
|
418 |
+
if ( !empty( $sql['hidden'] ) )
|
419 |
$total_sql['where'][] = "g.status != 'hidden'";
|
|
|
420 |
|
421 |
+
if ( !empty( $sql['search'] ) )
|
422 |
$total_sql['where'][] = "( g.name LIKE '%%{$search_terms}%%' OR g.description LIKE '%%{$search_terms}%%' )";
|
|
|
423 |
|
424 |
+
if ( !empty( $user_id ) )
|
425 |
+
$total_sql['where'][] = "m.group_id = g.id AND m.user_id = {$user_id} AND m.is_confirmed = 1 AND m.is_banned = 0";
|
|
|
426 |
|
427 |
// Already escaped in the paginated results block
|
428 |
+
if ( ! empty( $include ) )
|
429 |
$total_sql['where'][] = "g.id IN ({$include})";
|
|
|
430 |
|
431 |
// Already escaped in the paginated results block
|
432 |
+
if ( ! empty( $exclude ) )
|
433 |
$total_sql['where'][] = "g.id NOT IN ({$exclude})";
|
|
|
434 |
|
435 |
$total_sql['where'][] = "g.id = gm1.group_id";
|
436 |
$total_sql['where'][] = "g.id = gm2.group_id";
|
438 |
|
439 |
$t_sql = $total_sql['select'];
|
440 |
|
441 |
+
if ( !empty( $total_sql['where'] ) )
|
442 |
$t_sql .= " WHERE " . join( ' AND ', (array) $total_sql['where'] );
|
|
|
443 |
|
444 |
// Get total group results
|
445 |
$total_groups_sql = apply_filters( 'bp_groups_get_total_groups_sql', $t_sql, $total_sql );
|
451 |
}
|
452 |
|
453 |
// Populate some extra information instead of querying each time in the loop
|
454 |
+
if ( !empty( $populate_extras ) ) {
|
455 |
$group_ids = $wpdb->escape( join( ',', (array) $group_ids ) );
|
456 |
+
$paged_groups = BP_Groups_Group::get_group_extras( $paged_groups, $group_ids, $type );
|
457 |
}
|
458 |
|
459 |
// Grab all groupmeta
|
464 |
return array( 'groups' => $paged_groups, 'total' => $total_groups );
|
465 |
}
|
466 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
467 |
function get_by_most_forum_topics( $limit = null, $page = null, $user_id = 0, $search_terms = false, $populate_extras = true, $exclude = false ) {
|
468 |
global $wpdb, $bp, $bbdb;
|
469 |
|
710 |
* @package BuddyPress
|
711 |
* @since BuddyPress (1.5)
|
712 |
*
|
713 |
+
* @param str $status 'public', 'private', 'hidden', 'all' Which group types to count
|
714 |
* @return int The topic count
|
715 |
*/
|
716 |
function get_global_topic_count( $status = 'public', $search_terms = false ) {
|
773 |
}
|
774 |
}
|
775 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
776 |
class BP_Groups_Member {
|
777 |
var $id;
|
778 |
var $group_id;
|
872 |
|
873 |
$this->id = $wpdb->insert_id;
|
874 |
|
|
|
|
|
|
|
|
|
|
|
|
|
875 |
do_action_ref_array( 'groups_member_after_save', array( &$this ) );
|
876 |
|
877 |
return true;
|
902 |
}
|
903 |
|
904 |
function ban() {
|
905 |
+
|
906 |
if ( !empty( $this->is_admin ) )
|
907 |
return false;
|
908 |
|
909 |
$this->is_mod = 0;
|
910 |
$this->is_banned = 1;
|
911 |
|
912 |
+
groups_update_groupmeta( $this->group_id, 'total_member_count', ( (int) groups_get_groupmeta( $this->group_id, 'total_member_count' ) - 1 ) );
|
913 |
+
|
914 |
+
$group_count = bp_get_user_meta( $this->user_id, 'total_group_count', true );
|
915 |
+
if ( !empty( $group_count ) )
|
916 |
+
bp_update_user_meta( $this->user_id, 'total_group_count', (int) $group_count - 1 );
|
917 |
+
|
918 |
return $this->save();
|
919 |
}
|
920 |
|
921 |
function unban() {
|
922 |
+
|
923 |
if ( !empty( $this->is_admin ) )
|
924 |
return false;
|
925 |
|
926 |
$this->is_banned = 0;
|
927 |
|
928 |
+
groups_update_groupmeta( $this->group_id, 'total_member_count', ( (int) groups_get_groupmeta( $this->group_id, 'total_member_count' ) + 1 ) );
|
929 |
+
bp_update_user_meta( $this->user_id, 'total_group_count', (int) bp_get_user_meta( $this->user_id, 'total_group_count', true ) + 1 );
|
930 |
+
|
931 |
return $this->save();
|
932 |
}
|
933 |
|
934 |
function accept_invite() {
|
935 |
+
|
936 |
$this->inviter_id = 0;
|
937 |
$this->is_confirmed = 1;
|
938 |
$this->date_modified = bp_core_current_time();
|
939 |
+
|
940 |
+
bp_update_user_meta( $this->user_id, 'total_group_count', (int) bp_get_user_meta( $this->user_id, 'total_group_count', true ) + 1 );
|
941 |
}
|
942 |
|
943 |
function accept_request() {
|
944 |
+
|
945 |
$this->is_confirmed = 1;
|
946 |
$this->date_modified = bp_core_current_time();
|
947 |
+
|
948 |
+
bp_update_user_meta( $this->user_id, 'total_group_count', (int) bp_get_user_meta( $this->user_id, 'total_group_count', true ) + 1 );
|
949 |
}
|
950 |
|
951 |
function remove() {
|
956 |
if ( !$result = $wpdb->query( $sql ) )
|
957 |
return false;
|
958 |
|
959 |
+
groups_update_groupmeta( $this->group_id, 'total_member_count', ( (int) groups_get_groupmeta( $this->group_id, 'total_member_count' ) - 1 ) );
|
|
|
960 |
|
961 |
+
$group_count = bp_get_user_meta( $this->user_id, 'total_group_count', true );
|
962 |
+
if ( !empty( $group_count ) )
|
963 |
+
bp_update_user_meta( $this->user_id, 'total_group_count', (int) $group_count - 1 );
|
964 |
|
965 |
return $result;
|
966 |
}
|
967 |
|
968 |
/** Static Methods ********************************************************/
|
969 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
970 |
function delete( $user_id, $group_id ) {
|
971 |
global $wpdb, $bp;
|
972 |
|
973 |
+
return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d", $user_id, $group_id ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
974 |
}
|
975 |
|
976 |
function get_group_ids( $user_id, $limit = false, $page = false ) {
|
1225 |
function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false ) {
|
1226 |
global $bp, $wpdb;
|
1227 |
|
|
|
|
|
1228 |
$pag_sql = '';
|
1229 |
if ( !empty( $limit ) && !empty( $page ) )
|
1230 |
$pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
1316 |
* API for creating group extensions without having to hardcode the content into
|
1317 |
* the theme.
|
1318 |
*
|
1319 |
+
* This class must be extended for each group extension and the following methods overridden:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1320 |
*
|
1321 |
+
* BP_Group_Extension::widget_display(), BP_Group_Extension::display(),
|
1322 |
+
* BP_Group_Extension::edit_screen_save(), BP_Group_Extension::edit_screen(),
|
1323 |
+
* BP_Group_Extension::create_screen_save(), BP_Group_Extension::create_screen()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1324 |
*
|
1325 |
* @package BuddyPress
|
1326 |
* @subpackage Groups
|
1327 |
* @since BuddyPress (1.1)
|
1328 |
*/
|
1329 |
class BP_Group_Extension {
|
1330 |
+
var $name = false;
|
1331 |
+
var $slug = false;
|
1332 |
|
1333 |
+
// The name/slug of the Group Admin tab for this extension
|
1334 |
+
var $admin_name = '';
|
1335 |
+
var $admin_slug = '';
|
|
|
|
|
|
|
|
|
1336 |
|
1337 |
+
// The name/slug of the Group Creation tab for this extension
|
1338 |
+
var $create_name = '';
|
1339 |
+
var $create_slug = '';
|
|
|
|
|
1340 |
|
1341 |
+
// Will this extension be visible to non-members of a group? Options: public/private
|
1342 |
+
var $visibility = 'public';
|
|
|
|
|
|
|
1343 |
|
1344 |
+
var $create_step_position = 81;
|
1345 |
+
var $nav_item_position = 81;
|
|
|
|
|
|
|
1346 |
|
1347 |
/**
|
1348 |
+
* @var string Context for the optional admin metabox
|
1349 |
+
* @see https://codex.wordpress.org/Function_Reference/add_meta_box for
|
1350 |
+
* possible values
|
1351 |
+
* @since BuddyPress (1.7)
|
1352 |
*/
|
1353 |
+
var $admin_metabox_context = 'normal';
|
1354 |
|
1355 |
/**
|
1356 |
+
* @var string Priority for the optional admin menabox
|
1357 |
+
* @see https://codex.wordpress.org/Function_Reference/add_meta_box for
|
1358 |
+
* possible values
|
1359 |
+
* @since BuddyPress (1.7)
|
1360 |
*/
|
1361 |
+
var $admin_metabox_priority = 'core';
|
1362 |
|
1363 |
+
var $enable_create_step = true;
|
1364 |
+
var $enable_nav_item = true;
|
1365 |
+
var $enable_edit_item = true;
|
1366 |
+
var $enable_admin_item = true;
|
1367 |
|
1368 |
+
var $nav_item_name = false;
|
|
|
|
|
|
|
|
|
1369 |
|
1370 |
+
var $display_hook = 'groups_custom_group_boxes';
|
1371 |
+
var $template_file = 'groups/single/plugins';
|
|
|
|
|
1372 |
|
1373 |
+
// Methods you should override
|
|
|
|
|
|
|
1374 |
|
1375 |
+
function display() {}
|
|
|
|
|
|
|
1376 |
|
1377 |
+
function widget_display() {}
|
|
|
|
|
|
|
|
|
1378 |
|
1379 |
+
function edit_screen() {}
|
|
|
|
|
|
|
|
|
1380 |
|
1381 |
+
function edit_screen_save() {}
|
1382 |
|
1383 |
+
function create_screen() {}
|
|
|
|
|
|
|
|
|
1384 |
|
1385 |
+
function create_screen_save() {}
|
|
|
|
|
|
|
|
|
1386 |
|
1387 |
+
// Private Methods
|
|
|
|
|
|
|
|
|
|
|
1388 |
|
1389 |
+
function _register() {
|
1390 |
+
global $bp;
|
|
|
|
|
|
|
1391 |
|
1392 |
+
// If admin/create names and slugs are not provided, they fall back on the main
|
1393 |
+
// name and slug for the extension
|
1394 |
+
if ( !$this->admin_name ) {
|
1395 |
+
$this->admin_name = $this->name;
|
1396 |
+
}
|
1397 |
|
1398 |
+
if ( !$this->admin_slug ) {
|
1399 |
+
$this->admin_slug = $this->slug;
|
1400 |
+
}
|
|
|
|
|
1401 |
|
1402 |
+
if ( !$this->create_name ) {
|
1403 |
+
$this->create_name = $this->name;
|
1404 |
+
}
|
1405 |
|
1406 |
+
if ( !$this->create_slug ) {
|
1407 |
+
$this->create_slug = $this->slug;
|
1408 |
+
}
|
1409 |
|
1410 |
+
if ( !empty( $this->enable_create_step ) ) {
|
1411 |
+
// Insert the group creation step for the new group extension
|
1412 |
+
$bp->groups->group_creation_steps[$this->create_slug] = array( 'name' => $this->create_name, 'slug' => $this->create_slug, 'position' => $this->create_step_position );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1413 |
|
1414 |
+
// Attach the group creation step display content action
|
1415 |
+
add_action( 'groups_custom_create_steps', array( &$this, 'create_screen' ) );
|
1416 |
|
1417 |
+
// Attach the group creation step save content action
|
1418 |
+
add_action( 'groups_create_group_step_save_' . $this->create_slug, array( &$this, 'create_screen_save' ) );
|
1419 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1420 |
|
1421 |
+
// When we are viewing a single group, add the group extension nav item
|
1422 |
+
if ( bp_is_group() ) {
|
1423 |
+
if ( $this->visibility == 'public' || ( $this->visibility != 'public' && $bp->groups->current_group->user_has_access ) ) {
|
1424 |
+
if ( $this->enable_nav_item ) {
|
1425 |
+
bp_core_new_subnav_item( array( 'name' => ( !$this->nav_item_name ) ? $this->name : $this->nav_item_name, 'slug' => $this->slug, 'parent_slug' => $bp->groups->current_group->slug, 'parent_url' => bp_get_group_permalink( $bp->groups->current_group ), 'position' => $this->nav_item_position, 'item_css_id' => 'nav-' . $this->slug, 'screen_function' => array( &$this, '_display_hook' ), 'user_has_access' => $this->enable_nav_item ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1426 |
|
1427 |
+
// When we are viewing the extension display page, set the title and options title
|
1428 |
+
if ( bp_is_current_action( $this->slug ) ) {
|
1429 |
+
add_action( 'bp_template_content_header', create_function( '', 'echo "' . esc_attr( $this->name ) . '";' ) );
|
1430 |
+
add_action( 'bp_template_title', create_function( '', 'echo "' . esc_attr( $this->name ) . '";' ) );
|
1431 |
+
}
|
1432 |
+
}
|
1433 |
|
1434 |
+
// Hook the group home widget
|
1435 |
+
if ( !bp_current_action() && bp_is_current_action( 'home' ) )
|
1436 |
+
add_action( $this->display_hook, array( &$this, 'widget_display' ) );
|
1437 |
+
}
|
1438 |
}
|
1439 |
|
1440 |
+
// Construct the admin edit tab for the new group extension
|
1441 |
+
if ( !empty( $this->enable_edit_item ) && bp_is_item_admin() ) {
|
1442 |
+
add_action( 'groups_admin_tabs', create_function( '$current, $group_slug', '$selected = ""; if ( "' . esc_attr( $this->admin_slug ) . '" == $current ) $selected = " class=\"current\""; echo "<li{$selected}><a href=\"' . trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/{$group_slug}/admin/' . esc_attr( $this->admin_slug ) ) . '\">' . esc_attr( $this->admin_name ) . '</a></li>";' ), 10, 2 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1443 |
|
1444 |
+
// Catch the edit screen and forward it to the plugin template
|
1445 |
+
if ( bp_is_groups_component() && bp_is_current_action( 'admin' ) && bp_is_action_variable( $this->admin_slug, 0 ) ) {
|
1446 |
+
// Check whether the user is saving changes
|
1447 |
+
$this->edit_screen_save();
|
1448 |
+
|
1449 |
+
add_action( 'groups_custom_edit_steps', array( &$this, 'edit_screen' ) );
|
1450 |
+
|
1451 |
+
if ( '' != bp_locate_template( array( 'groups/single/home.php' ), false ) ) {
|
1452 |
+
bp_core_load_template( apply_filters( 'groups_template_group_home', 'groups/single/home' ) );
|
1453 |
+
} else {
|
1454 |
+
add_action( 'bp_template_content_header', create_function( '', 'echo "<ul class=\"content-header-nav\">"; bp_group_admin_tabs(); echo "</ul>";' ) );
|
1455 |
+
add_action( 'bp_template_content', array( &$this, 'edit_screen' ) );
|
1456 |
+
bp_core_load_template( apply_filters( 'bp_core_template_plugin', '/groups/single/plugins' ) );
|
1457 |
+
}
|
1458 |
+
}
|
1459 |
}
|
1460 |
|
1461 |
+
// Construct the admin metabox
|
1462 |
+
// Plugin authors: Note that $this->enable_admin_item must be
|
1463 |
+
// set to true, and self::admin_screen() must be defined
|
1464 |
+
if ( ! empty( $this->enable_admin_item ) && is_admin() && method_exists( get_class( $this ), 'admin_screen' ) ) {
|
1465 |
+
// Hook the admin screen markup function to the content hook
|
1466 |
+
add_action( 'bp_groups_admin_meta_box_content_' . $this->slug, array( $this, 'admin_screen' ) );
|
1467 |
+
|
1468 |
+
// Initialize the metabox
|
1469 |
+
add_action( 'bp_groups_admin_meta_boxes', array( $this, '_meta_box_display_callback' ) );
|
1470 |
+
|
1471 |
+
// Catch the metabox save
|
1472 |
+
add_action( 'bp_group_admin_edit_after', array( $this, 'admin_screen_save' ), 10 );
|
1473 |
}
|
1474 |
}
|
1475 |
|
1476 |
+
function _display_hook() {
|
1477 |
+
add_action( 'bp_template_content', array( &$this, 'display' ) );
|
1478 |
+
bp_core_load_template( apply_filters( 'bp_core_template_plugin', $this->template_file ) );
|
1479 |
+
}
|
1480 |
+
|
1481 |
/**
|
1482 |
+
* Create the Dashboard meta box for this extension
|
|
|
|
|
|
|
|
|
|
|
1483 |
*
|
1484 |
+
* @since BuddyPress (1.7)
|
1485 |
*/
|
1486 |
+
function _meta_box_display_callback() {
|
1487 |
+
$group_id = isset( $_GET['gid'] ) ? (int) $_GET['gid'] : 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1488 |
|
1489 |
add_meta_box(
|
1490 |
+
$this->slug,
|
1491 |
+
$this->name,
|
1492 |
create_function( '', 'do_action( "bp_groups_admin_meta_box_content_' . $this->slug . '", ' . $group_id . ' );' ),
|
1493 |
get_current_screen()->id,
|
1494 |
+
$this->admin_metabox_context,
|
1495 |
+
$this->admin_metabox_priority
|
1496 |
);
|
1497 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1498 |
}
|
1499 |
|
1500 |
+
function bp_register_group_extension( $group_extension_class ) {
|
1501 |
|
1502 |
+
if ( !class_exists( $group_extension_class ) )
|
1503 |
return false;
|
|
|
1504 |
|
1505 |
// Register the group extension on the bp_init action so we have access
|
1506 |
// to all plugins.
|
bp-groups/bp-groups-forums.php
CHANGED
@@ -398,7 +398,7 @@ function groups_total_public_forum_topic_count( $type = 'newest' ) {
|
|
398 |
* @package BuddyPress
|
399 |
* @since BuddyPress (1.5)
|
400 |
*
|
401 |
-
* @param
|
402 |
* @return int The topic count
|
403 |
*/
|
404 |
function groups_total_forum_topic_count( $status = 'public', $search_terms = false ) {
|
398 |
* @package BuddyPress
|
399 |
* @since BuddyPress (1.5)
|
400 |
*
|
401 |
+
* @param str $status 'public', 'private', 'hidden', 'all' Which group types to count
|
402 |
* @return int The topic count
|
403 |
*/
|
404 |
function groups_total_forum_topic_count( $status = 'public', $search_terms = false ) {
|
bp-groups/bp-groups-functions.php
CHANGED
@@ -36,8 +36,8 @@ function bp_groups_has_directory() {
|
|
36 |
* of instantiating BP_Groups_Group directly, so that you will inherit cache
|
37 |
* support and pass through the groups_get_group filter.
|
38 |
*
|
39 |
-
* @param
|
40 |
-
* @return
|
41 |
*/
|
42 |
function groups_get_group( $args = '' ) {
|
43 |
$defaults = array(
|
@@ -123,8 +123,6 @@ function groups_create_group( $args = '' ) {
|
|
123 |
$member->date_modified = bp_core_current_time();
|
124 |
$member->save();
|
125 |
|
126 |
-
groups_update_groupmeta( $group->id, 'last_activity', bp_core_current_time() );
|
127 |
-
|
128 |
do_action( 'groups_create_group', $group->id, $member, $group );
|
129 |
|
130 |
} else {
|
@@ -298,6 +296,12 @@ function groups_leave_group( $group_id, $user_id = 0 ) {
|
|
298 |
if ( !groups_uninvite_user( $user_id, $group_id ) )
|
299 |
return false;
|
300 |
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
/**
|
302 |
* If the user joined this group less than five minutes ago, remove the
|
303 |
* joined_group activity so users cannot flood the activity stream by
|
@@ -357,6 +361,7 @@ function groups_join_group( $group_id, $user_id = 0 ) {
|
|
357 |
) );
|
358 |
|
359 |
// Modify group meta
|
|
|
360 |
groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() );
|
361 |
|
362 |
do_action( 'groups_join_group', $group_id, $user_id );
|
@@ -377,11 +382,7 @@ function groups_get_group_mods( $group_id ) {
|
|
377 |
/**
|
378 |
* Fetch the members of a group
|
379 |
*
|
380 |
-
*
|
381 |
-
* Previously called BP_Groups_Member::get_all_for_group().
|
382 |
-
*
|
383 |
-
* To use the legacy query, filter 'bp_use_legacy_group_member_query',
|
384 |
-
* returning true.
|
385 |
*
|
386 |
* @param int $group_id
|
387 |
* @param int $limit Maximum members to return
|
@@ -391,49 +392,8 @@ function groups_get_group_mods( $group_id ) {
|
|
391 |
* @param array|string $exclude Array or comma-sep list of users to exclude
|
392 |
* @return array Multi-d array of 'members' list and 'count'
|
393 |
*/
|
394 |
-
function groups_get_group_members( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false
|
395 |
-
|
396 |
-
// For legacy users. Use of BP_Groups_Member::get_all_for_group()
|
397 |
-
// is deprecated. func_get_args() can't be passed to a function in PHP
|
398 |
-
// 5.2.x, so we create a variable
|
399 |
-
$func_args = func_get_args();
|
400 |
-
if ( apply_filters( 'bp_use_legacy_group_member_query', false, __FUNCTION__, $func_args ) ) {
|
401 |
-
$retval = BP_Groups_Member::get_all_for_group( $group_id, $limit, $page, $exclude_admins_mods, $exclude_banned, $exclude );
|
402 |
-
} else {
|
403 |
-
|
404 |
-
// exclude_admins_mods and exclude_banned are legacy arguments.
|
405 |
-
// Convert to group_role
|
406 |
-
if ( empty( $group_role ) ) {
|
407 |
-
$group_role = array( 'member' );
|
408 |
-
|
409 |
-
if ( ! $exclude_admins_mods ) {
|
410 |
-
$group_role[] = 'mod';
|
411 |
-
$group_role[] = 'admin';
|
412 |
-
}
|
413 |
-
|
414 |
-
if ( ! $exclude_banned ) {
|
415 |
-
$group_role[] = 'banned';
|
416 |
-
}
|
417 |
-
}
|
418 |
-
|
419 |
-
// Perform the group member query (extends BP_User_Query)
|
420 |
-
$members = new BP_Group_Member_Query( array(
|
421 |
-
'group_id' => $group_id,
|
422 |
-
'per_page' => $limit,
|
423 |
-
'page' => $page,
|
424 |
-
'group_role' => $group_role,
|
425 |
-
'exclude' => $exclude,
|
426 |
-
'type' => 'last_modified',
|
427 |
-
) );
|
428 |
-
|
429 |
-
// Structure the return value as expected by the template functions
|
430 |
-
$retval = array(
|
431 |
-
'members' => array_values( $members->results ),
|
432 |
-
'count' => $members->total_users,
|
433 |
-
);
|
434 |
-
}
|
435 |
-
|
436 |
-
return $retval;
|
437 |
}
|
438 |
|
439 |
function groups_get_total_member_count( $group_id ) {
|
@@ -453,14 +413,11 @@ function groups_get_total_member_count( $group_id ) {
|
|
453 |
function groups_get_groups( $args = '' ) {
|
454 |
|
455 |
$defaults = array(
|
456 |
-
'type' =>
|
457 |
-
'order' => 'DESC', // 'ASC' or 'DESC'
|
458 |
-
'orderby' => 'date_created', // date_created, last_activity, total_member_count, name, random
|
459 |
'user_id' => false, // Pass a user_id to limit to only groups that this user is a member of
|
460 |
'include' => false, // Only include these specific groups (group_ids)
|
461 |
'exclude' => false, // Do not include these specific groups (group_ids)
|
462 |
'search_terms' => false, // Limit to groups that match these search terms
|
463 |
-
'meta_query' => false, // Filter by groupmeta. See WP_Meta_Query for syntax
|
464 |
'show_hidden' => false, // Show hidden groups to non-admins
|
465 |
'per_page' => 20, // The number of results to return per page
|
466 |
'page' => 1, // The page to return if limiting per page
|
@@ -475,13 +432,10 @@ function groups_get_groups( $args = '' ) {
|
|
475 |
'include' => $r['include'],
|
476 |
'exclude' => $r['exclude'],
|
477 |
'search_terms' => $r['search_terms'],
|
478 |
-
'meta_query' => $r['meta_query'],
|
479 |
'show_hidden' => $r['show_hidden'],
|
480 |
'per_page' => $r['per_page'],
|
481 |
'page' => $r['page'],
|
482 |
-
'populate_extras' => $r['populate_extras']
|
483 |
-
'order' => $r['order'],
|
484 |
-
'orderby' => $r['orderby'],
|
485 |
) );
|
486 |
|
487 |
return apply_filters_ref_array( 'groups_get_groups', array( &$groups, &$r ) );
|
@@ -523,7 +477,7 @@ function groups_total_groups_for_user( $user_id = 0 ) {
|
|
523 |
* @package BuddyPress
|
524 |
* @since BuddyPress (1.5)
|
525 |
*
|
526 |
-
* @return
|
527 |
*/
|
528 |
function groups_get_current_group() {
|
529 |
global $bp;
|
@@ -716,6 +670,7 @@ function groups_accept_invite( $user_id, $group_id ) {
|
|
716 |
$member->delete_request( $user_id, $group_id );
|
717 |
|
718 |
// Modify group meta
|
|
|
719 |
groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() );
|
720 |
|
721 |
bp_core_delete_notifications_by_item_id( $user_id, $group_id, $bp->groups->id, 'group_invite' );
|
@@ -781,7 +736,7 @@ function groups_get_invites_for_group( $user_id, $group_id ) {
|
|
781 |
*
|
782 |
* @param int $user_id Potential group member
|
783 |
* @param int $group_id Potential group
|
784 |
-
* @param
|
785 |
* @return bool Returns true if an invitation is found
|
786 |
*/
|
787 |
function groups_check_user_has_invite( $user_id, $group_id, $type = 'sent' ) {
|
@@ -913,6 +868,9 @@ function groups_accept_membership_request( $membership_id, $user_id = 0, $group_
|
|
913 |
if ( groups_check_user_has_invite( $membership->user_id, $membership->group_id ) )
|
914 |
groups_delete_invite( $membership->user_id, $membership->group_id );
|
915 |
|
|
|
|
|
|
|
916 |
// Record this in activity streams
|
917 |
$group = groups_get_group( array( 'group_id' => $membership->group_id ) );
|
918 |
|
36 |
* of instantiating BP_Groups_Group directly, so that you will inherit cache
|
37 |
* support and pass through the groups_get_group filter.
|
38 |
*
|
39 |
+
* @param $args The load_users parameter is deprecated and does nothing.
|
40 |
+
* @return obj $group The group object
|
41 |
*/
|
42 |
function groups_get_group( $args = '' ) {
|
43 |
$defaults = array(
|
123 |
$member->date_modified = bp_core_current_time();
|
124 |
$member->save();
|
125 |
|
|
|
|
|
126 |
do_action( 'groups_create_group', $group->id, $member, $group );
|
127 |
|
128 |
} else {
|
296 |
if ( !groups_uninvite_user( $user_id, $group_id ) )
|
297 |
return false;
|
298 |
|
299 |
+
// Modify group member count
|
300 |
+
groups_update_groupmeta( $group_id, 'total_member_count', (int) groups_get_groupmeta( $group_id, 'total_member_count') - 1 );
|
301 |
+
|
302 |
+
// Modify user's group memberhip count
|
303 |
+
bp_update_user_meta( $user_id, 'total_group_count', (int) bp_get_user_meta( $user_id, 'total_group_count', true ) - 1 );
|
304 |
+
|
305 |
/**
|
306 |
* If the user joined this group less than five minutes ago, remove the
|
307 |
* joined_group activity so users cannot flood the activity stream by
|
361 |
) );
|
362 |
|
363 |
// Modify group meta
|
364 |
+
groups_update_groupmeta( $group_id, 'total_member_count', (int) groups_get_groupmeta( $group_id, 'total_member_count') + 1 );
|
365 |
groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() );
|
366 |
|
367 |
do_action( 'groups_join_group', $group_id, $user_id );
|
382 |
/**
|
383 |
* Fetch the members of a group
|
384 |
*
|
385 |
+
* Procedural wrapper for BP_Groups_Member::get_all_for_group().
|
|
|
|
|
|
|
|
|
386 |
*
|
387 |
* @param int $group_id
|
388 |
* @param int $limit Maximum members to return
|
392 |
* @param array|string $exclude Array or comma-sep list of users to exclude
|
393 |
* @return array Multi-d array of 'members' list and 'count'
|
394 |
*/
|
395 |
+
function groups_get_group_members( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false ) {
|
396 |
+
return BP_Groups_Member::get_all_for_group( $group_id, $limit, $page, $exclude_admins_mods, $exclude_banned, $exclude );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
397 |
}
|
398 |
|
399 |
function groups_get_total_member_count( $group_id ) {
|
413 |
function groups_get_groups( $args = '' ) {
|
414 |
|
415 |
$defaults = array(
|
416 |
+
'type' => 'active', // active, newest, alphabetical, random, popular, most-forum-topics or most-forum-posts
|
|
|
|
|
417 |
'user_id' => false, // Pass a user_id to limit to only groups that this user is a member of
|
418 |
'include' => false, // Only include these specific groups (group_ids)
|
419 |
'exclude' => false, // Do not include these specific groups (group_ids)
|
420 |
'search_terms' => false, // Limit to groups that match these search terms
|
|
|
421 |
'show_hidden' => false, // Show hidden groups to non-admins
|
422 |
'per_page' => 20, // The number of results to return per page
|
423 |
'page' => 1, // The page to return if limiting per page
|
432 |
'include' => $r['include'],
|
433 |
'exclude' => $r['exclude'],
|
434 |
'search_terms' => $r['search_terms'],
|
|
|
435 |
'show_hidden' => $r['show_hidden'],
|
436 |
'per_page' => $r['per_page'],
|
437 |
'page' => $r['page'],
|
438 |
+
'populate_extras' => $r['populate_extras']
|
|
|
|
|
439 |
) );
|
440 |
|
441 |
return apply_filters_ref_array( 'groups_get_groups', array( &$groups, &$r ) );
|
477 |
* @package BuddyPress
|
478 |
* @since BuddyPress (1.5)
|
479 |
*
|
480 |
+
* @return obj The current group object
|
481 |
*/
|
482 |
function groups_get_current_group() {
|
483 |
global $bp;
|
670 |
$member->delete_request( $user_id, $group_id );
|
671 |
|
672 |
// Modify group meta
|
673 |
+
groups_update_groupmeta( $group_id, 'total_member_count', (int) groups_get_groupmeta( $group_id, 'total_member_count') + 1 );
|
674 |
groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() );
|
675 |
|
676 |
bp_core_delete_notifications_by_item_id( $user_id, $group_id, $bp->groups->id, 'group_invite' );
|
736 |
*
|
737 |
* @param int $user_id Potential group member
|
738 |
* @param int $group_id Potential group
|
739 |
+
* @param str $type Optional. Use 'sent' to check for sent invites, 'all' to check for all
|
740 |
* @return bool Returns true if an invitation is found
|
741 |
*/
|
742 |
function groups_check_user_has_invite( $user_id, $group_id, $type = 'sent' ) {
|
868 |
if ( groups_check_user_has_invite( $membership->user_id, $membership->group_id ) )
|
869 |
groups_delete_invite( $membership->user_id, $membership->group_id );
|
870 |
|
871 |
+
// Modify group member count
|
872 |
+
groups_update_groupmeta( $membership->group_id, 'total_member_count', (int) groups_get_groupmeta( $membership->group_id, 'total_member_count') + 1 );
|
873 |
+
|
874 |
// Record this in activity streams
|
875 |
$group = groups_get_group( array( 'group_id' => $membership->group_id ) );
|
876 |
|
bp-groups/bp-groups-loader.php
CHANGED
@@ -305,7 +305,7 @@ class BP_Groups_Component extends BP_Component {
|
|
305 |
) );
|
306 |
|
307 |
// If avatar uploads are not disabled, add avatar option
|
308 |
-
if ( !
|
309 |
$this->group_creation_steps['group-avatar'] = array(
|
310 |
'name' => __( 'Avatar', 'buddypress' ),
|
311 |
'position' => 20
|
@@ -545,16 +545,6 @@ class BP_Groups_Component extends BP_Component {
|
|
545 |
'title' => $pending,
|
546 |
'href' => trailingslashit( $groups_link . 'invites' )
|
547 |
);
|
548 |
-
|
549 |
-
// Create a Group
|
550 |
-
if ( bp_user_can_create_groups() ) {
|
551 |
-
$wp_admin_nav[] = array(
|
552 |
-
'parent' => 'my-account-' . $this->id,
|
553 |
-
'id' => 'my-account-' . $this->id . '-create',
|
554 |
-
'title' => __( 'Create a Group', 'buddypress' ),
|
555 |
-
'href' => trailingslashit( bp_get_groups_directory_permalink() . 'create' )
|
556 |
-
);
|
557 |
-
}
|
558 |
}
|
559 |
|
560 |
parent::setup_admin_bar( $wp_admin_nav );
|
305 |
) );
|
306 |
|
307 |
// If avatar uploads are not disabled, add avatar option
|
308 |
+
if ( !(int)bp_get_option( 'bp-disable-avatar-uploads' ) ) {
|
309 |
$this->group_creation_steps['group-avatar'] = array(
|
310 |
'name' => __( 'Avatar', 'buddypress' ),
|
311 |
'position' => 20
|
545 |
'title' => $pending,
|
546 |
'href' => trailingslashit( $groups_link . 'invites' )
|
547 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
548 |
}
|
549 |
|
550 |
parent::setup_admin_bar( $wp_admin_nav );
|
bp-groups/bp-groups-screens.php
CHANGED
@@ -466,7 +466,7 @@ function groups_screen_group_request_membership() {
|
|
466 |
|
467 |
if ( 'private' != $bp->groups->current_group->status )
|
468 |
return false;
|
469 |
-
|
470 |
// If the user has submitted a request, send it.
|
471 |
if ( isset( $_POST['group-request-send']) ) {
|
472 |
|
@@ -523,9 +523,7 @@ function groups_screen_group_admin_edit_details() {
|
|
523 |
if ( !check_admin_referer( 'groups_edit_group_details' ) )
|
524 |
return false;
|
525 |
|
526 |
-
|
527 |
-
|
528 |
-
if ( !groups_edit_base_group_details( $_POST['group-id'], $_POST['group-name'], $_POST['group-desc'], $group_notify_members ) ) {
|
529 |
bp_core_add_message( __( 'There was an error updating group details, please try again.', 'buddypress' ), 'error' );
|
530 |
} else {
|
531 |
bp_core_add_message( __( 'Group details were successfully updated.', 'buddypress' ) );
|
@@ -971,19 +969,16 @@ class BP_Groups_Theme_Compat {
|
|
971 |
|
972 |
do_action( 'groups_directory_groups_setup' );
|
973 |
|
974 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'directory_template_hierarchy' ) );
|
975 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
|
976 |
add_filter( 'bp_replace_the_content', array( $this, 'directory_content' ) );
|
977 |
|
978 |
// Creating a group
|
979 |
} elseif ( bp_is_groups_component() && bp_is_current_action( 'create' ) ) {
|
980 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'create_template_hierarchy' ) );
|
981 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'create_dummy_post' ) );
|
982 |
add_filter( 'bp_replace_the_content', array( $this, 'create_content' ) );
|
983 |
|
984 |
-
// Group
|
985 |
} elseif ( bp_is_single_item() ) {
|
986 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'single_template_hierarchy' ) );
|
987 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'single_dummy_post' ) );
|
988 |
add_filter( 'bp_replace_the_content', array( $this, 'single_content' ) );
|
989 |
|
@@ -992,29 +987,6 @@ class BP_Groups_Theme_Compat {
|
|
992 |
|
993 |
/** Directory *************************************************************/
|
994 |
|
995 |
-
/**
|
996 |
-
* Add template hierarchy to theme compat for the group directory page.
|
997 |
-
*
|
998 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
999 |
-
*
|
1000 |
-
* @since BuddyPress (1.8)
|
1001 |
-
*
|
1002 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
1003 |
-
* @return array $templates Array of custom templates to look for.
|
1004 |
-
*/
|
1005 |
-
public function directory_template_hierarchy( $templates ) {
|
1006 |
-
// Setup our templates based on priority
|
1007 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_groups_directory', array(
|
1008 |
-
'groups/index-directory.php'
|
1009 |
-
) );
|
1010 |
-
|
1011 |
-
// Merge new templates with existing stack
|
1012 |
-
// @see bp_get_theme_compat_templates()
|
1013 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
1014 |
-
|
1015 |
-
return $templates;
|
1016 |
-
}
|
1017 |
-
|
1018 |
/**
|
1019 |
* Update the global $post with directory data
|
1020 |
*
|
@@ -1053,29 +1025,6 @@ class BP_Groups_Theme_Compat {
|
|
1053 |
|
1054 |
/** Create ****************************************************************/
|
1055 |
|
1056 |
-
/**
|
1057 |
-
* Add custom template hierarchy to theme compat for the group create page.
|
1058 |
-
*
|
1059 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
1060 |
-
*
|
1061 |
-
* @since BuddyPress (1.8)
|
1062 |
-
*
|
1063 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
1064 |
-
* @return array $templates Array of custom templates to look for.
|
1065 |
-
*/
|
1066 |
-
public function create_template_hierarchy( $templates ) {
|
1067 |
-
// Setup our templates based on priority
|
1068 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_groups_create', array(
|
1069 |
-
'groups/index-create.php'
|
1070 |
-
) );
|
1071 |
-
|
1072 |
-
// Merge new templates with existing stack
|
1073 |
-
// @see bp_get_theme_compat_templates()
|
1074 |
-
$templates = array_merge( $new_templates, $templates );
|
1075 |
-
|
1076 |
-
return $templates;
|
1077 |
-
}
|
1078 |
-
|
1079 |
/**
|
1080 |
* Update the global $post with create screen data
|
1081 |
*
|
@@ -1114,36 +1063,6 @@ class BP_Groups_Theme_Compat {
|
|
1114 |
|
1115 |
/** Single ****************************************************************/
|
1116 |
|
1117 |
-
/**
|
1118 |
-
* Add custom template hierarchy to theme compat for group pages.
|
1119 |
-
*
|
1120 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
1121 |
-
*
|
1122 |
-
* @since BuddyPress (1.8)
|
1123 |
-
*
|
1124 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
1125 |
-
* @return array $templates Array of custom templates to look for.
|
1126 |
-
*/
|
1127 |
-
public function single_template_hierarchy( $templates ) {
|
1128 |
-
// Setup some variables we're going to reference in our custom templates
|
1129 |
-
$group = groups_get_current_group();
|
1130 |
-
|
1131 |
-
// Setup our templates based on priority
|
1132 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_groups_single_item', array(
|
1133 |
-
'groups/single/index-id-' . sanitize_file_name( bp_get_current_group_id() ) . '.php',
|
1134 |
-
'groups/single/index-slug-' . sanitize_file_name( bp_get_current_group_slug() ) . '.php',
|
1135 |
-
'groups/single/index-action-' . sanitize_file_name( bp_current_action() ) . '.php',
|
1136 |
-
'groups/single/index-status-' . sanitize_file_name( $group->status ) . '.php',
|
1137 |
-
'groups/single/index.php'
|
1138 |
-
) );
|
1139 |
-
|
1140 |
-
// Merge new templates with existing stack
|
1141 |
-
// @see bp_get_theme_compat_templates()
|
1142 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
1143 |
-
|
1144 |
-
return $templates;
|
1145 |
-
}
|
1146 |
-
|
1147 |
/**
|
1148 |
* Update the global $post with single group data
|
1149 |
*
|
466 |
|
467 |
if ( 'private' != $bp->groups->current_group->status )
|
468 |
return false;
|
469 |
+
|
470 |
// If the user has submitted a request, send it.
|
471 |
if ( isset( $_POST['group-request-send']) ) {
|
472 |
|
523 |
if ( !check_admin_referer( 'groups_edit_group_details' ) )
|
524 |
return false;
|
525 |
|
526 |
+
if ( !groups_edit_base_group_details( $_POST['group-id'], $_POST['group-name'], $_POST['group-desc'], (int) $_POST['group-notify-members'] ) ) {
|
|
|
|
|
527 |
bp_core_add_message( __( 'There was an error updating group details, please try again.', 'buddypress' ), 'error' );
|
528 |
} else {
|
529 |
bp_core_add_message( __( 'Group details were successfully updated.', 'buddypress' ) );
|
969 |
|
970 |
do_action( 'groups_directory_groups_setup' );
|
971 |
|
|
|
972 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
|
973 |
add_filter( 'bp_replace_the_content', array( $this, 'directory_content' ) );
|
974 |
|
975 |
// Creating a group
|
976 |
} elseif ( bp_is_groups_component() && bp_is_current_action( 'create' ) ) {
|
|
|
977 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'create_dummy_post' ) );
|
978 |
add_filter( 'bp_replace_the_content', array( $this, 'create_content' ) );
|
979 |
|
980 |
+
// Group admin
|
981 |
} elseif ( bp_is_single_item() ) {
|
|
|
982 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'single_dummy_post' ) );
|
983 |
add_filter( 'bp_replace_the_content', array( $this, 'single_content' ) );
|
984 |
|
987 |
|
988 |
/** Directory *************************************************************/
|
989 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
990 |
/**
|
991 |
* Update the global $post with directory data
|
992 |
*
|
1025 |
|
1026 |
/** Create ****************************************************************/
|
1027 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1028 |
/**
|
1029 |
* Update the global $post with create screen data
|
1030 |
*
|
1063 |
|
1064 |
/** Single ****************************************************************/
|
1065 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1066 |
/**
|
1067 |
* Update the global $post with single group data
|
1068 |
*
|
bp-groups/bp-groups-template.php
CHANGED
@@ -144,7 +144,6 @@ class BP_Groups_Template {
|
|
144 |
'include' => false,
|
145 |
'exclude' => false,
|
146 |
'search_terms' => '',
|
147 |
-
'meta_query' => false,
|
148 |
'populate_extras' => true
|
149 |
);
|
150 |
|
@@ -166,13 +165,10 @@ class BP_Groups_Template {
|
|
166 |
} else {
|
167 |
$this->groups = groups_get_groups( array(
|
168 |
'type' => $type,
|
169 |
-
'order' => $order,
|
170 |
-
'orderby' => $orderby,
|
171 |
'per_page' => $this->pag_num,
|
172 |
'page' => $this->pag_page,
|
173 |
'user_id' => $user_id,
|
174 |
'search_terms' => $search_terms,
|
175 |
-
'meta_query' => $meta_query,
|
176 |
'include' => $include,
|
177 |
'exclude' => $exclude,
|
178 |
'populate_extras' => $populate_extras,
|
@@ -268,17 +264,6 @@ class BP_Groups_Template {
|
|
268 |
}
|
269 |
}
|
270 |
|
271 |
-
/**
|
272 |
-
* Start the Groups Template Loop
|
273 |
-
*
|
274 |
-
* See the $defaults definition below for a description of parameters.
|
275 |
-
*
|
276 |
-
* Note that the 'type' parameter overrides 'order' and 'orderby'. See
|
277 |
-
* BP_Groups_Group::get() for more details.
|
278 |
-
*
|
279 |
-
* @param array $args
|
280 |
-
* @return bool True if there are groups to display that match the params
|
281 |
-
*/
|
282 |
function bp_has_groups( $args = '' ) {
|
283 |
global $groups_template, $bp;
|
284 |
|
@@ -288,7 +273,7 @@ function bp_has_groups( $args = '' ) {
|
|
288 |
* pass their parameters directly to the loop.
|
289 |
*/
|
290 |
$slug = false;
|
291 |
-
$type = '';
|
292 |
$user_id = 0;
|
293 |
$order = '';
|
294 |
|
@@ -297,7 +282,6 @@ function bp_has_groups( $args = '' ) {
|
|
297 |
$user_id = bp_displayed_user_id();
|
298 |
|
299 |
// Type
|
300 |
-
// @todo What is $order? At some point it was removed incompletely?
|
301 |
if ( bp_is_current_action( 'my-groups' ) ) {
|
302 |
if ( 'most-popular' == $order ) {
|
303 |
$type = 'popular';
|
@@ -312,9 +296,7 @@ function bp_has_groups( $args = '' ) {
|
|
312 |
}
|
313 |
|
314 |
$defaults = array(
|
315 |
-
'type' => $type,
|
316 |
-
'order' => 'DESC',
|
317 |
-
'orderby' => 'last_activity',
|
318 |
'page' => 1,
|
319 |
'per_page' => 20,
|
320 |
'max' => false,
|
@@ -325,11 +307,10 @@ function bp_has_groups( $args = '' ) {
|
|
325 |
'user_id' => $user_id, // Pass a user ID to limit to groups this user has joined
|
326 |
'slug' => $slug, // Pass a group slug to only return that group
|
327 |
'search_terms' => '', // Pass search terms to return only matching groups
|
328 |
-
'meta_query' => false, // Filter by groupmeta. See WP_Meta_Query for format
|
329 |
'include' => false, // Pass comma separated list or array of group ID's to return only these groups
|
330 |
'exclude' => false, // Pass comma separated list or array of group ID's to exclude these groups
|
331 |
|
332 |
-
'populate_extras' => true
|
333 |
);
|
334 |
|
335 |
$r = wp_parse_args( $args, $defaults );
|
@@ -345,8 +326,6 @@ function bp_has_groups( $args = '' ) {
|
|
345 |
|
346 |
$groups_template = new BP_Groups_Template( array(
|
347 |
'type' => $r['type'],
|
348 |
-
'order' => $r['order'],
|
349 |
-
'orderby' => $r['orderby'],
|
350 |
'page' => (int) $r['page'],
|
351 |
'per_page' => (int) $r['per_page'],
|
352 |
'max' => (int) $r['max'],
|
@@ -355,7 +334,6 @@ function bp_has_groups( $args = '' ) {
|
|
355 |
'user_id' => (int) $r['user_id'],
|
356 |
'slug' => $r['slug'],
|
357 |
'search_terms' => $r['search_terms'],
|
358 |
-
'meta_query' => $r['meta_query'],
|
359 |
'include' => $r['include'],
|
360 |
'exclude' => $r['exclude'],
|
361 |
'populate_extras' => (bool) $r['populate_extras']
|
@@ -673,30 +651,30 @@ function bp_group_date_created( $group = false ) {
|
|
673 |
|
674 |
return apply_filters( 'bp_get_group_date_created', bp_core_time_since( strtotime( $group->date_created ) ) );
|
675 |
}
|
676 |
-
|
677 |
function bp_group_creator_username( $group = false ) {
|
678 |
echo bp_get_group_creator_username( $group );
|
679 |
}
|
680 |
function bp_get_group_creator_username( $group = false ) {
|
681 |
global $groups_template;
|
682 |
-
|
683 |
if ( empty( $group ) )
|
684 |
$group =& $groups_template->group;
|
685 |
-
|
686 |
return apply_filters( 'bp_get_group_creator_username', bp_core_get_user_displayname( $group->creator_id ) );
|
687 |
-
}
|
688 |
|
689 |
function bp_group_creator_id( $group = false ) {
|
690 |
echo bp_get_group_creator_id( $group );
|
691 |
}
|
692 |
function bp_get_group_creator_id( $group = false ) {
|
693 |
global $groups_template;
|
694 |
-
|
695 |
if ( empty( $group ) )
|
696 |
$group =& $groups_template->group;
|
697 |
-
|
698 |
return apply_filters( 'bp_get_group_creator_id', $group->creator_id );
|
699 |
-
}
|
700 |
|
701 |
function bp_group_creator_permalink( $group = false ) {
|
702 |
echo bp_get_group_creator_permalink( $group );
|
@@ -708,14 +686,14 @@ function bp_group_creator_permalink( $group = false ) {
|
|
708 |
$group =& $groups_template->group;
|
709 |
|
710 |
return apply_filters( 'bp_get_group_creator_permalink', bp_core_get_user_domain( $group->creator_id ) );
|
711 |
-
}
|
712 |
|
713 |
function bp_is_group_creator( $group = false, $user_id = 0 ) {
|
714 |
global $groups_template;
|
715 |
-
|
716 |
if ( empty( $group ) )
|
717 |
$group =& $groups_template->group;
|
718 |
-
|
719 |
if ( empty( $user_id ) )
|
720 |
$user_id = bp_loggedin_user_id();
|
721 |
|
@@ -748,7 +726,7 @@ function bp_group_creator_avatar( $group = false, $args = array() ) {
|
|
748 |
return apply_filters( 'bp_get_group_creator_avatar', $avatar );
|
749 |
}
|
750 |
|
751 |
-
|
752 |
function bp_group_is_admin() {
|
753 |
return bp_is_item_admin();
|
754 |
}
|
@@ -811,8 +789,8 @@ function bp_group_list_mods( $group = false ) {
|
|
811 |
* @package BuddyPress
|
812 |
* @since BuddyPress (1.5)
|
813 |
*
|
814 |
-
* @param
|
815 |
-
* @param
|
816 |
* @return mixed $admin_ids A string or array of user_ids
|
817 |
*/
|
818 |
function bp_group_admin_ids( $group = false, $format = 'string' ) {
|
@@ -841,8 +819,8 @@ function bp_group_admin_ids( $group = false, $format = 'string' ) {
|
|
841 |
* @package BuddyPress
|
842 |
* @since BuddyPress (1.5)
|
843 |
*
|
844 |
-
* @param
|
845 |
-
* @param
|
846 |
* @return mixed $mod_ids A string or array of user_ids
|
847 |
*/
|
848 |
function bp_group_mod_ids( $group = false, $format = 'string' ) {
|
@@ -1081,8 +1059,8 @@ function bp_group_show_status_setting( $setting, $group = false ) {
|
|
1081 |
* @subpackage Groups Template
|
1082 |
* @since BuddyPress (1.5)
|
1083 |
*
|
1084 |
-
* @param
|
1085 |
-
* @param
|
1086 |
*/
|
1087 |
function bp_group_show_invite_status_setting( $setting, $group = false ) {
|
1088 |
$group_id = isset( $group->id ) ? $group->id : false;
|
@@ -1672,7 +1650,7 @@ function bp_has_friends_to_invite( $group = false ) {
|
|
1672 |
*
|
1673 |
* @since BuddyPress (1.2.7)
|
1674 |
*
|
1675 |
-
* @param
|
1676 |
* @uses bp_get_group_new_topic_button() Returns the 'New Topic' button
|
1677 |
*/
|
1678 |
function bp_group_new_topic_button( $group = false ) {
|
@@ -1683,13 +1661,13 @@ function bp_group_new_topic_button( $group = false ) {
|
|
1683 |
*
|
1684 |
* @since BuddyPress (1.2.7)
|
1685 |
*
|
1686 |
-
* @param
|
1687 |
* @uses is_user_logged_in() Is there a user logged in?
|
1688 |
* @uses bp_group_is_user_banned() Is the current user banned from the current group?
|
1689 |
* @uses bp_is_group_forum() Are we on a group forum page?
|
1690 |
* @uses bp_is_group_forum_topic() Are we on a group topic page?
|
1691 |
* @uses bp_get_button() Renders a button
|
1692 |
-
* @return
|
1693 |
*/
|
1694 |
function bp_get_group_new_topic_button( $group = false ) {
|
1695 |
global $groups_template;
|
@@ -1897,11 +1875,11 @@ class BP_Groups_Group_Members_Template {
|
|
1897 |
var $pag_links;
|
1898 |
var $total_group_count;
|
1899 |
|
1900 |
-
function __construct( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned, $exclude
|
1901 |
|
1902 |
$this->pag_page = isset( $_REQUEST['mlpage'] ) ? intval( $_REQUEST['mlpage'] ) : 1;
|
1903 |
$this->pag_num = isset( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : $per_page;
|
1904 |
-
$this->members =
|
1905 |
|
1906 |
if ( !$max || $max >= (int) $this->members['count'] )
|
1907 |
$this->total_member_count = (int) $this->members['count'];
|
@@ -1977,17 +1955,19 @@ class BP_Groups_Group_Members_Template {
|
|
1977 |
function bp_group_has_members( $args = '' ) {
|
1978 |
global $members_template;
|
1979 |
|
1980 |
-
$
|
1981 |
'group_id' => bp_get_current_group_id(),
|
1982 |
'per_page' => 20,
|
1983 |
'max' => false,
|
1984 |
'exclude' => false,
|
1985 |
'exclude_admins_mods' => 1,
|
1986 |
-
'exclude_banned' => 1
|
1987 |
-
|
1988 |
-
|
|
|
|
|
1989 |
|
1990 |
-
$members_template = new BP_Groups_Group_Members_Template( $
|
1991 |
return apply_filters( 'bp_group_has_members', $members_template->has_members(), $members_template );
|
1992 |
}
|
1993 |
|
@@ -2416,7 +2396,7 @@ function bp_groups_current_create_step() {
|
|
2416 |
* @since BuddyPress (1.6)
|
2417 |
*
|
2418 |
* @uses apply_filters() Filter bp_get_groups_current_create_step to modify
|
2419 |
-
* @return
|
2420 |
*/
|
2421 |
function bp_get_groups_current_create_step() {
|
2422 |
global $bp;
|
@@ -2582,7 +2562,7 @@ function bp_group_current_admin_tab() {
|
|
2582 |
* @since BuddyPress (1.6)
|
2583 |
*
|
2584 |
* @uses apply_filters() Filter bp_get_current_group_admin_tab to modify return value
|
2585 |
-
* @return
|
2586 |
*/
|
2587 |
function bp_get_group_current_admin_tab() {
|
2588 |
if ( bp_is_groups_component() && bp_is_current_action( 'admin' ) ) {
|
@@ -3040,7 +3020,7 @@ function bp_current_group_slug() {
|
|
3040 |
* @since BuddyPress (1.5)
|
3041 |
* @uses apply_filters() Filter bp_get_current_group_slug to modify this output
|
3042 |
*
|
3043 |
-
* @return
|
3044 |
*/
|
3045 |
function bp_get_current_group_slug() {
|
3046 |
$current_group = groups_get_current_group();
|
@@ -3065,7 +3045,7 @@ function bp_current_group_name() {
|
|
3065 |
* @since BuddyPress (1.5)
|
3066 |
* @uses apply_filters() Filter bp_get_current_group_name to modify this output
|
3067 |
*
|
3068 |
-
* @return
|
3069 |
*/
|
3070 |
function bp_get_current_group_name() {
|
3071 |
global $bp;
|
144 |
'include' => false,
|
145 |
'exclude' => false,
|
146 |
'search_terms' => '',
|
|
|
147 |
'populate_extras' => true
|
148 |
);
|
149 |
|
165 |
} else {
|
166 |
$this->groups = groups_get_groups( array(
|
167 |
'type' => $type,
|
|
|
|
|
168 |
'per_page' => $this->pag_num,
|
169 |
'page' => $this->pag_page,
|
170 |
'user_id' => $user_id,
|
171 |
'search_terms' => $search_terms,
|
|
|
172 |
'include' => $include,
|
173 |
'exclude' => $exclude,
|
174 |
'populate_extras' => $populate_extras,
|
264 |
}
|
265 |
}
|
266 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
function bp_has_groups( $args = '' ) {
|
268 |
global $groups_template, $bp;
|
269 |
|
273 |
* pass their parameters directly to the loop.
|
274 |
*/
|
275 |
$slug = false;
|
276 |
+
$type = 'active';
|
277 |
$user_id = 0;
|
278 |
$order = '';
|
279 |
|
282 |
$user_id = bp_displayed_user_id();
|
283 |
|
284 |
// Type
|
|
|
285 |
if ( bp_is_current_action( 'my-groups' ) ) {
|
286 |
if ( 'most-popular' == $order ) {
|
287 |
$type = 'popular';
|
296 |
}
|
297 |
|
298 |
$defaults = array(
|
299 |
+
'type' => $type,
|
|
|
|
|
300 |
'page' => 1,
|
301 |
'per_page' => 20,
|
302 |
'max' => false,
|
307 |
'user_id' => $user_id, // Pass a user ID to limit to groups this user has joined
|
308 |
'slug' => $slug, // Pass a group slug to only return that group
|
309 |
'search_terms' => '', // Pass search terms to return only matching groups
|
|
|
310 |
'include' => false, // Pass comma separated list or array of group ID's to return only these groups
|
311 |
'exclude' => false, // Pass comma separated list or array of group ID's to exclude these groups
|
312 |
|
313 |
+
'populate_extras' => true // Get extra meta - is_member, is_banned
|
314 |
);
|
315 |
|
316 |
$r = wp_parse_args( $args, $defaults );
|
326 |
|
327 |
$groups_template = new BP_Groups_Template( array(
|
328 |
'type' => $r['type'],
|
|
|
|
|
329 |
'page' => (int) $r['page'],
|
330 |
'per_page' => (int) $r['per_page'],
|
331 |
'max' => (int) $r['max'],
|
334 |
'user_id' => (int) $r['user_id'],
|
335 |
'slug' => $r['slug'],
|
336 |
'search_terms' => $r['search_terms'],
|
|
|
337 |
'include' => $r['include'],
|
338 |
'exclude' => $r['exclude'],
|
339 |
'populate_extras' => (bool) $r['populate_extras']
|
651 |
|
652 |
return apply_filters( 'bp_get_group_date_created', bp_core_time_since( strtotime( $group->date_created ) ) );
|
653 |
}
|
654 |
+
|
655 |
function bp_group_creator_username( $group = false ) {
|
656 |
echo bp_get_group_creator_username( $group );
|
657 |
}
|
658 |
function bp_get_group_creator_username( $group = false ) {
|
659 |
global $groups_template;
|
660 |
+
|
661 |
if ( empty( $group ) )
|
662 |
$group =& $groups_template->group;
|
663 |
+
|
664 |
return apply_filters( 'bp_get_group_creator_username', bp_core_get_user_displayname( $group->creator_id ) );
|
665 |
+
}
|
666 |
|
667 |
function bp_group_creator_id( $group = false ) {
|
668 |
echo bp_get_group_creator_id( $group );
|
669 |
}
|
670 |
function bp_get_group_creator_id( $group = false ) {
|
671 |
global $groups_template;
|
672 |
+
|
673 |
if ( empty( $group ) )
|
674 |
$group =& $groups_template->group;
|
675 |
+
|
676 |
return apply_filters( 'bp_get_group_creator_id', $group->creator_id );
|
677 |
+
}
|
678 |
|
679 |
function bp_group_creator_permalink( $group = false ) {
|
680 |
echo bp_get_group_creator_permalink( $group );
|
686 |
$group =& $groups_template->group;
|
687 |
|
688 |
return apply_filters( 'bp_get_group_creator_permalink', bp_core_get_user_domain( $group->creator_id ) );
|
689 |
+
}
|
690 |
|
691 |
function bp_is_group_creator( $group = false, $user_id = 0 ) {
|
692 |
global $groups_template;
|
693 |
+
|
694 |
if ( empty( $group ) )
|
695 |
$group =& $groups_template->group;
|
696 |
+
|
697 |
if ( empty( $user_id ) )
|
698 |
$user_id = bp_loggedin_user_id();
|
699 |
|
726 |
return apply_filters( 'bp_get_group_creator_avatar', $avatar );
|
727 |
}
|
728 |
|
729 |
+
|
730 |
function bp_group_is_admin() {
|
731 |
return bp_is_item_admin();
|
732 |
}
|
789 |
* @package BuddyPress
|
790 |
* @since BuddyPress (1.5)
|
791 |
*
|
792 |
+
* @param obj $group (optional) The group being queried. Defaults to the current group in the loop
|
793 |
+
* @param str $format 'string' to get a comma-separated string, 'array' to get an array
|
794 |
* @return mixed $admin_ids A string or array of user_ids
|
795 |
*/
|
796 |
function bp_group_admin_ids( $group = false, $format = 'string' ) {
|
819 |
* @package BuddyPress
|
820 |
* @since BuddyPress (1.5)
|
821 |
*
|
822 |
+
* @param obj $group (optional) The group being queried. Defaults to the current group in the loop
|
823 |
+
* @param str $format 'string' to get a comma-separated string, 'array' to get an array
|
824 |
* @return mixed $mod_ids A string or array of user_ids
|
825 |
*/
|
826 |
function bp_group_mod_ids( $group = false, $format = 'string' ) {
|
1059 |
* @subpackage Groups Template
|
1060 |
* @since BuddyPress (1.5)
|
1061 |
*
|
1062 |
+
* @param str $setting The setting you want to check against ('members', 'mods', or 'admins')
|
1063 |
+
* @param obj $group (optional) The group whose status you want to check
|
1064 |
*/
|
1065 |
function bp_group_show_invite_status_setting( $setting, $group = false ) {
|
1066 |
$group_id = isset( $group->id ) ? $group->id : false;
|
1650 |
*
|
1651 |
* @since BuddyPress (1.2.7)
|
1652 |
*
|
1653 |
+
* @param obj|bool $group The BP Groups_Group object if passed, boolean false if not passed.
|
1654 |
* @uses bp_get_group_new_topic_button() Returns the 'New Topic' button
|
1655 |
*/
|
1656 |
function bp_group_new_topic_button( $group = false ) {
|
1661 |
*
|
1662 |
* @since BuddyPress (1.2.7)
|
1663 |
*
|
1664 |
+
* @param obj|bool $group The BP Groups_Group object if passed, boolean false if not passed.
|
1665 |
* @uses is_user_logged_in() Is there a user logged in?
|
1666 |
* @uses bp_group_is_user_banned() Is the current user banned from the current group?
|
1667 |
* @uses bp_is_group_forum() Are we on a group forum page?
|
1668 |
* @uses bp_is_group_forum_topic() Are we on a group topic page?
|
1669 |
* @uses bp_get_button() Renders a button
|
1670 |
+
* @return HTML code for the button
|
1671 |
*/
|
1672 |
function bp_get_group_new_topic_button( $group = false ) {
|
1673 |
global $groups_template;
|
1875 |
var $pag_links;
|
1876 |
var $total_group_count;
|
1877 |
|
1878 |
+
function __construct( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned, $exclude ) {
|
1879 |
|
1880 |
$this->pag_page = isset( $_REQUEST['mlpage'] ) ? intval( $_REQUEST['mlpage'] ) : 1;
|
1881 |
$this->pag_num = isset( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : $per_page;
|
1882 |
+
$this->members = BP_Groups_Member::get_all_for_group( $group_id, $this->pag_num, $this->pag_page, $exclude_admins_mods, $exclude_banned, $exclude );
|
1883 |
|
1884 |
if ( !$max || $max >= (int) $this->members['count'] )
|
1885 |
$this->total_member_count = (int) $this->members['count'];
|
1955 |
function bp_group_has_members( $args = '' ) {
|
1956 |
global $members_template;
|
1957 |
|
1958 |
+
$defaults = array(
|
1959 |
'group_id' => bp_get_current_group_id(),
|
1960 |
'per_page' => 20,
|
1961 |
'max' => false,
|
1962 |
'exclude' => false,
|
1963 |
'exclude_admins_mods' => 1,
|
1964 |
+
'exclude_banned' => 1
|
1965 |
+
);
|
1966 |
+
|
1967 |
+
$r = wp_parse_args( $args, $defaults );
|
1968 |
+
extract( $r, EXTR_SKIP );
|
1969 |
|
1970 |
+
$members_template = new BP_Groups_Group_Members_Template( $group_id, $per_page, $max, (int) $exclude_admins_mods, (int) $exclude_banned, $exclude );
|
1971 |
return apply_filters( 'bp_group_has_members', $members_template->has_members(), $members_template );
|
1972 |
}
|
1973 |
|
2396 |
* @since BuddyPress (1.6)
|
2397 |
*
|
2398 |
* @uses apply_filters() Filter bp_get_groups_current_create_step to modify
|
2399 |
+
* @return str $current_create_step
|
2400 |
*/
|
2401 |
function bp_get_groups_current_create_step() {
|
2402 |
global $bp;
|
2562 |
* @since BuddyPress (1.6)
|
2563 |
*
|
2564 |
* @uses apply_filters() Filter bp_get_current_group_admin_tab to modify return value
|
2565 |
+
* @return str $tab The current tab's slug
|
2566 |
*/
|
2567 |
function bp_get_group_current_admin_tab() {
|
2568 |
if ( bp_is_groups_component() && bp_is_current_action( 'admin' ) ) {
|
3020 |
* @since BuddyPress (1.5)
|
3021 |
* @uses apply_filters() Filter bp_get_current_group_slug to modify this output
|
3022 |
*
|
3023 |
+
* @return str $current_group_slug The slug of the current group, if there is one
|
3024 |
*/
|
3025 |
function bp_get_current_group_slug() {
|
3026 |
$current_group = groups_get_current_group();
|
3045 |
* @since BuddyPress (1.5)
|
3046 |
* @uses apply_filters() Filter bp_get_current_group_name to modify this output
|
3047 |
*
|
3048 |
+
* @return str The name of the current group, if there is one
|
3049 |
*/
|
3050 |
function bp_get_current_group_name() {
|
3051 |
global $bp;
|
bp-groups/bp-groups-widgets.php
CHANGED
@@ -26,7 +26,7 @@ class BP_Groups_Widget extends WP_Widget {
|
|
26 |
function __construct() {
|
27 |
$widget_ops = array(
|
28 |
'description' => __( 'A dynamic list of recently active, popular, and newest groups', 'buddypress' ),
|
29 |
-
'classname' => 'widget_bp_groups_widget buddypress
|
30 |
);
|
31 |
parent::__construct( false, _x( '(BuddyPress) Groups', 'widget name', 'buddypress' ), $widget_ops );
|
32 |
|
@@ -47,19 +47,17 @@ class BP_Groups_Widget extends WP_Widget {
|
|
47 |
if ( empty( $instance['title'] ) )
|
48 |
$instance['title'] = __( 'Groups', 'buddypress' );
|
49 |
|
50 |
-
$title = apply_filters( 'widget_title', $instance['title'] );
|
51 |
-
|
52 |
echo $before_widget;
|
53 |
|
54 |
-
$title = !empty( $instance['link_title'] ) ? '<a href="' . trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() ) . '">' . $title . '</a>' : $title;
|
55 |
|
56 |
echo $before_title . $title . $after_title; ?>
|
57 |
|
58 |
<?php if ( bp_has_groups( 'user_id=' . $user_id . '&type=' . $instance['group_default'] . '&max=' . $instance['max_groups'] ) ) : ?>
|
59 |
<div class="item-options" id="groups-list-options">
|
60 |
-
<a href="<?php
|
61 |
-
<a href="<?php
|
62 |
-
<a href="<?php
|
63 |
</div>
|
64 |
|
65 |
<ul id="groups-list" class="item-list">
|
26 |
function __construct() {
|
27 |
$widget_ops = array(
|
28 |
'description' => __( 'A dynamic list of recently active, popular, and newest groups', 'buddypress' ),
|
29 |
+
'classname' => 'widget_bp_groups_widget buddypress',
|
30 |
);
|
31 |
parent::__construct( false, _x( '(BuddyPress) Groups', 'widget name', 'buddypress' ), $widget_ops );
|
32 |
|
47 |
if ( empty( $instance['title'] ) )
|
48 |
$instance['title'] = __( 'Groups', 'buddypress' );
|
49 |
|
|
|
|
|
50 |
echo $before_widget;
|
51 |
|
52 |
+
$title = !empty( $instance['link_title'] ) ? '<a href="' . trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() ) . '">' . $instance['title'] . '</a>' : $instance['title'];
|
53 |
|
54 |
echo $before_title . $title . $after_title; ?>
|
55 |
|
56 |
<?php if ( bp_has_groups( 'user_id=' . $user_id . '&type=' . $instance['group_default'] . '&max=' . $instance['max_groups'] ) ) : ?>
|
57 |
<div class="item-options" id="groups-list-options">
|
58 |
+
<a href="<?php echo site_url( bp_get_groups_root_slug() ); ?>" id="newest-groups"<?php if ( $instance['group_default'] == 'newest' ) : ?> class="selected"<?php endif; ?>><?php _e("Newest", 'buddypress') ?></a> |
|
59 |
+
<a href="<?php echo site_url( bp_get_groups_root_slug() ); ?>" id="recently-active-groups"<?php if ( $instance['group_default'] == 'active' ) : ?> class="selected"<?php endif; ?>><?php _e("Active", 'buddypress') ?></a> |
|
60 |
+
<a href="<?php echo site_url( bp_get_groups_root_slug() ); ?>" id="popular-groups" <?php if ( $instance['group_default'] == 'popular' ) : ?> class="selected"<?php endif; ?>><?php _e("Popular", 'buddypress') ?></a>
|
61 |
</div>
|
62 |
|
63 |
<ul id="groups-list" class="item-list">
|
bp-languages/buddypress.pot
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: BuddyPress \n"
|
6 |
"Report-Msgid-Bugs-To: http://wppolyglots.wordpress.com\n"
|
7 |
-
"POT-Creation-Date: 2013-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -12,129 +12,77 @@ msgstr ""
|
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
-
#: bp-activity/bp-activity-actions.php:
|
16 |
msgid "Activity deleted successfully"
|
17 |
msgstr ""
|
18 |
|
19 |
-
#: bp-activity/bp-activity-actions.php:
|
20 |
msgid "There was an error when deleting that activity"
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: bp-activity/bp-activity-actions.php:
|
24 |
msgid "The activity item has been marked as spam and is no longer visible."
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: bp-activity/bp-activity-actions.php:
|
28 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
29 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
30 |
msgid "Please enter some content to post."
|
31 |
msgstr ""
|
32 |
|
33 |
-
#: bp-activity/bp-activity-actions.php:
|
34 |
msgid "Update Posted!"
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: bp-activity/bp-activity-actions.php:
|
38 |
msgid "There was an error when posting your update, please try again."
|
39 |
msgstr ""
|
40 |
|
41 |
-
#: bp-activity/bp-activity-actions.php:
|
42 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
43 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
44 |
msgid "Please do not leave the comment area blank."
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: bp-activity/bp-activity-actions.php:
|
48 |
msgid "Reply Posted!"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: bp-activity/bp-activity-actions.php:
|
52 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
53 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
54 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
55 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
56 |
msgid "There was an error posting that reply, please try again."
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: bp-activity/bp-activity-actions.php:
|
60 |
msgid "Activity marked as favorite."
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: bp-activity/bp-activity-actions.php:
|
64 |
msgid "There was an error marking that activity as a favorite, please try again."
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: bp-activity/bp-activity-actions.php:
|
68 |
msgid "Activity removed as favorite."
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: bp-activity/bp-activity-actions.php:
|
72 |
msgid "There was an error removing that activity as a favorite, please try again."
|
73 |
msgstr ""
|
74 |
|
75 |
-
#. translators:
|
76 |
-
#. Activity"
|
77 |
-
|
78 |
-
#: bp-activity/bp-activity-actions.php:434
|
79 |
-
msgid "%s | Site Wide Activity"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: bp-activity/bp-activity-actions.php:437
|
83 |
-
msgid "Activity feed for the entire site."
|
84 |
-
msgstr ""
|
85 |
-
|
86 |
-
#. translators: Personal activity RSS title - "[Site Name] | [User Display
|
87 |
#. Name] | Activity"
|
88 |
-
#. translators: Group activity RSS title - "[Site Name] | [Group Name] |
|
89 |
-
#. Activity"
|
90 |
-
|
91 |
-
#: bp-activity/bp-activity-actions.php:465 bp-groups/bp-groups-actions.php:331
|
92 |
-
msgid "%1$s | %2$s | Activity"
|
93 |
-
msgstr ""
|
94 |
-
|
95 |
-
#: bp-activity/bp-activity-actions.php:468
|
96 |
-
msgid "Activity feed for %s."
|
97 |
-
msgstr ""
|
98 |
-
|
99 |
-
#. translators: Friends activity RSS title - "[Site Name] | [User Display Name]
|
100 |
-
#. | Friends Activity"
|
101 |
-
|
102 |
-
#: bp-activity/bp-activity-actions.php:499
|
103 |
-
msgid "%1$s | %2$s | Friends Activity"
|
104 |
-
msgstr ""
|
105 |
-
|
106 |
-
#: bp-activity/bp-activity-actions.php:502
|
107 |
-
msgid "Activity feed for %s's friends."
|
108 |
-
msgstr ""
|
109 |
-
|
110 |
-
#. translators: Member groups activity RSS title - "[Site Name] | [User Display
|
111 |
-
#. Name] | Groups Activity"
|
112 |
-
|
113 |
-
#: bp-activity/bp-activity-actions.php:537
|
114 |
-
msgid "%1$s | %2$s | Group Activity"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: bp-activity/bp-activity-actions.php:540
|
118 |
-
msgid "Public group activity feed of which %s is a member of."
|
119 |
-
msgstr ""
|
120 |
-
|
121 |
-
#. translators: User activity favorites RSS title - "[Site Name] | [User
|
122 |
-
#. Display Name] | Favorites"
|
123 |
-
|
124 |
-
#: bp-activity/bp-activity-actions.php:608
|
125 |
-
msgid "%1$s | %2$s | Favorites"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: bp-activity/bp-activity-actions.php:611
|
129 |
-
msgid "Activity feed of %s's favorites."
|
130 |
-
msgstr ""
|
131 |
|
132 |
#: bp-activity/bp-activity-admin.php:35 bp-activity/bp-activity-admin.php:36
|
133 |
#: bp-activity/bp-activity-admin.php:852 bp-activity/bp-activity-admin.php:1167
|
134 |
#: bp-activity/bp-activity-loader.php:118
|
135 |
-
#: bp-activity/bp-activity-loader.php:
|
136 |
-
#: bp-activity/bp-activity-screens.php:
|
137 |
-
#: bp-activity/bp-activity-screens.php:
|
|
|
|
|
138 |
msgid "Activity"
|
139 |
msgstr ""
|
140 |
|
@@ -147,10 +95,10 @@ msgid "ERROR: The item you are trying to reply to cannot be found, or it has bee
|
|
147 |
msgstr ""
|
148 |
|
149 |
#: bp-activity/bp-activity-admin.php:197 bp-activity/bp-activity-admin.php:244
|
150 |
-
#: bp-core/admin/bp-core-functions.php:
|
151 |
-
#: bp-core/admin/bp-core-functions.php:
|
152 |
-
#: bp-core/admin/bp-core-functions.php:
|
153 |
-
#: bp-core/admin/bp-core-functions.php:
|
154 |
#: bp-groups/bp-groups-admin.php:143
|
155 |
msgid "Overview"
|
156 |
msgstr ""
|
@@ -188,10 +136,10 @@ msgid "For information about when and how BuddyPress uses all of these settings,
|
|
188 |
msgstr ""
|
189 |
|
190 |
#: bp-activity/bp-activity-admin.php:216 bp-activity/bp-activity-admin.php:261
|
191 |
-
#: bp-core/admin/bp-core-functions.php:
|
192 |
-
#: bp-core/admin/bp-core-functions.php:
|
193 |
-
#: bp-core/admin/bp-core-functions.php:
|
194 |
-
#: bp-core/admin/bp-core-functions.php:
|
195 |
#: bp-groups/bp-groups-admin.php:159
|
196 |
msgid "For more information:"
|
197 |
msgstr ""
|
@@ -201,10 +149,10 @@ msgid "<a href=\"http://codex.buddypress.org/buddypress-site-administration/mana
|
|
201 |
msgstr ""
|
202 |
|
203 |
#: bp-activity/bp-activity-admin.php:218 bp-activity/bp-activity-admin.php:262
|
204 |
-
#: bp-core/admin/bp-core-functions.php:
|
205 |
-
#: bp-core/admin/bp-core-functions.php:
|
206 |
-
#: bp-core/admin/bp-core-functions.php:
|
207 |
-
#: bp-core/admin/bp-core-functions.php:
|
208 |
msgid "<a href=\"http://buddypress.org/support/\">Support Forums</a>"
|
209 |
msgstr ""
|
210 |
|
@@ -299,8 +247,8 @@ msgid "Submitted on: <strong>%1$s</strong>"
|
|
299 |
msgstr ""
|
300 |
|
301 |
#: bp-activity/bp-activity-admin.php:665 bp-activity/bp-activity-admin.php:1281
|
302 |
-
#: bp-forums/bp-forums-template.php:1270 bp-groups/bp-groups-admin.php:
|
303 |
-
#: bp-themes/bp-default/functions.php:
|
304 |
#: bp-xprofile/bp-xprofile-loader.php:185
|
305 |
#: bp-xprofile/bp-xprofile-loader.php:245
|
306 |
msgid "Edit"
|
@@ -374,7 +322,7 @@ msgstr ""
|
|
374 |
msgid "Activity related to ID #%s"
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: bp-activity/bp-activity-admin.php:856 bp-groups/bp-groups-admin.php:
|
378 |
msgid "Search results for “%s”"
|
379 |
msgstr ""
|
380 |
|
@@ -386,12 +334,12 @@ msgstr ""
|
|
386 |
msgid "Reply to Activity"
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: bp-activity/bp-activity-admin.php:884 bp-groups/bp-groups-admin.php:
|
390 |
#: bp-templates/bp-legacy/buddypress/activity/entry.php:102
|
391 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:116
|
392 |
#: bp-themes/bp-default/forums/index.php:134
|
393 |
#: bp-xprofile/bp-xprofile-classes.php:406
|
394 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
395 |
msgid "Cancel"
|
396 |
msgstr ""
|
397 |
|
@@ -407,7 +355,7 @@ msgstr ""
|
|
407 |
msgid "No activities found."
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: bp-activity/bp-activity-admin.php:1133 bp-groups/bp-groups-admin.php:
|
411 |
#: bp-messages/bp-messages-template.php:434
|
412 |
msgid "All"
|
413 |
msgstr ""
|
@@ -426,7 +374,7 @@ msgid "Not Spam"
|
|
426 |
msgstr ""
|
427 |
|
428 |
#: bp-activity/bp-activity-admin.php:1151
|
429 |
-
#: bp-activity/bp-activity-admin.php:1291 bp-groups/bp-groups-admin.php:
|
430 |
msgid "Delete Permanently"
|
431 |
msgstr ""
|
432 |
|
@@ -446,10 +394,6 @@ msgstr ""
|
|
446 |
msgid "Filter"
|
447 |
msgstr ""
|
448 |
|
449 |
-
#: bp-activity/bp-activity-admin.php:1227
|
450 |
-
msgid "Select activity item %1$d"
|
451 |
-
msgstr ""
|
452 |
-
|
453 |
#: bp-activity/bp-activity-admin.php:1291 bp-core/bp-core-cssjs.php:20
|
454 |
msgid "Are you sure?"
|
455 |
msgstr ""
|
@@ -520,62 +464,53 @@ msgid "<span>%1$s</span> — %2$s"
|
|
520 |
msgstr ""
|
521 |
|
522 |
#: bp-activity/bp-activity-classes.php:120
|
523 |
-
#: bp-activity/bp-activity-template.php:120 bp-groups/bp-groups-classes.php:
|
524 |
#: bp-groups/bp-groups-template.php:114
|
525 |
msgid "Arguments passed to %1$s should be in an associative array. See the inline documentation at %2$s for more details."
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: bp-activity/bp-activity-
|
529 |
-
msgid "RSS feed 'id' must be defined"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: bp-activity/bp-activity-classes.php:941
|
533 |
-
msgid "In reply to"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: bp-activity/bp-activity-filters.php:361
|
537 |
msgid "[Read more]"
|
538 |
msgstr ""
|
539 |
|
540 |
-
#: bp-activity/bp-activity-filters.php:
|
541 |
msgid "…"
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: bp-activity/bp-activity-functions.php:
|
545 |
msgid "@%s Mentions"
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: bp-activity/bp-activity-functions.php:
|
549 |
msgid "You have %1$d new mentions"
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: bp-activity/bp-activity-functions.php:
|
553 |
msgid "%1$s mentioned you"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: bp-activity/bp-activity-functions.php:
|
557 |
msgid "Posted a status update"
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: bp-activity/bp-activity-functions.php:
|
561 |
msgid "Replied to a status update"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: bp-activity/bp-activity-functions.php:
|
565 |
msgid "%s posted an update"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: bp-activity/bp-activity-functions.php:
|
569 |
-
#: tests/testcases/activity/class.BP_Activity_Activity.php:167
|
570 |
msgid "%s posted a new activity comment"
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: bp-activity/bp-activity-functions.php:
|
574 |
msgid "Thumbnail"
|
575 |
msgstr ""
|
576 |
|
577 |
#: bp-activity/bp-activity-loader.php:30
|
578 |
-
#: bp-core/admin/bp-core-components.php:
|
579 |
msgid "Activity Streams"
|
580 |
msgstr ""
|
581 |
|
@@ -584,65 +519,69 @@ msgid "Search Activity..."
|
|
584 |
msgstr ""
|
585 |
|
586 |
#: bp-activity/bp-activity-loader.php:144
|
587 |
-
#: bp-activity/bp-activity-loader.php:
|
588 |
msgid "Personal"
|
589 |
msgstr ""
|
590 |
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
#: bp-
|
|
|
|
|
|
|
|
|
595 |
msgid "Mentions"
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: bp-activity/bp-activity-loader.php:
|
599 |
-
#: bp-activity/bp-activity-loader.php:
|
600 |
msgid "Favorites"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: bp-activity/bp-activity-loader.php:
|
604 |
-
#: bp-activity/bp-activity-loader.php:
|
605 |
#: bp-friends/bp-friends-screens.php:83
|
606 |
msgid "Friends"
|
607 |
msgstr ""
|
608 |
|
609 |
-
#: bp-activity/bp-activity-loader.php:
|
610 |
-
#: bp-activity/bp-activity-loader.php:
|
611 |
#: bp-groups/bp-groups-activity.php:150 bp-groups/bp-groups-activity.php:186
|
612 |
#: bp-groups/bp-groups-activity.php:222 bp-groups/bp-groups-activity.php:258
|
613 |
#: bp-groups/bp-groups-admin.php:35 bp-groups/bp-groups-admin.php:36
|
614 |
-
#: bp-groups/bp-groups-admin.php:
|
615 |
-
#: bp-groups/bp-groups-screens.php:
|
616 |
-
#: bp-groups/bp-groups-screens.php:
|
617 |
-
#: bp-groups/bp-groups-screens.php:
|
618 |
-
#: bp-groups/bp-groups-widgets.php:
|
619 |
msgid "Groups"
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: bp-activity/bp-activity-loader.php:
|
623 |
msgid "Mentions <span class=\"count\">%s</span>"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: bp-activity/bp-activity-loader.php:
|
627 |
msgid "My Activity"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: bp-activity/bp-activity-loader.php:
|
631 |
-
#: bp-activity/bp-activity-template.php:
|
632 |
-
#: bp-activity/bp-activity-template.php:
|
633 |
-
#: bp-activity/bp-activity-template.php:
|
634 |
-
#: bp-forums/bp-forums-loader.php:
|
635 |
#: bp-forums/bp-forums-template.php:604 bp-forums/bp-forums-template.php:1200
|
636 |
-
#: bp-friends/bp-friends-loader.php:212 bp-groups/bp-groups-loader.php:
|
637 |
-
#: bp-groups/bp-groups-template.php:
|
638 |
-
#: bp-groups/bp-groups-template.php:
|
639 |
-
#: bp-groups/bp-groups-template.php:
|
640 |
-
#: bp-groups/bp-groups-template.php:
|
641 |
-
#: bp-groups/bp-groups-template.php:
|
642 |
#: bp-members/bp-members-buddybar.php:90 bp-members/bp-members-loader.php:198
|
643 |
-
#: bp-members/bp-members-template.php:
|
644 |
-
#: bp-members/bp-members-template.php:
|
645 |
-
#: bp-members/bp-members-template.php:
|
646 |
#: bp-messages/bp-messages-loader.php:264
|
647 |
#: bp-messages/bp-messages-template.php:326
|
648 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:185
|
@@ -727,72 +666,76 @@ msgstr ""
|
|
727 |
msgid "You do not have access to this activity."
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: bp-activity/bp-activity-screens.php:
|
731 |
-
#: bp-friends/bp-friends-screens.php:84 bp-groups/bp-groups-screens.php:
|
732 |
#: bp-messages/bp-messages-screens.php:169
|
|
|
733 |
#: bp-templates/bp-legacy/buddypress/members/register.php:223
|
|
|
734 |
#: bp-themes/bp-default/registration/register.php:228
|
735 |
msgid "Yes"
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: bp-activity/bp-activity-screens.php:
|
739 |
-
#: bp-friends/bp-friends-screens.php:85 bp-groups/bp-groups-screens.php:
|
740 |
#: bp-messages/bp-messages-screens.php:170
|
|
|
741 |
#: bp-templates/bp-legacy/buddypress/members/register.php:224
|
|
|
742 |
#: bp-themes/bp-default/registration/register.php:229
|
743 |
msgid "No"
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: bp-activity/bp-activity-screens.php:
|
747 |
msgid "A member mentions you in an update using \"@%s\""
|
748 |
msgstr ""
|
749 |
|
750 |
-
#: bp-activity/bp-activity-screens.php:
|
751 |
msgid "A member replies to an update or comment you've posted"
|
752 |
msgstr ""
|
753 |
|
754 |
-
#: bp-activity/bp-activity-screens.php:
|
755 |
msgid "Sitewide Activity"
|
756 |
msgstr ""
|
757 |
|
758 |
-
#: bp-activity/bp-activity-template.php:
|
759 |
msgctxt "Activity pagination previous text"
|
760 |
msgid "←"
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: bp-activity/bp-activity-template.php:
|
764 |
msgctxt "Activity pagination next text"
|
765 |
msgid "→"
|
766 |
msgstr ""
|
767 |
|
768 |
-
#: bp-activity/bp-activity-template.php:
|
769 |
msgid "Viewing item %1$s to %2$s (of %3$s items)"
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: bp-activity/bp-activity-template.php:
|
773 |
msgid "Profile picture"
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: bp-activity/bp-activity-template.php:
|
777 |
msgid "Group logo"
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: bp-activity/bp-activity-template.php:
|
781 |
-
#: bp-groups/bp-groups-template.php:
|
782 |
msgid "Group logo of %s"
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: bp-activity/bp-activity-template.php:
|
786 |
msgid "Profile picture of the author of the site %s"
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: bp-activity/bp-activity-template.php:
|
790 |
msgid "View Discussion"
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: bp-activity/bp-activity-template.php:
|
794 |
-
#: bp-forums/bp-forums-template.php:1271 bp-groups/bp-groups-admin.php:
|
795 |
-
#: bp-groups/bp-groups-admin.php:
|
796 |
#: bp-templates/bp-legacy/buddypress/activity/comment.php:43
|
797 |
#: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:51
|
798 |
#: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:24
|
@@ -803,38 +746,124 @@ msgstr ""
|
|
803 |
msgid "Delete"
|
804 |
msgstr ""
|
805 |
|
806 |
-
#: bp-activity/bp-activity-template.php:
|
807 |
#: bp-core/admin/bp-core-slugs.php:109 bp-core/admin/bp-core-slugs.php:172
|
808 |
-
#: bp-core/bp-core-loader.php:
|
809 |
-
#: bp-members/bp-members-template.php:
|
810 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
811 |
#: bp-themes/bp-default/activity/entry.php:37
|
812 |
-
#: bp-themes/bp-default/functions.php:
|
813 |
#: bp-xprofile/bp-xprofile-loader.php:175
|
814 |
#: bp-xprofile/bp-xprofile-loader.php:237
|
815 |
msgid "View"
|
816 |
msgstr ""
|
817 |
|
818 |
-
#: bp-activity/bp-activity-template.php:
|
819 |
msgid "Clear Filter"
|
820 |
msgstr ""
|
821 |
|
822 |
-
#: bp-activity/bp-activity-template.php:
|
823 |
msgid "a user"
|
824 |
msgstr ""
|
825 |
|
826 |
-
#: bp-activity/bp-activity-template.php:
|
827 |
msgid "Send a public message on your activity stream."
|
828 |
msgstr ""
|
829 |
|
830 |
-
#: bp-activity/bp-activity-template.php:
|
831 |
msgid "Public Message"
|
832 |
msgstr ""
|
833 |
|
834 |
-
#: bp-activity/bp-activity-template.php:
|
835 |
msgid "Site Wide Activity RSS Feed"
|
836 |
msgstr ""
|
837 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
838 |
#: bp-blogs/bp-blogs-activity.php:31
|
839 |
msgid "New site created"
|
840 |
msgstr ""
|
@@ -848,23 +877,23 @@ msgid "New post comment posted"
|
|
848 |
msgstr ""
|
849 |
|
850 |
#: bp-blogs/bp-blogs-buddybar.php:43 bp-blogs/bp-blogs-loader.php:131
|
851 |
-
#: bp-blogs/bp-blogs-loader.php:179 bp-blogs/bp-blogs-loader.php:
|
852 |
msgid "My Sites"
|
853 |
msgstr ""
|
854 |
|
855 |
-
#: bp-blogs/bp-blogs-buddybar.php:55 bp-core/bp-core-buddybar.php:
|
856 |
msgid "Dashboard"
|
857 |
msgstr ""
|
858 |
|
859 |
-
#: bp-blogs/bp-blogs-buddybar.php:56 bp-core/bp-core-buddybar.php:
|
860 |
msgid "New Post"
|
861 |
msgstr ""
|
862 |
|
863 |
-
#: bp-blogs/bp-blogs-buddybar.php:57 bp-core/bp-core-buddybar.php:
|
864 |
msgid "Manage Posts"
|
865 |
msgstr ""
|
866 |
|
867 |
-
#: bp-blogs/bp-blogs-buddybar.php:58 bp-core/bp-core-buddybar.php:
|
868 |
msgid "Manage Comments"
|
869 |
msgstr ""
|
870 |
|
@@ -884,15 +913,15 @@ msgstr ""
|
|
884 |
msgid "%1$s wrote a new post, %2$s"
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: bp-blogs/bp-blogs-functions.php:
|
888 |
msgid "%1$s commented on the post, %2$s, on the site %3$s"
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: bp-blogs/bp-blogs-functions.php:
|
892 |
msgid "%1$s commented on the post, %2$s"
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: bp-blogs/bp-blogs-loader.php:25 bp-core/admin/bp-core-components.php:
|
896 |
msgid "Site Tracking"
|
897 |
msgstr ""
|
898 |
|
@@ -908,17 +937,16 @@ msgstr ""
|
|
908 |
msgid "Sites"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: bp-blogs/bp-blogs-
|
912 |
-
#: bp-blogs/bp-blogs-screens.php:
|
913 |
-
msgid "Create a Blog"
|
914 |
-
msgstr ""
|
915 |
-
|
916 |
-
#: bp-blogs/bp-blogs-screens.php:135 bp-blogs/bp-blogs-screens.php:137
|
917 |
-
#: bp-blogs/bp-blogs-screens.php:196 bp-blogs/bp-blogs-screens.php:198
|
918 |
#: bp-core/bp-core-template.php:249
|
919 |
msgid "Blogs"
|
920 |
msgstr ""
|
921 |
|
|
|
|
|
|
|
|
|
922 |
#: bp-blogs/bp-blogs-template.php:136
|
923 |
msgctxt "Blog pagination previous text"
|
924 |
msgid "←"
|
@@ -937,10 +965,10 @@ msgstr ""
|
|
937 |
msgid "Profile picture of site author %s"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: bp-blogs/bp-blogs-template.php:403 bp-core/bp-core-classes.php:
|
941 |
-
#: bp-groups/bp-groups-widgets.php:
|
942 |
-
#: bp-members/bp-members-template.php:
|
943 |
-
#: bp-members/bp-members-template.php:
|
944 |
#: bp-templates/bp-legacy/buddypress/groups/groups-loop.php:47
|
945 |
#: bp-templates/bp-legacy/buddypress/groups/single/group-header.php:42
|
946 |
#: bp-themes/bp-default/groups/groups-loop.php:47
|
@@ -1014,7 +1042,7 @@ msgstr ""
|
|
1014 |
msgid "<a href=\"%1$s\">%2$s</a> is your new site. <a href=\"%3$s\">Login</a> as \"%4$s\" using your existing password."
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: bp-blogs/bp-blogs-template.php:773 bp-core/bp-core-filters.php:
|
1018 |
#: bp-themes/bp-default/blogs/create.php:21
|
1019 |
#: bp-themes/bp-default/blogs/index.php:21
|
1020 |
msgid "Create a Site"
|
@@ -1032,50 +1060,33 @@ msgstr ""
|
|
1032 |
msgid "%s's Recent Comments"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: bp-blogs/bp-blogs-template.php:
|
1036 |
-
#: bp-forums/bp-forums-template.php:1321 bp-groups/bp-groups-template.php:
|
1037 |
-
#: bp-members/bp-members-template.php:
|
1038 |
#: bp-messages/bp-messages-template.php:367 bp-themes/bp-default/header.php:30
|
1039 |
#: bp-themes/bp-default/searchform.php:5
|
1040 |
msgid "Search"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: bp-blogs/bp-blogs-template.php:
|
1044 |
msgid "Visit Site"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: bp-blogs/bp-blogs-widgets.php:
|
1048 |
-
msgid "A list of recently published posts from across your network."
|
1049 |
-
msgstr ""
|
1050 |
-
|
1051 |
-
#: bp-blogs/bp-blogs-widgets.php:32
|
1052 |
msgctxt "widget name"
|
1053 |
msgid "(BuddyPress) Recent Networkwide Posts"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
-
#: bp-blogs/bp-blogs-widgets.php:
|
1057 |
-
msgid "Recent Networkwide Posts"
|
1058 |
-
msgstr ""
|
1059 |
-
|
1060 |
-
#: bp-blogs/bp-blogs-widgets.php:78
|
1061 |
msgid "Sorry, there were no posts found. Why not write one?"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
-
#: bp-blogs/bp-blogs-widgets.php:
|
1065 |
-
msgctxt "Label for the Title field of the Recent Networkwide Posts widget"
|
1066 |
-
msgid "Title:"
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: bp-blogs/bp-blogs-widgets.php:109
|
1070 |
-
msgid "Link widget title to Blogs directory"
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: bp-blogs/bp-blogs-widgets.php:110
|
1074 |
msgid "Max posts to show:"
|
1075 |
msgstr ""
|
1076 |
|
1077 |
#: bp-core/admin/bp-core-components.php:26
|
1078 |
-
#: bp-core/admin/bp-core-functions.php:
|
1079 |
msgid "Components"
|
1080 |
msgstr ""
|
1081 |
|
@@ -1085,13 +1096,13 @@ msgid "Save Settings"
|
|
1085 |
msgstr ""
|
1086 |
|
1087 |
#: bp-core/admin/bp-core-components.php:59
|
1088 |
-
#: bp-core/admin/bp-core-components.php:
|
1089 |
#: bp-xprofile/bp-xprofile-loader.php:41
|
1090 |
msgid "Extended Profiles"
|
1091 |
msgstr ""
|
1092 |
|
1093 |
#: bp-core/admin/bp-core-components.php:60
|
1094 |
-
#: bp-core/admin/bp-core-components.php:
|
1095 |
msgid "Customize your community with fully editable profile fields that allow your users to describe themselves."
|
1096 |
msgstr ""
|
1097 |
|
@@ -1144,81 +1155,81 @@ msgstr ""
|
|
1144 |
msgid "No components found."
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: bp-core/admin/bp-core-components.php:
|
1148 |
msgid "BuddyPress Core"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: bp-core/admin/bp-core-components.php:
|
1152 |
msgid "It‘s what makes <del>time travel</del> BuddyPress possible!"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: bp-core/admin/bp-core-components.php:
|
1156 |
msgid "Community Members"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: bp-core/admin/bp-core-components.php:
|
1160 |
msgid "Everything in a BuddyPress community revolves around its members."
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: bp-core/admin/bp-core-components.php:
|
1164 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:105
|
1165 |
#: bp-themes/bp-default/groups/create.php:112
|
1166 |
msgid "Group Forums"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
-
#: bp-core/admin/bp-core-components.php:
|
1170 |
msgid "BuddyPress Forums are retired. Use %s."
|
1171 |
msgstr ""
|
1172 |
|
1173 |
-
#: bp-core/admin/bp-core-components.php:
|
1174 |
msgid "Account Settings"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
-
#: bp-core/admin/bp-core-components.php:
|
1178 |
msgid "Allow your users to modify their account and notification settings directly from within their profiles."
|
1179 |
msgstr ""
|
1180 |
|
1181 |
-
#: bp-core/admin/bp-core-components.php:
|
1182 |
msgid "Friend Connections"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
-
#: bp-core/admin/bp-core-components.php:
|
1186 |
msgid "Let your users make connections so they can track the activity of others and focus on the people they care about the most."
|
1187 |
msgstr ""
|
1188 |
|
1189 |
-
#: bp-core/admin/bp-core-components.php:
|
1190 |
msgid "Private Messaging"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
-
#: bp-core/admin/bp-core-components.php:
|
1194 |
msgid "Allow your users to talk to each other directly and in private. Not just limited to one-on-one discussions, messages can be sent between any number of members."
|
1195 |
msgstr ""
|
1196 |
|
1197 |
-
#: bp-core/admin/bp-core-components.php:
|
1198 |
msgid "Global, personal, and group activity streams with threaded commenting, direct posting, favoriting and @mentions, all with full RSS feed and email notification support."
|
1199 |
msgstr ""
|
1200 |
|
1201 |
-
#: bp-core/admin/bp-core-components.php:
|
1202 |
msgid "User Groups"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
-
#: bp-core/admin/bp-core-components.php:
|
1206 |
msgid "Groups allow your users to organize themselves into specific public, private or hidden sections with separate activity streams and member listings."
|
1207 |
msgstr ""
|
1208 |
|
1209 |
-
#: bp-core/admin/bp-core-components.php:
|
1210 |
msgid "Group Forums (Legacy)"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
-
#: bp-core/admin/bp-core-components.php:
|
1214 |
msgid "Group forums allow for focused, bulletin-board style conversations."
|
1215 |
msgstr ""
|
1216 |
|
1217 |
-
#: bp-core/admin/bp-core-components.php:
|
1218 |
msgid "Record activity for new posts and comments from your site."
|
1219 |
msgstr ""
|
1220 |
|
1221 |
-
#: bp-core/admin/bp-core-components.php:
|
1222 |
msgid "Record activity for new sites, posts, and comments across your network."
|
1223 |
msgstr ""
|
1224 |
|
@@ -1258,55 +1269,47 @@ msgstr ""
|
|
1258 |
msgid "Each BuddyPress Component needs its own WordPress page. The following WordPress Pages have more than one component associated with them: %2$s. <a href=\"%1$s\" class=\"button-secondary\">Repair</a>"
|
1259 |
msgstr ""
|
1260 |
|
1261 |
-
#: bp-core/admin/bp-core-functions.php:
|
1262 |
msgid "Pages"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
-
#: bp-core/admin/bp-core-functions.php:
|
1266 |
#: bp-core/admin/bp-core-settings.php:258 bp-core/bp-core-admin.php:331
|
1267 |
-
#: bp-groups/bp-groups-loader.php:302 bp-groups/bp-groups-template.php:
|
1268 |
#: bp-settings/bp-settings-loader.php:23 bp-settings/bp-settings-loader.php:73
|
1269 |
#: bp-settings/bp-settings-loader.php:165
|
1270 |
msgid "Settings"
|
1271 |
msgstr ""
|
1272 |
|
1273 |
-
#: bp-core/admin/bp-core-functions.php:
|
1274 |
-
#: bp-forums/bp-forums-loader.php:109 bp-forums/bp-forums-loader.php:172
|
1275 |
-
#: bp-forums/bp-forums-loader.php:213 bp-forums/bp-forums-screens.php:188
|
1276 |
-
#: bp-forums/bp-forums-screens.php:190 bp-forums/deprecated/1.6.php:42
|
1277 |
-
#: bp-forums/deprecated/1.7.php:25 bp-forums/deprecated/1.7.php:100
|
1278 |
-
msgid "Forums"
|
1279 |
-
msgstr ""
|
1280 |
-
|
1281 |
-
#: bp-core/admin/bp-core-functions.php:419
|
1282 |
msgid "<a href=\"http://codex.buddypress.org/getting-started/configure-buddypress-components/#settings-buddypress-components\">Managing Components</a>"
|
1283 |
msgstr ""
|
1284 |
|
1285 |
-
#: bp-core/admin/bp-core-functions.php:
|
1286 |
msgid "<a href=\"http://codex.buddypress.org/getting-started/configure-buddypress-components/#settings-buddypress-pages\">Managing Pages</a>"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
-
#: bp-core/admin/bp-core-functions.php:
|
1290 |
msgid "<a href=\"http://codex.buddypress.org/getting-started/configure-buddypress-components/#settings-buddypress-settings\">Managing Settings</a>"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
-
#: bp-core/admin/bp-core-functions.php:
|
1294 |
msgid "<a href=\"http://codex.buddypress.org/getting-started/configure-buddypress-components/#users-profile-fields\">Managing Profile Fields</a>"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
-
#: bp-core/admin/bp-core-functions.php:
|
1298 |
msgid "By default, all BuddyPress components are enabled. You can selectively disable any of the components by using the form. Your BuddyPress installation will continue to function. However, the features of the disabled components will no longer be accessible to anyone using the site."
|
1299 |
msgstr ""
|
1300 |
|
1301 |
-
#: bp-core/admin/bp-core-functions.php:
|
1302 |
msgid "BuddyPress Components use WordPress Pages for their root directory/archive pages. Here you can change the page associations for each active component."
|
1303 |
msgstr ""
|
1304 |
|
1305 |
-
#: bp-core/admin/bp-core-functions.php:
|
1306 |
msgid "Extra configuration settings."
|
1307 |
msgstr ""
|
1308 |
|
1309 |
-
#: bp-core/admin/bp-core-functions.php:
|
1310 |
msgid "Your users will distinguish themselves through their profile page. Create relevant profile fields that will show on each users profile.</br></br>Note: Any fields in the first group will appear on the signup page."
|
1311 |
msgstr ""
|
1312 |
|
@@ -1389,10 +1392,10 @@ msgid "New Page"
|
|
1389 |
msgstr ""
|
1390 |
|
1391 |
#: bp-core/admin/bp-core-slugs.php:105 bp-core/admin/bp-core-slugs.php:168
|
1392 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php:
|
1393 |
#: bp-themes/bp-default/members/single/settings/capabilities.php:61
|
1394 |
#: bp-xprofile/bp-xprofile-classes.php:401
|
1395 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
1396 |
msgid "Save"
|
1397 |
msgstr ""
|
1398 |
|
@@ -1527,9 +1530,9 @@ msgid "BuddyPress’s powerful features help your users connect and collabor
|
|
1527 |
msgstr ""
|
1528 |
|
1529 |
#: bp-core/bp-core-admin.php:408 bp-core/bp-core-template.php:243
|
1530 |
-
#: bp-core/bp-core-widgets.php:
|
1531 |
-
#: bp-groups/bp-groups-template.php:
|
1532 |
-
#: bp-members/bp-members-screens.php:
|
1533 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:231
|
1534 |
#: bp-themes/bp-default/groups/single/admin.php:231
|
1535 |
msgid "Members"
|
@@ -1544,23 +1547,23 @@ msgid "Looking for help? The <a href=\"http://codex.buddypress.org/\">BuddyPress
|
|
1544 |
msgstr ""
|
1545 |
|
1546 |
#: bp-core/bp-core-admin.php:421
|
1547 |
-
msgid "
|
1548 |
msgstr ""
|
1549 |
|
1550 |
#: bp-core/bp-core-admin.php:424
|
1551 |
-
msgid "
|
1552 |
msgstr ""
|
1553 |
|
1554 |
#: bp-core/bp-core-admin.php:425
|
1555 |
-
msgid "
|
1556 |
msgstr ""
|
1557 |
|
1558 |
#: bp-core/bp-core-admin.php:430
|
1559 |
-
msgid "
|
1560 |
msgstr ""
|
1561 |
|
1562 |
#: bp-core/bp-core-admin.php:433
|
1563 |
-
msgid "
|
1564 |
msgstr ""
|
1565 |
|
1566 |
#: bp-core/bp-core-admin.php:436
|
@@ -1568,7 +1571,7 @@ msgid "Groups administration panel"
|
|
1568 |
msgstr ""
|
1569 |
|
1570 |
#: bp-core/bp-core-admin.php:443
|
1571 |
-
msgid "The
|
1572 |
msgstr ""
|
1573 |
|
1574 |
#: bp-core/bp-core-admin.php:450
|
@@ -1576,38 +1579,38 @@ msgid "Under the Hood"
|
|
1576 |
msgstr ""
|
1577 |
|
1578 |
#: bp-core/bp-core-admin.php:454
|
1579 |
-
msgid "
|
1580 |
msgstr ""
|
1581 |
|
1582 |
#: bp-core/bp-core-admin.php:455
|
1583 |
-
msgid "<code>
|
1584 |
msgstr ""
|
1585 |
|
1586 |
#: bp-core/bp-core-admin.php:457
|
1587 |
-
msgid "
|
1588 |
msgstr ""
|
1589 |
|
1590 |
#: bp-core/bp-core-admin.php:458
|
1591 |
-
msgid "
|
1592 |
msgstr ""
|
1593 |
|
1594 |
#: bp-core/bp-core-admin.php:462
|
1595 |
-
msgid "
|
1596 |
msgstr ""
|
1597 |
|
1598 |
#: bp-core/bp-core-admin.php:463
|
1599 |
-
msgid "
|
1600 |
msgstr ""
|
1601 |
|
1602 |
#: bp-core/bp-core-admin.php:465
|
1603 |
-
msgid "
|
1604 |
msgstr ""
|
1605 |
|
1606 |
#: bp-core/bp-core-admin.php:466
|
1607 |
-
msgid "
|
1608 |
msgstr ""
|
1609 |
|
1610 |
-
#: bp-core/bp-core-admin.php:471 bp-core/bp-core-admin.php:
|
1611 |
msgid "Go to the BuddyPress Settings page"
|
1612 |
msgstr ""
|
1613 |
|
@@ -1652,10 +1655,10 @@ msgid "Support Officer"
|
|
1652 |
msgstr ""
|
1653 |
|
1654 |
#: bp-core/bp-core-admin.php:552
|
1655 |
-
msgid "Core Contributors to BuddyPress 1.
|
1656 |
msgstr ""
|
1657 |
|
1658 |
-
#: bp-core/bp-core-adminbar.php:
|
1659 |
msgid "My Account"
|
1660 |
msgstr ""
|
1661 |
|
@@ -1703,47 +1706,47 @@ msgstr ""
|
|
1703 |
msgid "Upload failed! Error was: %s"
|
1704 |
msgstr ""
|
1705 |
|
1706 |
-
#: bp-core/bp-core-avatars.php:733 bp-core/bp-core-classes.php:
|
1707 |
-
#: bp-core/bp-core-classes.php:
|
1708 |
#: bp-core/bp-core-template.php:98 bp-core/bp-core-template.php:107
|
1709 |
msgid "Avatar of %s"
|
1710 |
msgstr ""
|
1711 |
|
1712 |
-
#: bp-core/bp-core-buddybar.php:
|
1713 |
msgid "You do not have access to this page."
|
1714 |
msgstr ""
|
1715 |
|
1716 |
-
#: bp-core/bp-core-buddybar.php:
|
1717 |
msgid "Log In"
|
1718 |
msgstr ""
|
1719 |
|
1720 |
-
#: bp-core/bp-core-buddybar.php:
|
1721 |
msgid "Sign Up"
|
1722 |
msgstr ""
|
1723 |
|
1724 |
-
#: bp-core/bp-core-buddybar.php:
|
1725 |
-
#: bp-members/bp-members-template.php:
|
1726 |
msgid "Log Out"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
-
#: bp-core/bp-core-buddybar.php:
|
1730 |
msgid "Visit"
|
1731 |
msgstr ""
|
1732 |
|
1733 |
-
#: bp-core/bp-core-buddybar.php:
|
1734 |
msgid "Random Member"
|
1735 |
msgstr ""
|
1736 |
|
1737 |
-
#: bp-core/bp-core-buddybar.php:
|
1738 |
msgid "Random Group"
|
1739 |
msgstr ""
|
1740 |
|
1741 |
-
#: bp-core/bp-core-buddybar.php:
|
1742 |
msgid "Random Site"
|
1743 |
msgstr ""
|
1744 |
|
1745 |
-
#: bp-core/bp-core-caps.php:
|
1746 |
-
#: bp-core/bp-core-caps.php:
|
1747 |
msgid "Special community roles no longer exist. Use mapped capabilities instead"
|
1748 |
msgstr ""
|
1749 |
|
@@ -1755,7 +1758,7 @@ msgstr ""
|
|
1755 |
msgid "You must log in to access the page you requested."
|
1756 |
msgstr ""
|
1757 |
|
1758 |
-
#: bp-core/bp-core-classes.php:
|
1759 |
msgid "%d group"
|
1760 |
msgid_plural "%d groups"
|
1761 |
msgstr[0] ""
|
@@ -1765,11 +1768,11 @@ msgstr[1] ""
|
|
1765 |
msgid "The current user is being initialized without using $wp->init()."
|
1766 |
msgstr ""
|
1767 |
|
1768 |
-
#: bp-core/bp-core-filters.php:
|
1769 |
msgid "[User Set]"
|
1770 |
msgstr ""
|
1771 |
|
1772 |
-
#: bp-core/bp-core-filters.php:
|
1773 |
msgid ""
|
1774 |
"Thanks for registering! To complete the activation of your account and blog, please click the following link:\n"
|
1775 |
"\n"
|
@@ -1782,11 +1785,11 @@ msgid ""
|
|
1782 |
"%2$s"
|
1783 |
msgstr ""
|
1784 |
|
1785 |
-
#: bp-core/bp-core-filters.php:
|
1786 |
msgid "Activate %s"
|
1787 |
msgstr ""
|
1788 |
|
1789 |
-
#: bp-core/bp-core-filters.php:
|
1790 |
msgid ""
|
1791 |
"Thanks for registering! To complete the activation of your account please click the following link:\n"
|
1792 |
"\n"
|
@@ -1794,143 +1797,157 @@ msgid ""
|
|
1794 |
"\n"
|
1795 |
msgstr ""
|
1796 |
|
1797 |
-
#: bp-core/bp-core-filters.php:
|
1798 |
msgid "Activate Your Account"
|
1799 |
msgstr ""
|
1800 |
|
1801 |
-
#: bp-core/bp-core-filters.php:
|
1802 |
msgctxt "Construct the page title. 1 = user name, 2 = component name, 3 = seperator"
|
1803 |
msgid "%1$s %3$s %2$s"
|
1804 |
msgstr ""
|
1805 |
|
1806 |
#. translators: "group name | group nav section name"
|
1807 |
|
1808 |
-
#: bp-core/bp-core-filters.php:
|
1809 |
msgid "%1$s | %2$s"
|
1810 |
msgstr ""
|
1811 |
|
1812 |
#. translators: "component item name | component nav section name | root
|
1813 |
#. component name"
|
1814 |
|
1815 |
-
#: bp-core/bp-core-filters.php:
|
1816 |
msgid "%1$s | %2$s | %3$s"
|
1817 |
msgstr ""
|
1818 |
|
1819 |
-
#: bp-core/bp-core-filters.php:
|
1820 |
msgid "%s Directory"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
-
#: bp-core/bp-core-filters.php:
|
1824 |
#: bp-themes/bp-default/registration/register.php:23
|
1825 |
msgid "Create an Account"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
-
#: bp-core/bp-core-filters.php:
|
1829 |
#: bp-themes/bp-default/registration/activate.php:13
|
1830 |
msgid "Activate your Account"
|
1831 |
msgstr ""
|
1832 |
|
1833 |
-
#: bp-core/bp-core-filters.php:
|
1834 |
-
#: bp-groups/bp-groups-screens.php:
|
1835 |
#: bp-themes/bp-default/groups/create.php:18
|
1836 |
#: bp-themes/bp-default/groups/index.php:21
|
1837 |
msgid "Create a Group"
|
1838 |
msgstr ""
|
1839 |
|
1840 |
-
#: bp-core/bp-core-functions.php:
|
1841 |
msgctxt "Page title for the Activity directory."
|
1842 |
msgid "Activity"
|
1843 |
msgstr ""
|
1844 |
|
1845 |
-
#: bp-core/bp-core-functions.php:
|
1846 |
msgctxt "Page title for the Groups directory."
|
1847 |
msgid "Groups"
|
1848 |
msgstr ""
|
1849 |
|
1850 |
-
#: bp-core/bp-core-functions.php:
|
1851 |
msgctxt "Page title for the Sites directory."
|
1852 |
msgid "Sites"
|
1853 |
msgstr ""
|
1854 |
|
1855 |
-
#: bp-core/bp-core-functions.php:
|
1856 |
msgctxt "Page title for the user account activation screen."
|
1857 |
msgid "Activate"
|
1858 |
msgstr ""
|
1859 |
|
1860 |
-
#: bp-core/bp-core-functions.php:
|
1861 |
msgctxt "Page title for the Members directory."
|
1862 |
msgid "Members"
|
1863 |
msgstr ""
|
1864 |
|
1865 |
-
#: bp-core/bp-core-functions.php:
|
1866 |
msgctxt "Page title for the user registration screen."
|
1867 |
msgid "Register"
|
1868 |
msgstr ""
|
1869 |
|
1870 |
-
#: bp-core/bp-core-functions.php:
|
1871 |
msgid "sometime"
|
1872 |
msgstr ""
|
1873 |
|
1874 |
-
#: bp-core/bp-core-functions.php:
|
1875 |
msgid "right now"
|
1876 |
msgstr ""
|
1877 |
|
1878 |
-
#: bp-core/bp-core-functions.php:
|
1879 |
msgid "%s ago"
|
1880 |
msgstr ""
|
1881 |
|
1882 |
-
#: bp-core/bp-core-functions.php:
|
1883 |
-
msgid "
|
1884 |
-
|
1885 |
-
msgstr[0] ""
|
1886 |
-
msgstr[1] ""
|
1887 |
|
1888 |
-
#: bp-core/bp-core-functions.php:
|
1889 |
-
msgid "
|
1890 |
-
|
1891 |
-
msgstr[0] ""
|
1892 |
-
msgstr[1] ""
|
1893 |
|
1894 |
-
#: bp-core/bp-core-functions.php:
|
1895 |
-
msgid "
|
1896 |
-
|
1897 |
-
msgstr[0] ""
|
1898 |
-
msgstr[1] ""
|
1899 |
|
1900 |
-
#: bp-core/bp-core-functions.php:
|
1901 |
-
msgid "
|
1902 |
-
|
1903 |
-
msgstr[0] ""
|
1904 |
-
msgstr[1] ""
|
1905 |
|
1906 |
-
#: bp-core/bp-core-functions.php:
|
1907 |
-
msgid "
|
1908 |
-
|
1909 |
-
msgstr[0] ""
|
1910 |
-
msgstr[1] ""
|
1911 |
|
1912 |
-
#: bp-core/bp-core-functions.php:
|
1913 |
-
msgid "
|
1914 |
-
|
1915 |
-
msgstr[0] ""
|
1916 |
-
msgstr[1] ""
|
1917 |
|
1918 |
-
#: bp-core/bp-core-functions.php:
|
1919 |
-
msgid "
|
1920 |
-
|
1921 |
-
|
1922 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1923 |
|
1924 |
-
#: bp-core/bp-core-functions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1925 |
msgctxt "Separator in time since"
|
1926 |
msgid ","
|
1927 |
msgstr ""
|
1928 |
|
1929 |
-
#: bp-core/bp-core-functions.php:
|
1930 |
msgid "Not recently active"
|
1931 |
msgstr ""
|
1932 |
|
1933 |
-
#: bp-core/bp-core-loader.php:
|
1934 |
#: bp-xprofile/bp-xprofile-loader.php:154
|
1935 |
#: bp-xprofile/bp-xprofile-loader.php:229
|
1936 |
msgid "Profile"
|
@@ -1944,11 +1961,19 @@ msgstr ""
|
|
1944 |
msgid "%1$s at %2$s"
|
1945 |
msgstr ""
|
1946 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1947 |
#: bp-core/bp-core-template.php:254
|
1948 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
1949 |
#: bp-templates/bp-legacy/buddypress/forums/forums-loop.php:40
|
1950 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:27
|
1951 |
-
#: bp-themes/bp-default/activity/index.php:
|
1952 |
#: bp-themes/bp-default/forums/forums-loop.php:40
|
1953 |
#: bp-themes/bp-default/members/single/activity.php:27
|
1954 |
msgid "Posts"
|
@@ -1979,9 +2004,9 @@ msgctxt "widget name"
|
|
1979 |
msgid "(BuddyPress) Members"
|
1980 |
msgstr ""
|
1981 |
|
1982 |
-
#: bp-core/bp-core-widgets.php:
|
1983 |
#: bp-core/deprecated/1.6.php:129 bp-core/deprecated/1.6.php:152
|
1984 |
-
#: bp-groups/bp-groups-widgets.php:
|
1985 |
#: bp-templates/bp-legacy/buddypress/blogs/index.php:39
|
1986 |
#: bp-templates/bp-legacy/buddypress/members/single/blogs.php:22
|
1987 |
#: bp-themes/bp-default/blogs/index.php:56
|
@@ -1989,22 +2014,22 @@ msgstr ""
|
|
1989 |
msgid "Newest"
|
1990 |
msgstr ""
|
1991 |
|
1992 |
-
#: bp-core/bp-core-widgets.php:
|
1993 |
-
#: bp-groups/bp-groups-widgets.php:
|
1994 |
msgid "Active"
|
1995 |
msgstr ""
|
1996 |
|
1997 |
-
#: bp-core/bp-core-widgets.php:
|
1998 |
-
#: bp-groups/bp-groups-widgets.php:
|
1999 |
msgid "Popular"
|
2000 |
msgstr ""
|
2001 |
|
2002 |
-
#: bp-core/bp-core-widgets.php:
|
2003 |
msgid "No one has signed up yet!"
|
2004 |
msgstr ""
|
2005 |
|
2006 |
-
#: bp-core/bp-core-widgets.php:
|
2007 |
-
#: bp-core/bp-core-widgets.php:
|
2008 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:86
|
2009 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum/edit.php:47
|
2010 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum.php:75
|
@@ -2014,53 +2039,53 @@ msgstr ""
|
|
2014 |
msgid "Title:"
|
2015 |
msgstr ""
|
2016 |
|
2017 |
-
#: bp-core/bp-core-widgets.php:
|
2018 |
msgid "Link widget title to Members directory"
|
2019 |
msgstr ""
|
2020 |
|
2021 |
-
#: bp-core/bp-core-widgets.php:
|
2022 |
msgid "Max members to show:"
|
2023 |
msgstr ""
|
2024 |
|
2025 |
-
#: bp-core/bp-core-widgets.php:
|
2026 |
msgid "Default members to show:"
|
2027 |
msgstr ""
|
2028 |
|
2029 |
-
#: bp-core/bp-core-widgets.php:
|
2030 |
msgid "Avatars of users who are currently online"
|
2031 |
msgstr ""
|
2032 |
|
2033 |
-
#: bp-core/bp-core-widgets.php:
|
2034 |
msgctxt "widget name"
|
2035 |
msgid "(BuddyPress) Who's Online"
|
2036 |
msgstr ""
|
2037 |
|
2038 |
-
#: bp-core/bp-core-widgets.php:
|
2039 |
msgid "There are no users currently online"
|
2040 |
msgstr ""
|
2041 |
|
2042 |
-
#: bp-core/bp-core-widgets.php:
|
2043 |
msgid "Who's Online"
|
2044 |
msgstr ""
|
2045 |
|
2046 |
-
#: bp-core/bp-core-widgets.php:
|
2047 |
msgid "Max Members to show:"
|
2048 |
msgstr ""
|
2049 |
|
2050 |
-
#: bp-core/bp-core-widgets.php:
|
2051 |
msgid "Avatars of recently active members"
|
2052 |
msgstr ""
|
2053 |
|
2054 |
-
#: bp-core/bp-core-widgets.php:
|
2055 |
msgctxt "widget name"
|
2056 |
msgid "(BuddyPress) Recently Active Members"
|
2057 |
msgstr ""
|
2058 |
|
2059 |
-
#: bp-core/bp-core-widgets.php:
|
2060 |
msgid "There are no recently active members"
|
2061 |
msgstr ""
|
2062 |
|
2063 |
-
#: bp-core/bp-core-widgets.php:
|
2064 |
msgid "There were no members found, please try another filter."
|
2065 |
msgstr ""
|
2066 |
|
@@ -2075,7 +2100,7 @@ msgstr ""
|
|
2075 |
|
2076 |
#: bp-core/deprecated/1.5.php:149
|
2077 |
#: bp-templates/bp-legacy/buddypress/members/single/profile/profile-wp.php:15
|
2078 |
-
#: bp-themes/bp-default/functions.php:
|
2079 |
#: bp-themes/bp-default/members/single/profile/profile-wp.php:15
|
2080 |
msgid "Name"
|
2081 |
msgstr ""
|
@@ -2088,7 +2113,7 @@ msgstr ""
|
|
2088 |
|
2089 |
#: bp-core/deprecated/1.5.php:167
|
2090 |
#: bp-templates/bp-legacy/buddypress/members/single/profile/profile-wp.php:33
|
2091 |
-
#: bp-themes/bp-default/functions.php:
|
2092 |
#: bp-themes/bp-default/members/single/profile/profile-wp.php:33
|
2093 |
msgid "Website"
|
2094 |
msgstr ""
|
@@ -2116,12 +2141,12 @@ msgid "%1$s mentioned you in the group \"%2$s\""
|
|
2116 |
msgstr ""
|
2117 |
|
2118 |
#: bp-core/deprecated/1.6.php:128 bp-core/deprecated/1.6.php:149
|
2119 |
-
#: bp-groups/bp-groups-template.php:
|
2120 |
msgid "Recently Active"
|
2121 |
msgstr ""
|
2122 |
|
2123 |
#: bp-core/deprecated/1.6.php:130 bp-core/deprecated/1.6.php:155
|
2124 |
-
#: bp-groups/bp-groups-template.php:
|
2125 |
msgid "Alphabetically"
|
2126 |
msgstr ""
|
2127 |
|
@@ -2133,19 +2158,19 @@ msgstr ""
|
|
2133 |
msgid "Search Forums..."
|
2134 |
msgstr ""
|
2135 |
|
2136 |
-
#: bp-forums/bp-forums-loader.php:
|
2137 |
msgid "Topics Started"
|
2138 |
msgstr ""
|
2139 |
|
2140 |
-
#: bp-forums/bp-forums-loader.php:
|
2141 |
msgid "Replied To"
|
2142 |
msgstr ""
|
2143 |
|
2144 |
-
#: bp-forums/bp-forums-loader.php:
|
2145 |
msgid "Replies"
|
2146 |
msgstr ""
|
2147 |
|
2148 |
-
#: bp-forums/bp-forums-loader.php:
|
2149 |
msgid "Favorite Topics"
|
2150 |
msgstr ""
|
2151 |
|
@@ -2173,8 +2198,8 @@ msgstr ""
|
|
2173 |
msgid "Please pick the group forum where you would like to post this topic."
|
2174 |
msgstr ""
|
2175 |
|
2176 |
-
#: bp-forums/bp-forums-screens.php:188 bp-groups/bp-groups-template.php:
|
2177 |
-
#: bp-groups/bp-groups-template.php:
|
2178 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum.php:19
|
2179 |
#: bp-themes/bp-default/forums/index.php:23
|
2180 |
#: bp-themes/bp-default/groups/single/forum.php:19
|
@@ -2194,8 +2219,8 @@ msgstr ""
|
|
2194 |
#: bp-forums/bp-forums-template.php:505 bp-forums/bp-forums-template.php:567
|
2195 |
#: bp-forums/bp-forums-template.php:1216
|
2196 |
#: bp-messages/bp-messages-classes.php:269
|
2197 |
-
#: bp-messages/bp-messages-template.php:
|
2198 |
-
#: bp-messages/bp-messages-template.php:
|
2199 |
msgid "Deleted User"
|
2200 |
msgstr ""
|
2201 |
|
@@ -2203,11 +2228,11 @@ msgstr ""
|
|
2203 |
msgid "Group logo for %s"
|
2204 |
msgstr ""
|
2205 |
|
2206 |
-
#: bp-forums/bp-forums-template.php:683 bp-groups/bp-groups-template.php:
|
2207 |
msgid "%d post"
|
2208 |
msgstr ""
|
2209 |
|
2210 |
-
#: bp-forums/bp-forums-template.php:685 bp-groups/bp-groups-template.php:
|
2211 |
msgid "%d posts"
|
2212 |
msgstr ""
|
2213 |
|
@@ -2257,154 +2282,150 @@ msgstr ""
|
|
2257 |
msgid "Viewing post %1$s to %2$s (%3$s total posts)"
|
2258 |
msgstr ""
|
2259 |
|
2260 |
-
#: bp-forums/deprecated/1.6.php:
|
2261 |
-
msgid "Configure bbPress"
|
2262 |
-
msgstr ""
|
2263 |
-
|
2264 |
-
#: bp-forums/deprecated/1.6.php:34 bp-forums/deprecated/1.6.php:136
|
2265 |
-
msgid "Install bbPress"
|
2266 |
-
msgstr ""
|
2267 |
-
|
2268 |
-
#: bp-forums/deprecated/1.6.php:47
|
2269 |
msgid "Settings Saved."
|
2270 |
msgstr ""
|
2271 |
|
2272 |
-
#: bp-forums/deprecated/1.6.php:
|
2273 |
-
|
2274 |
-
msgstr ""
|
2275 |
-
|
2276 |
-
#: bp-forums/deprecated/1.6.php:68 bp-forums/deprecated/1.6.php:210
|
2277 |
msgid "Forums for Groups"
|
2278 |
msgstr ""
|
2279 |
|
2280 |
-
#: bp-forums/deprecated/1.6.php:
|
|
|
2281 |
msgid "Give each individual group its own discussion forum. Choose this if you'd like to keep your members' conversations separated into distinct areas."
|
2282 |
msgstr ""
|
2283 |
|
2284 |
-
#: bp-forums/deprecated/1.6.php:
|
2285 |
-
|
|
|
2286 |
msgstr ""
|
2287 |
|
2288 |
-
#: bp-forums/deprecated/1.6.php:
|
|
|
|
|
2289 |
msgid "Features"
|
2290 |
msgstr ""
|
2291 |
|
2292 |
-
#: bp-forums/deprecated/1.6.php:
|
|
|
2293 |
msgid "Group Integration"
|
2294 |
msgstr ""
|
2295 |
|
2296 |
-
#: bp-forums/deprecated/1.6.php:
|
|
|
2297 |
msgid "Member Profile Integration"
|
2298 |
msgstr ""
|
2299 |
|
2300 |
-
#: bp-forums/deprecated/1.6.php:
|
|
|
|
|
2301 |
msgid "Activity Stream Integration"
|
2302 |
msgstr ""
|
2303 |
|
2304 |
-
#: bp-forums/deprecated/1.6.php:
|
|
|
|
|
2305 |
msgid "@ Mention Integration"
|
2306 |
msgstr ""
|
2307 |
|
2308 |
-
#: bp-forums/deprecated/1.6.php:
|
2309 |
-
msgid "
|
2310 |
msgstr ""
|
2311 |
|
2312 |
-
#: bp-forums/deprecated/1.6.php:
|
2313 |
-
msgid "
|
2314 |
-
msgstr ""
|
2315 |
-
|
2316 |
-
#: bp-forums/deprecated/1.6.php:89 bp-forums/deprecated/1.6.php:232
|
2317 |
-
msgid "bbPress is a brand-new forum plugin from one of the lead developers of BuddyPress."
|
2318 |
msgstr ""
|
2319 |
|
2320 |
-
#: bp-forums/deprecated/1.6.php:
|
2321 |
-
msgid "
|
2322 |
msgstr ""
|
2323 |
|
2324 |
-
#: bp-forums/deprecated/1.6.php:
|
2325 |
-
msgid "
|
2326 |
msgstr ""
|
2327 |
|
2328 |
-
#: bp-forums/deprecated/1.6.php:
|
2329 |
-
msgid "
|
2330 |
msgstr ""
|
2331 |
|
2332 |
-
#: bp-forums/deprecated/1.6.php:
|
2333 |
-
msgid "
|
2334 |
msgstr ""
|
2335 |
|
2336 |
-
#: bp-forums/deprecated/1.6.php:
|
2337 |
-
|
|
|
2338 |
msgstr ""
|
2339 |
|
2340 |
-
#: bp-forums/deprecated/1.6.php:
|
2341 |
-
msgid "
|
2342 |
msgstr ""
|
2343 |
|
2344 |
-
#: bp-forums/deprecated/1.6.php:
|
2345 |
-
msgid "
|
2346 |
msgstr ""
|
2347 |
|
2348 |
-
#: bp-forums/deprecated/1.6.php:
|
2349 |
-
msgid "
|
2350 |
msgstr ""
|
2351 |
|
2352 |
-
#: bp-forums/deprecated/1.6.php:
|
2353 |
-
msgid "
|
|
|
|
|
2354 |
msgstr ""
|
2355 |
|
2356 |
-
#: bp-forums/deprecated/1.6.php:
|
2357 |
-
msgid "
|
2358 |
msgstr ""
|
2359 |
|
2360 |
-
#: bp-forums/deprecated/1.6.php:
|
2361 |
-
msgid "
|
2362 |
msgstr ""
|
2363 |
|
2364 |
-
#: bp-forums/deprecated/1.6.php:
|
2365 |
-
msgid "
|
2366 |
msgstr ""
|
2367 |
|
2368 |
-
#: bp-forums/deprecated/1.
|
2369 |
-
msgid "
|
2370 |
msgstr ""
|
2371 |
|
2372 |
-
#: bp-forums/deprecated/1.
|
2373 |
-
msgid "
|
2374 |
msgstr ""
|
2375 |
|
2376 |
-
#: bp-forums/deprecated/1.
|
2377 |
-
msgid "
|
2378 |
msgstr ""
|
2379 |
|
2380 |
-
#: bp-forums/deprecated/1.
|
2381 |
-
msgid "
|
2382 |
msgstr ""
|
2383 |
|
2384 |
-
#: bp-forums/deprecated/1.
|
2385 |
-
msgid "
|
2386 |
msgstr ""
|
2387 |
|
2388 |
-
#: bp-forums/deprecated/1.
|
2389 |
-
msgid "
|
2390 |
msgstr ""
|
2391 |
|
2392 |
-
#: bp-forums/deprecated/1.
|
2393 |
-
msgid ""
|
2394 |
-
"You've decided to set up a new installation of bbPress for forum management in BuddyPress. This is very simple and is usually just a one click\n"
|
2395 |
-
"\t\t\t\tprocess. When you're ready, hit the link below."
|
2396 |
msgstr ""
|
2397 |
|
2398 |
-
#: bp-forums/deprecated/1.
|
2399 |
-
msgid "
|
2400 |
msgstr ""
|
2401 |
|
2402 |
-
#: bp-forums/deprecated/1.
|
2403 |
-
msgid "
|
2404 |
msgstr ""
|
2405 |
|
2406 |
-
#: bp-forums/deprecated/1.
|
2407 |
-
msgid "
|
2408 |
msgstr ""
|
2409 |
|
2410 |
#: bp-friends/bp-friends-actions.php:35
|
@@ -2424,8 +2445,8 @@ msgid "You already have a pending friendship request with this user"
|
|
2424 |
msgstr ""
|
2425 |
|
2426 |
#: bp-friends/bp-friends-actions.php:70
|
2427 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
2428 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
2429 |
msgid "Friendship could not be canceled."
|
2430 |
msgstr ""
|
2431 |
|
@@ -2470,8 +2491,8 @@ msgstr ""
|
|
2470 |
msgid "You have a friendship request from %s"
|
2471 |
msgstr ""
|
2472 |
|
2473 |
-
#: bp-friends/bp-friends-functions.php:
|
2474 |
-
#: bp-friends/bp-friends-functions.php:
|
2475 |
msgid "%1$s and %2$s are now friends"
|
2476 |
msgstr ""
|
2477 |
|
@@ -2485,14 +2506,14 @@ msgstr ""
|
|
2485 |
|
2486 |
#: bp-friends/bp-friends-loader.php:118 bp-friends/bp-friends-loader.php:180
|
2487 |
#: bp-friends/bp-friends-loader.php:207
|
2488 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
2489 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:35
|
2490 |
-
#: bp-themes/bp-default/activity/index.php:
|
2491 |
#: bp-themes/bp-default/members/single/activity.php:35
|
2492 |
msgid "Friendships"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
-
#: bp-friends/bp-friends-loader.php:128 bp-groups/bp-groups-template.php:
|
2496 |
msgid "Requests"
|
2497 |
msgstr ""
|
2498 |
|
@@ -2601,8 +2622,8 @@ msgid "%d friends"
|
|
2601 |
msgstr ""
|
2602 |
|
2603 |
#: bp-friends/bp-friends-template.php:285
|
2604 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
2605 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
2606 |
msgid "Cancel Friendship Request"
|
2607 |
msgstr ""
|
2608 |
|
@@ -2617,10 +2638,10 @@ msgstr ""
|
|
2617 |
|
2618 |
#: bp-friends/bp-friends-template.php:319
|
2619 |
#: bp-friends/bp-friends-template.php:320
|
2620 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
2621 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
2622 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
2623 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
2624 |
msgid "Add Friend"
|
2625 |
msgstr ""
|
2626 |
|
@@ -2636,46 +2657,42 @@ msgstr ""
|
|
2636 |
msgid "Please fill in all of the required fields"
|
2637 |
msgstr ""
|
2638 |
|
2639 |
-
#: bp-groups/bp-groups-actions.php:79 bp-groups/bp-groups-actions.php:
|
2640 |
msgid "There was an error saving group details, please try again."
|
2641 |
msgstr ""
|
2642 |
|
2643 |
-
#: bp-groups/bp-groups-actions.php:
|
2644 |
msgid "%1$s created the group %2$s"
|
2645 |
msgstr ""
|
2646 |
|
2647 |
-
#: bp-groups/bp-groups-actions.php:
|
2648 |
msgid "There was an error saving the group avatar, please try uploading again."
|
2649 |
msgstr ""
|
2650 |
|
2651 |
-
#: bp-groups/bp-groups-actions.php:
|
2652 |
msgid "The group avatar was uploaded successfully!"
|
2653 |
msgstr ""
|
2654 |
|
2655 |
-
#: bp-groups/bp-groups-actions.php:
|
2656 |
msgid "There was an error joining the group."
|
2657 |
msgstr ""
|
2658 |
|
2659 |
-
#: bp-groups/bp-groups-actions.php:
|
2660 |
msgid "You joined the group!"
|
2661 |
msgstr ""
|
2662 |
|
2663 |
-
#: bp-groups/bp-groups-actions.php:
|
2664 |
msgid "This group must have at least one admin"
|
2665 |
msgstr ""
|
2666 |
|
2667 |
-
#: bp-groups/bp-groups-actions.php:
|
2668 |
msgid "There was an error leaving the group."
|
2669 |
msgstr ""
|
2670 |
|
2671 |
-
#: bp-groups/bp-groups-actions.php:
|
2672 |
msgid "You successfully left the group."
|
2673 |
msgstr ""
|
2674 |
|
2675 |
-
#: bp-groups/bp-groups-actions.php:334
|
2676 |
-
msgid "Activity feed for the group, %s."
|
2677 |
-
msgstr ""
|
2678 |
-
|
2679 |
#: bp-groups/bp-groups-activity.php:23
|
2680 |
msgid "Created a group"
|
2681 |
msgstr ""
|
@@ -2809,78 +2826,74 @@ msgstr ""
|
|
2809 |
msgid "Start typing a username to add a new member."
|
2810 |
msgstr ""
|
2811 |
|
2812 |
-
#: bp-groups/bp-groups-admin.php:
|
2813 |
-
msgid "If you leave this page, you will lose any unsaved changes you have made to the group."
|
2814 |
-
msgstr ""
|
2815 |
-
|
2816 |
-
#: bp-groups/bp-groups-admin.php:444
|
2817 |
msgid "You cannot remove all administrators from a group."
|
2818 |
msgstr ""
|
2819 |
|
2820 |
-
#: bp-groups/bp-groups-admin.php:
|
2821 |
msgid "An error occurred when trying to update your group details."
|
2822 |
msgstr ""
|
2823 |
|
2824 |
-
#: bp-groups/bp-groups-admin.php:
|
2825 |
msgid "The group has been updated successfully."
|
2826 |
msgstr ""
|
2827 |
|
2828 |
-
#: bp-groups/bp-groups-admin.php:
|
2829 |
msgid "The following users could not be added to the group: <em>%s</em>"
|
2830 |
msgstr ""
|
2831 |
|
2832 |
-
#: bp-groups/bp-groups-admin.php:
|
2833 |
msgid "The following users were successfully added to the group: <em>%s</em>"
|
2834 |
msgstr ""
|
2835 |
|
2836 |
-
#: bp-groups/bp-groups-admin.php:
|
2837 |
msgid "An error occurred when trying to modify the following members: <em>%s</em>"
|
2838 |
msgstr ""
|
2839 |
|
2840 |
-
#: bp-groups/bp-groups-admin.php:
|
2841 |
msgid "The following members were successfully modified: <em>%s</em>"
|
2842 |
msgstr ""
|
2843 |
|
2844 |
-
#: bp-groups/bp-groups-admin.php:
|
2845 |
#: bp-xprofile/bp-xprofile-admin.php:114
|
2846 |
msgid "Edit Group"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
-
#: bp-groups/bp-groups-admin.php:
|
2850 |
msgid "Add New"
|
2851 |
msgstr ""
|
2852 |
|
2853 |
-
#: bp-groups/bp-groups-admin.php:
|
2854 |
msgid "Name and Description"
|
2855 |
msgstr ""
|
2856 |
|
2857 |
-
#: bp-groups/bp-groups-admin.php:
|
2858 |
msgid "No group found with this ID. <a href=\"%s\">Go back and try again</a>."
|
2859 |
msgstr ""
|
2860 |
|
2861 |
-
#: bp-groups/bp-groups-admin.php:
|
2862 |
msgid "Delete Groups"
|
2863 |
msgstr ""
|
2864 |
|
2865 |
-
#: bp-groups/bp-groups-admin.php:
|
2866 |
msgid "You are about to delete the following groups:"
|
2867 |
msgstr ""
|
2868 |
|
2869 |
-
#: bp-groups/bp-groups-admin.php:
|
2870 |
msgid "This action cannot be undone."
|
2871 |
msgstr ""
|
2872 |
|
2873 |
-
#: bp-groups/bp-groups-admin.php:
|
2874 |
msgid "%s group has been permanently deleted."
|
2875 |
msgid_plural "%s groups have been permanently deleted."
|
2876 |
msgstr[0] ""
|
2877 |
msgstr[1] ""
|
2878 |
|
2879 |
-
#: bp-groups/bp-groups-admin.php:
|
2880 |
msgid "Search all Groups"
|
2881 |
msgstr ""
|
2882 |
|
2883 |
-
#: bp-groups/bp-groups-admin.php:
|
2884 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:112
|
2885 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:47
|
2886 |
#: bp-themes/bp-default/groups/create.php:119
|
@@ -2888,29 +2901,29 @@ msgstr ""
|
|
2888 |
msgid "Enable discussion forum"
|
2889 |
msgstr ""
|
2890 |
|
2891 |
-
#: bp-groups/bp-groups-admin.php:
|
2892 |
msgid "Privacy"
|
2893 |
msgstr ""
|
2894 |
|
2895 |
-
#: bp-groups/bp-groups-admin.php:
|
2896 |
-
#: bp-groups/bp-groups-template.php:
|
2897 |
msgid "Public"
|
2898 |
msgstr ""
|
2899 |
|
2900 |
-
#: bp-groups/bp-groups-admin.php:
|
2901 |
-
#: bp-groups/bp-groups-template.php:
|
2902 |
msgid "Private"
|
2903 |
msgstr ""
|
2904 |
|
2905 |
-
#: bp-groups/bp-groups-admin.php:
|
2906 |
msgid "Hidden"
|
2907 |
msgstr ""
|
2908 |
|
2909 |
-
#: bp-groups/bp-groups-admin.php:
|
2910 |
msgid "Who can invite others to this group?"
|
2911 |
msgstr ""
|
2912 |
|
2913 |
-
#: bp-groups/bp-groups-admin.php:
|
2914 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:89
|
2915 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:99
|
2916 |
#: bp-themes/bp-default/groups/create.php:96
|
@@ -2918,7 +2931,7 @@ msgstr ""
|
|
2918 |
msgid "All group members"
|
2919 |
msgstr ""
|
2920 |
|
2921 |
-
#: bp-groups/bp-groups-admin.php:
|
2922 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:94
|
2923 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:104
|
2924 |
#: bp-themes/bp-default/groups/create.php:101
|
@@ -2926,7 +2939,7 @@ msgstr ""
|
|
2926 |
msgid "Group admins and mods only"
|
2927 |
msgstr ""
|
2928 |
|
2929 |
-
#: bp-groups/bp-groups-admin.php:
|
2930 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:99
|
2931 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:109
|
2932 |
#: bp-themes/bp-default/groups/create.php:106
|
@@ -2934,81 +2947,81 @@ msgstr ""
|
|
2934 |
msgid "Group admins only"
|
2935 |
msgstr ""
|
2936 |
|
2937 |
-
#: bp-groups/bp-groups-admin.php:
|
2938 |
msgid "Enter a comma-separated list of user logins."
|
2939 |
msgstr ""
|
2940 |
|
2941 |
-
#: bp-groups/bp-groups-admin.php:
|
2942 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:177
|
2943 |
#: bp-themes/bp-default/groups/single/admin.php:177
|
2944 |
msgid "Administrators"
|
2945 |
msgstr ""
|
2946 |
|
2947 |
-
#: bp-groups/bp-groups-admin.php:
|
2948 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:205
|
2949 |
#: bp-themes/bp-default/groups/single/admin.php:205
|
2950 |
msgid "Moderators"
|
2951 |
msgstr ""
|
2952 |
|
2953 |
-
#: bp-groups/bp-groups-admin.php:
|
2954 |
msgid "Banned Users"
|
2955 |
msgstr ""
|
2956 |
|
2957 |
-
#: bp-groups/bp-groups-admin.php:
|
2958 |
msgctxt "Group member user_id in group admin"
|
2959 |
msgid "ID"
|
2960 |
msgstr ""
|
2961 |
|
2962 |
-
#: bp-groups/bp-groups-admin.php:
|
2963 |
msgctxt "Group member name in group admin"
|
2964 |
msgid "Name"
|
2965 |
msgstr ""
|
2966 |
|
2967 |
-
#: bp-groups/bp-groups-admin.php:
|
2968 |
msgctxt "Group member role in group admin"
|
2969 |
msgid "Group Role"
|
2970 |
msgstr ""
|
2971 |
|
2972 |
-
#: bp-groups/bp-groups-admin.php:
|
2973 |
msgid "Administrator"
|
2974 |
msgstr ""
|
2975 |
|
2976 |
-
#: bp-groups/bp-groups-admin.php:
|
2977 |
msgid "Moderator"
|
2978 |
msgstr ""
|
2979 |
|
2980 |
-
#: bp-groups/bp-groups-admin.php:
|
2981 |
msgid "Member"
|
2982 |
msgstr ""
|
2983 |
|
2984 |
-
#: bp-groups/bp-groups-admin.php:
|
2985 |
msgid "Banned"
|
2986 |
msgstr ""
|
2987 |
|
2988 |
-
#: bp-groups/bp-groups-admin.php:
|
2989 |
msgid "Remove From Group"
|
2990 |
msgstr ""
|
2991 |
|
2992 |
-
#: bp-groups/bp-groups-admin.php:
|
2993 |
msgid "No members of this type"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
-
#: bp-groups/bp-groups-admin.php:
|
2997 |
-
#: bp-groups/bp-groups-buddybar.php:
|
2998 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:360
|
2999 |
#: bp-themes/bp-default/groups/single/admin.php:360
|
3000 |
#: bp-xprofile/bp-xprofile-admin.php:118
|
3001 |
msgid "Delete Group"
|
3002 |
msgstr ""
|
3003 |
|
3004 |
-
#: bp-groups/bp-groups-admin.php:
|
3005 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:32
|
3006 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:117
|
3007 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum/edit.php:58
|
3008 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum/edit.php:74
|
3009 |
#: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:148
|
3010 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:
|
3011 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/notifications.php:
|
3012 |
#: bp-themes/bp-default/groups/single/admin.php:32
|
3013 |
#: bp-themes/bp-default/groups/single/admin.php:117
|
3014 |
#: bp-themes/bp-default/groups/single/forum/edit.php:58
|
@@ -3020,76 +3033,54 @@ msgstr ""
|
|
3020 |
msgid "Save Changes"
|
3021 |
msgstr ""
|
3022 |
|
3023 |
-
#: bp-groups/bp-groups-admin.php:910
|
3024 |
-
msgid "«"
|
3025 |
-
msgstr ""
|
3026 |
-
|
3027 |
-
#: bp-groups/bp-groups-admin.php:911
|
3028 |
-
msgid "»"
|
3029 |
-
msgstr ""
|
3030 |
-
|
3031 |
-
#: bp-groups/bp-groups-admin.php:917
|
3032 |
-
msgid "Viewing %1$s - %2$s of %3$s"
|
3033 |
-
msgstr ""
|
3034 |
-
|
3035 |
-
#: bp-groups/bp-groups-admin.php:920 bp-groups/bp-groups-template.php:960
|
3036 |
-
msgid "%s member"
|
3037 |
-
msgid_plural "%s members"
|
3038 |
-
msgstr[0] ""
|
3039 |
-
msgstr[1] ""
|
3040 |
-
|
3041 |
#. translators: 1: user_login, 2: user_email
|
3042 |
|
3043 |
-
#: bp-groups/bp-groups-admin.php:
|
3044 |
msgid "%1$s (%2$s)"
|
3045 |
msgstr ""
|
3046 |
|
3047 |
-
#: bp-groups/bp-groups-admin.php:
|
3048 |
msgid "No groups found."
|
3049 |
msgstr ""
|
3050 |
|
3051 |
-
#: bp-groups/bp-groups-admin.php:
|
3052 |
msgid "Public <span class=\"count\">(%s)</span>"
|
3053 |
msgstr ""
|
3054 |
|
3055 |
-
#: bp-groups/bp-groups-admin.php:
|
3056 |
msgid "Private <span class=\"count\">(%s)</span>"
|
3057 |
msgstr ""
|
3058 |
|
3059 |
-
#: bp-groups/bp-groups-admin.php:
|
3060 |
msgid "Hidden <span class=\"count\">(%s)</span>"
|
3061 |
msgstr ""
|
3062 |
|
3063 |
-
#: bp-groups/bp-groups-admin.php:
|
3064 |
msgctxt "Groups admin Group Name column header"
|
3065 |
msgid "Name"
|
3066 |
msgstr ""
|
3067 |
|
3068 |
-
#: bp-groups/bp-groups-admin.php:
|
3069 |
msgctxt "Groups admin Group Description column header"
|
3070 |
msgid "Description"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
-
#: bp-groups/bp-groups-admin.php:
|
3074 |
msgctxt "Groups admin Privacy Status column header"
|
3075 |
msgid "Status"
|
3076 |
msgstr ""
|
3077 |
|
3078 |
-
#: bp-groups/bp-groups-admin.php:
|
3079 |
msgctxt "Groups admin Members column header"
|
3080 |
msgid "# Members"
|
3081 |
msgstr ""
|
3082 |
|
3083 |
-
#: bp-groups/bp-groups-admin.php:
|
3084 |
msgctxt "Groups admin Last Active column header"
|
3085 |
msgid "Last Active"
|
3086 |
msgstr ""
|
3087 |
|
3088 |
-
#: bp-groups/bp-groups-
|
3089 |
-
msgid "Select group %1$d"
|
3090 |
-
msgstr ""
|
3091 |
-
|
3092 |
-
#: bp-groups/bp-groups-adminbar.php:48 bp-groups/bp-groups-buddybar.php:33
|
3093 |
msgid "Edit Details"
|
3094 |
msgstr ""
|
3095 |
|
@@ -3101,36 +3092,36 @@ msgstr ""
|
|
3101 |
msgid "Edit Avatar"
|
3102 |
msgstr ""
|
3103 |
|
3104 |
-
#: bp-groups/bp-groups-adminbar.php:75 bp-groups/bp-groups-buddybar.php:
|
3105 |
msgid "Manage Invitations"
|
3106 |
msgstr ""
|
3107 |
|
3108 |
-
#: bp-groups/bp-groups-adminbar.php:84 bp-groups/bp-groups-buddybar.php:
|
3109 |
msgid "Manage Members"
|
3110 |
msgstr ""
|
3111 |
|
3112 |
-
#: bp-groups/bp-groups-adminbar.php:93 bp-groups/bp-groups-buddybar.php:
|
3113 |
msgid "Membership Requests"
|
3114 |
msgstr ""
|
3115 |
|
3116 |
-
#: bp-groups/bp-groups-buddybar.php:
|
3117 |
msgid "Admin Options"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
-
#: bp-groups/bp-groups-buddybar.php:
|
3121 |
msgid "Group Settings"
|
3122 |
msgstr ""
|
3123 |
|
3124 |
-
#: bp-groups/bp-groups-buddybar.php:
|
3125 |
-
#: bp-groups/bp-groups-template.php:
|
3126 |
msgid "Group Avatar"
|
3127 |
msgstr ""
|
3128 |
|
3129 |
-
#: bp-groups/bp-groups-classes.php:
|
3130 |
msgid "Group Mod"
|
3131 |
msgstr ""
|
3132 |
|
3133 |
-
#: bp-groups/bp-groups-classes.php:
|
3134 |
msgid "Group Admin"
|
3135 |
msgstr ""
|
3136 |
|
@@ -3146,16 +3137,16 @@ msgstr ""
|
|
3146 |
msgid "%1$s edited the forum topic %2$s in the group %3$s"
|
3147 |
msgstr ""
|
3148 |
|
3149 |
-
#: bp-groups/bp-groups-functions.php:
|
3150 |
msgid "As the only Admin, you cannot leave the group."
|
3151 |
msgstr ""
|
3152 |
|
3153 |
-
#: bp-groups/bp-groups-functions.php:
|
3154 |
#: bp-groups/bp-groups-screens.php:62
|
3155 |
msgid "%1$s joined the group %2$s"
|
3156 |
msgstr ""
|
3157 |
|
3158 |
-
#: bp-groups/bp-groups-functions.php:
|
3159 |
msgid "%1$s posted an update in the group %2$s"
|
3160 |
msgstr ""
|
3161 |
|
@@ -3171,11 +3162,11 @@ msgstr ""
|
|
3171 |
msgid "You are not an admin of this group."
|
3172 |
msgstr ""
|
3173 |
|
3174 |
-
#: bp-groups/bp-groups-loader.php:298 bp-groups/bp-groups-template.php:
|
3175 |
msgid "Details"
|
3176 |
msgstr ""
|
3177 |
|
3178 |
-
#: bp-groups/bp-groups-loader.php:310 bp-groups/bp-groups-template.php:
|
3179 |
msgid "Avatar"
|
3180 |
msgstr ""
|
3181 |
|
@@ -3188,7 +3179,7 @@ msgid "Groups <span>%d</span>"
|
|
3188 |
msgstr ""
|
3189 |
|
3190 |
#: bp-groups/bp-groups-loader.php:368 bp-groups/bp-groups-loader.php:398
|
3191 |
-
#: bp-groups/bp-groups-loader.php:537 bp-groups/bp-groups-loader.php:
|
3192 |
msgid "Memberships"
|
3193 |
msgstr ""
|
3194 |
|
@@ -3201,10 +3192,10 @@ msgctxt "Group home navigation title"
|
|
3201 |
msgid "Home"
|
3202 |
msgstr ""
|
3203 |
|
3204 |
-
#: bp-groups/bp-groups-loader.php:427 bp-groups/bp-groups-template.php:
|
3205 |
-
#: bp-groups/bp-groups-template.php:
|
3206 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
3207 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
3208 |
msgid "Request Membership"
|
3209 |
msgstr ""
|
3210 |
|
@@ -3445,183 +3436,187 @@ msgstr ""
|
|
3445 |
msgid "Your membership request was sent to the group administrator successfully. You will be notified when the group administrator responds to your request."
|
3446 |
msgstr ""
|
3447 |
|
3448 |
-
#: bp-groups/bp-groups-screens.php:
|
3449 |
msgid "There was an error updating group details, please try again."
|
3450 |
msgstr ""
|
3451 |
|
3452 |
-
#: bp-groups/bp-groups-screens.php:
|
3453 |
msgid "Group details were successfully updated."
|
3454 |
msgstr ""
|
3455 |
|
3456 |
-
#: bp-groups/bp-groups-screens.php:
|
3457 |
msgid "There was an error updating group settings, please try again."
|
3458 |
msgstr ""
|
3459 |
|
3460 |
-
#: bp-groups/bp-groups-screens.php:
|
3461 |
msgid "Group settings were successfully updated."
|
3462 |
msgstr ""
|
3463 |
|
3464 |
-
#: bp-groups/bp-groups-screens.php:
|
3465 |
msgid "Your avatar was deleted successfully!"
|
3466 |
msgstr ""
|
3467 |
|
3468 |
-
#: bp-groups/bp-groups-screens.php:
|
3469 |
msgid "There was a problem deleting that avatar, please try again."
|
3470 |
msgstr ""
|
3471 |
|
3472 |
-
#: bp-groups/bp-groups-screens.php:
|
3473 |
msgid "There was a problem cropping the avatar."
|
3474 |
msgstr ""
|
3475 |
|
3476 |
-
#: bp-groups/bp-groups-screens.php:
|
3477 |
msgid "The new group avatar was uploaded successfully."
|
3478 |
msgstr ""
|
3479 |
|
3480 |
-
#: bp-groups/bp-groups-screens.php:
|
3481 |
msgid "There was an error when promoting that user, please try again"
|
3482 |
msgstr ""
|
3483 |
|
3484 |
-
#: bp-groups/bp-groups-screens.php:
|
3485 |
msgid "User promoted successfully"
|
3486 |
msgstr ""
|
3487 |
|
3488 |
-
#: bp-groups/bp-groups-screens.php:
|
3489 |
msgid "There was an error when demoting that user, please try again"
|
3490 |
msgstr ""
|
3491 |
|
3492 |
-
#: bp-groups/bp-groups-screens.php:
|
3493 |
msgid "User demoted successfully"
|
3494 |
msgstr ""
|
3495 |
|
3496 |
-
#: bp-groups/bp-groups-screens.php:
|
3497 |
msgid "There was an error when banning that user, please try again"
|
3498 |
msgstr ""
|
3499 |
|
3500 |
-
#: bp-groups/bp-groups-screens.php:
|
3501 |
msgid "User banned successfully"
|
3502 |
msgstr ""
|
3503 |
|
3504 |
-
#: bp-groups/bp-groups-screens.php:
|
3505 |
msgid "There was an error when unbanning that user, please try again"
|
3506 |
msgstr ""
|
3507 |
|
3508 |
-
#: bp-groups/bp-groups-screens.php:
|
3509 |
msgid "User ban removed successfully"
|
3510 |
msgstr ""
|
3511 |
|
3512 |
-
#: bp-groups/bp-groups-screens.php:
|
3513 |
msgid "There was an error removing that user from the group, please try again"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
-
#: bp-groups/bp-groups-screens.php:
|
3517 |
msgid "User removed successfully"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
-
#: bp-groups/bp-groups-screens.php:
|
3521 |
msgid "There was an error accepting the membership request, please try again."
|
3522 |
msgstr ""
|
3523 |
|
3524 |
-
#: bp-groups/bp-groups-screens.php:
|
3525 |
msgid "Group membership request accepted"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
-
#: bp-groups/bp-groups-screens.php:
|
3529 |
msgid "There was an error rejecting the membership request, please try again."
|
3530 |
msgstr ""
|
3531 |
|
3532 |
-
#: bp-groups/bp-groups-screens.php:
|
3533 |
msgid "Group membership request rejected"
|
3534 |
msgstr ""
|
3535 |
|
3536 |
-
#: bp-groups/bp-groups-screens.php:
|
3537 |
msgid "There was an error deleting the group, please try again."
|
3538 |
msgstr ""
|
3539 |
|
3540 |
-
#: bp-groups/bp-groups-screens.php:
|
3541 |
msgid "The group was deleted successfully"
|
3542 |
msgstr ""
|
3543 |
|
3544 |
-
#: bp-groups/bp-groups-screens.php:
|
3545 |
msgid "A member invites you to join a group"
|
3546 |
msgstr ""
|
3547 |
|
3548 |
-
#: bp-groups/bp-groups-screens.php:
|
3549 |
msgid "Group information is updated"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
-
#: bp-groups/bp-groups-screens.php:
|
3553 |
msgid "You are promoted to a group administrator or moderator"
|
3554 |
msgstr ""
|
3555 |
|
3556 |
-
#: bp-groups/bp-groups-screens.php:
|
3557 |
msgid "A member requests to join a private group for which you are an admin"
|
3558 |
msgstr ""
|
3559 |
|
3560 |
-
#: bp-groups/bp-groups-template.php:
|
3561 |
msgctxt "Group pagination previous text"
|
3562 |
msgid "←"
|
3563 |
msgstr ""
|
3564 |
|
3565 |
-
#: bp-groups/bp-groups-template.php:
|
3566 |
msgctxt "Group pagination next text"
|
3567 |
msgid "→"
|
3568 |
msgstr ""
|
3569 |
|
3570 |
-
#: bp-groups/bp-groups-template.php:
|
3571 |
msgid "Public Group"
|
3572 |
msgstr ""
|
3573 |
|
3574 |
-
#: bp-groups/bp-groups-template.php:
|
3575 |
msgid "Hidden Group"
|
3576 |
msgstr ""
|
3577 |
|
3578 |
-
#: bp-groups/bp-groups-template.php:
|
3579 |
msgid "Private Group"
|
3580 |
msgstr ""
|
3581 |
|
3582 |
-
#: bp-groups/bp-groups-template.php:
|
3583 |
msgid "Group"
|
3584 |
msgstr ""
|
3585 |
|
3586 |
-
#: bp-groups/bp-groups-template.php:
|
3587 |
msgid "not yet active"
|
3588 |
msgstr ""
|
3589 |
|
3590 |
-
#: bp-groups/bp-groups-template.php:
|
3591 |
msgid "Group creator avatar of %s"
|
3592 |
msgstr ""
|
3593 |
|
3594 |
-
#: bp-groups/bp-groups-template.php:
|
3595 |
msgid "No Admins"
|
3596 |
msgstr ""
|
3597 |
|
3598 |
-
#: bp-groups/bp-groups-template.php:
|
3599 |
msgid "No Mods"
|
3600 |
msgstr ""
|
3601 |
|
3602 |
-
#: bp-groups/bp-groups-template.php:
|
3603 |
msgid "Filter Groups"
|
3604 |
msgstr ""
|
3605 |
|
3606 |
-
#: bp-groups/bp-groups-template.php:
|
3607 |
msgid "Viewing group %1$s to %2$s (of %3$s groups)"
|
3608 |
msgstr ""
|
3609 |
|
3610 |
-
#: bp-groups/bp-groups-template.php:
|
|
|
|
|
|
|
|
|
3611 |
#: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:14
|
3612 |
#: bp-themes/bp-default/members/single/groups/invites.php:14
|
3613 |
msgid "%s members"
|
3614 |
msgstr ""
|
3615 |
|
3616 |
-
#: bp-groups/bp-groups-template.php:
|
3617 |
msgid "%d topic"
|
3618 |
msgstr ""
|
3619 |
|
3620 |
-
#: bp-groups/bp-groups-template.php:
|
3621 |
msgid "%d topics"
|
3622 |
msgstr ""
|
3623 |
|
3624 |
-
#: bp-groups/bp-groups-template.php:
|
3625 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:190
|
3626 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:217
|
3627 |
#: bp-themes/bp-default/groups/single/admin.php:190
|
@@ -3629,16 +3624,16 @@ msgstr ""
|
|
3629 |
msgid "Demote to Member"
|
3630 |
msgstr ""
|
3631 |
|
3632 |
-
#: bp-groups/bp-groups-template.php:
|
3633 |
-
#: bp-groups/bp-groups-template.php:
|
3634 |
msgid "joined %s"
|
3635 |
msgstr ""
|
3636 |
|
3637 |
-
#: bp-groups/bp-groups-template.php:
|
3638 |
msgid "This group has no administrators"
|
3639 |
msgstr ""
|
3640 |
|
3641 |
-
#: bp-groups/bp-groups-template.php:
|
3642 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:216
|
3643 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:272
|
3644 |
#: bp-themes/bp-default/groups/single/admin.php:216
|
@@ -3646,75 +3641,75 @@ msgstr ""
|
|
3646 |
msgid "Promote to Admin"
|
3647 |
msgstr ""
|
3648 |
|
3649 |
-
#: bp-groups/bp-groups-template.php:
|
3650 |
msgid "This group has no moderators"
|
3651 |
msgstr ""
|
3652 |
|
3653 |
-
#: bp-groups/bp-groups-template.php:
|
3654 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
3655 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
3656 |
msgid "Leave Group"
|
3657 |
msgstr ""
|
3658 |
|
3659 |
-
#: bp-groups/bp-groups-template.php:
|
3660 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
3661 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
3662 |
msgid "Join Group"
|
3663 |
msgstr ""
|
3664 |
|
3665 |
-
#: bp-groups/bp-groups-template.php:
|
3666 |
msgid "Request Sent"
|
3667 |
msgstr ""
|
3668 |
|
3669 |
-
#: bp-groups/bp-groups-template.php:
|
3670 |
msgid "This is a private group and you must request group membership in order to join."
|
3671 |
msgstr ""
|
3672 |
|
3673 |
-
#: bp-groups/bp-groups-template.php:
|
3674 |
msgid "This is a private group. To join you must be a registered site member and request group membership."
|
3675 |
msgstr ""
|
3676 |
|
3677 |
-
#: bp-groups/bp-groups-template.php:
|
3678 |
msgid "This is a private group. Your membership request is awaiting approval from the group administrator."
|
3679 |
msgstr ""
|
3680 |
|
3681 |
-
#: bp-groups/bp-groups-template.php:
|
3682 |
msgid "This is a hidden group and only invited members can join."
|
3683 |
msgstr ""
|
3684 |
|
3685 |
-
#: bp-groups/bp-groups-template.php:
|
3686 |
msgid "Viewing members %1$s to %2$s (of %3$s members)"
|
3687 |
msgstr ""
|
3688 |
|
3689 |
-
#: bp-groups/bp-groups-template.php:
|
3690 |
msgid "Group avatar"
|
3691 |
msgstr ""
|
3692 |
|
3693 |
-
#: bp-groups/bp-groups-template.php:
|
3694 |
msgid "Recently Joined"
|
3695 |
msgstr ""
|
3696 |
|
3697 |
-
#: bp-groups/bp-groups-template.php:
|
3698 |
msgid "Most Popular"
|
3699 |
msgstr ""
|
3700 |
|
3701 |
-
#: bp-groups/bp-groups-template.php:
|
3702 |
msgid "Administrator Of"
|
3703 |
msgstr ""
|
3704 |
|
3705 |
-
#: bp-groups/bp-groups-template.php:
|
3706 |
msgid "Moderator Of"
|
3707 |
msgstr ""
|
3708 |
|
3709 |
-
#: bp-groups/bp-groups-template.php:
|
3710 |
msgid "No Group Avatar"
|
3711 |
msgstr ""
|
3712 |
|
3713 |
-
#: bp-groups/bp-groups-template.php:
|
3714 |
msgid "requested %s"
|
3715 |
msgstr ""
|
3716 |
|
3717 |
-
#: bp-groups/bp-groups-template.php:
|
3718 |
msgid "Group Activity RSS Feed"
|
3719 |
msgstr ""
|
3720 |
|
@@ -3727,27 +3722,27 @@ msgctxt "widget name"
|
|
3727 |
msgid "(BuddyPress) Groups"
|
3728 |
msgstr ""
|
3729 |
|
3730 |
-
#: bp-groups/bp-groups-widgets.php:
|
3731 |
msgid "created %s"
|
3732 |
msgstr ""
|
3733 |
|
3734 |
-
#: bp-groups/bp-groups-widgets.php:
|
3735 |
msgid "There are no groups to display."
|
3736 |
msgstr ""
|
3737 |
|
3738 |
-
#: bp-groups/bp-groups-widgets.php:
|
3739 |
msgid "Link widget title to Groups directory"
|
3740 |
msgstr ""
|
3741 |
|
3742 |
-
#: bp-groups/bp-groups-widgets.php:
|
3743 |
msgid "Max groups to show:"
|
3744 |
msgstr ""
|
3745 |
|
3746 |
-
#: bp-groups/bp-groups-widgets.php:
|
3747 |
msgid "Default groups to show:"
|
3748 |
msgstr ""
|
3749 |
|
3750 |
-
#: bp-groups/bp-groups-widgets.php:
|
3751 |
msgid "No groups matched the current filter."
|
3752 |
msgstr ""
|
3753 |
|
@@ -3755,7 +3750,7 @@ msgstr ""
|
|
3755 |
msgid "Cheatin’ huh?"
|
3756 |
msgstr ""
|
3757 |
|
3758 |
-
#: bp-loader.php:
|
3759 |
msgid "BuddyPress Default"
|
3760 |
msgstr ""
|
3761 |
|
@@ -3788,26 +3783,26 @@ msgid "Edit Member"
|
|
3788 |
msgstr ""
|
3789 |
|
3790 |
#: bp-members/bp-members-adminbar.php:99
|
3791 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
3792 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
3793 |
msgid "Edit Profile"
|
3794 |
msgstr ""
|
3795 |
|
3796 |
-
#: bp-members/bp-members-adminbar.php:
|
3797 |
#: bp-members/bp-members-buddybar.php:131
|
3798 |
msgid "User Capabilities"
|
3799 |
msgstr ""
|
3800 |
|
3801 |
-
#: bp-members/bp-members-adminbar.php:
|
3802 |
#: bp-settings/bp-settings-loader.php:130
|
3803 |
#: bp-settings/bp-settings-loader.php:190
|
3804 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php:
|
3805 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:50
|
3806 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:76
|
3807 |
msgid "Delete Account"
|
3808 |
msgstr ""
|
3809 |
|
3810 |
-
#: bp-members/bp-members-adminbar.php:
|
3811 |
msgid "No new notifications"
|
3812 |
msgstr ""
|
3813 |
|
@@ -3836,66 +3831,61 @@ msgstr ""
|
|
3836 |
msgid "Delete %s's Account"
|
3837 |
msgstr ""
|
3838 |
|
3839 |
-
#: bp-members/bp-members-functions.php:
|
3840 |
-
#: bp-members/bp-members-functions.php:1511
|
3841 |
msgid "<strong>ERROR</strong>: Your account has been marked as a spammer."
|
3842 |
msgstr ""
|
3843 |
|
3844 |
-
#: bp-members/bp-members-functions.php:
|
3845 |
msgid "Please check your email address."
|
3846 |
msgstr ""
|
3847 |
|
3848 |
-
#: bp-members/bp-members-functions.php:
|
3849 |
-
#: bp-members/bp-members-functions.php:
|
3850 |
msgid "Sorry, that email address is not allowed!"
|
3851 |
msgstr ""
|
3852 |
|
3853 |
-
#: bp-members/bp-members-functions.php:
|
3854 |
msgid "Sorry, that email address is already used!"
|
3855 |
msgstr ""
|
3856 |
|
3857 |
-
#: bp-members/bp-members-functions.php:
|
3858 |
msgid "Please enter a username"
|
3859 |
msgstr ""
|
3860 |
|
3861 |
-
#: bp-members/bp-members-functions.php:
|
3862 |
-
msgid "
|
3863 |
-
msgstr ""
|
3864 |
-
|
3865 |
-
#: bp-members/bp-members-functions.php:1139
|
3866 |
-
msgid "Usernames can contain only letters, numbers, ., -, *, and @"
|
3867 |
msgstr ""
|
3868 |
|
3869 |
-
#: bp-members/bp-members-functions.php:
|
3870 |
msgid "Username must be at least 4 characters"
|
3871 |
msgstr ""
|
3872 |
|
3873 |
-
#: bp-members/bp-members-functions.php:
|
3874 |
msgid "Sorry, usernames may not contain the character \"_\"!"
|
3875 |
msgstr ""
|
3876 |
|
3877 |
-
#: bp-members/bp-members-functions.php:
|
3878 |
msgid "Sorry, usernames must have letters too!"
|
3879 |
msgstr ""
|
3880 |
|
3881 |
-
#: bp-members/bp-members-functions.php:
|
3882 |
msgid "Sorry, that username already exists!"
|
3883 |
msgstr ""
|
3884 |
|
3885 |
-
#: bp-members/bp-members-functions.php:
|
3886 |
msgid "<strong>ERROR</strong>: Couldn’t register you... please contact the <a href=\"mailto:%s\">webmaster</a> !"
|
3887 |
msgstr ""
|
3888 |
|
3889 |
-
#: bp-members/bp-members-functions.php:
|
3890 |
-
#: bp-members/bp-members-functions.php:
|
3891 |
msgid "Invalid activation key"
|
3892 |
msgstr ""
|
3893 |
|
3894 |
-
#: bp-members/bp-members-functions.php:
|
3895 |
msgid "%s became a registered member"
|
3896 |
msgstr ""
|
3897 |
|
3898 |
-
#: bp-members/bp-members-functions.php:
|
3899 |
msgid "<strong>ERROR</strong>: Your account has not been activated. Check your email for the activation link."
|
3900 |
msgstr ""
|
3901 |
|
@@ -3923,12 +3913,12 @@ msgstr ""
|
|
3923 |
msgid "Your account is now active!"
|
3924 |
msgstr ""
|
3925 |
|
3926 |
-
#: bp-members/bp-members-screens.php:
|
3927 |
#: bp-themes/bp-default/registration/register.php:253
|
3928 |
-
msgid "
|
3929 |
msgstr ""
|
3930 |
|
3931 |
-
#: bp-members/bp-members-screens.php:
|
3932 |
#: bp-themes/bp-default/registration/activate.php:11
|
3933 |
msgid "Account Activated"
|
3934 |
msgstr ""
|
@@ -3943,41 +3933,41 @@ msgctxt "Member pagination next text"
|
|
3943 |
msgid "→"
|
3944 |
msgstr ""
|
3945 |
|
3946 |
-
#: bp-members/bp-members-template.php:
|
3947 |
msgid "Viewing member %1$s to %2$s (of %3$s active members)"
|
3948 |
msgstr ""
|
3949 |
|
3950 |
-
#: bp-members/bp-members-template.php:
|
3951 |
msgid "Viewing member %1$s to %2$s (of %3$s members with friends)"
|
3952 |
msgstr ""
|
3953 |
|
3954 |
-
#: bp-members/bp-members-template.php:
|
3955 |
msgid "Viewing member %1$s to %2$s (of %3$s members online)"
|
3956 |
msgstr ""
|
3957 |
|
3958 |
-
#: bp-members/bp-members-template.php:
|
3959 |
msgid "Viewing member %1$s to %2$s (of %3$s members)"
|
3960 |
msgstr ""
|
3961 |
|
3962 |
-
#: bp-members/bp-members-template.php:
|
3963 |
msgid "Never active"
|
3964 |
msgstr ""
|
3965 |
|
3966 |
-
#: bp-members/bp-members-template.php:
|
3967 |
msgctxt "member latest update in member directory"
|
3968 |
msgid "- "%s ""
|
3969 |
msgstr ""
|
3970 |
|
3971 |
-
#: bp-members/bp-members-template.php:
|
3972 |
msgctxt "Records the timestamp that the user registered into the activy stream"
|
3973 |
msgid "registered %s"
|
3974 |
msgstr ""
|
3975 |
|
3976 |
-
#: bp-members/bp-members-template.php:
|
3977 |
msgid "Your Avatar"
|
3978 |
msgstr ""
|
3979 |
|
3980 |
-
#: bp-members/bp-members-template.php:
|
3981 |
msgid "Activity RSS Feed"
|
3982 |
msgstr ""
|
3983 |
|
@@ -4002,8 +3992,8 @@ msgid "There was an error deleting messages."
|
|
4002 |
msgstr ""
|
4003 |
|
4004 |
#: bp-messages/bp-messages-actions.php:91
|
4005 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4006 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
4007 |
msgid "Messages deleted."
|
4008 |
msgstr ""
|
4009 |
|
@@ -4192,80 +4182,80 @@ msgstr ""
|
|
4192 |
#: bp-messages/bp-messages-template.php:607
|
4193 |
#: bp-templates/bp-legacy/buddypress/members/register.php:166
|
4194 |
#: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:130
|
4195 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4196 |
-
#: bp-themes/bp-default/functions.php:
|
4197 |
#: bp-themes/bp-default/members/single/profile/edit.php:130
|
4198 |
#: bp-themes/bp-default/registration/register.php:171
|
4199 |
msgid "Close"
|
4200 |
msgstr ""
|
4201 |
|
4202 |
-
#: bp-messages/bp-messages-template.php:
|
4203 |
msgid "Send a private message to this user."
|
4204 |
msgstr ""
|
4205 |
|
4206 |
-
#: bp-messages/bp-messages-template.php:
|
4207 |
msgid "Private Message"
|
4208 |
msgstr ""
|
4209 |
|
4210 |
-
#: bp-messages/bp-messages-template.php:
|
4211 |
msgid "%d Recipients"
|
4212 |
msgstr ""
|
4213 |
|
4214 |
-
#: bp-messages/bp-messages-template.php:
|
4215 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4216 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
4217 |
msgid "Sent %s"
|
4218 |
msgstr ""
|
4219 |
|
4220 |
-
#: bp-settings/bp-settings-actions.php:
|
4221 |
msgid "That email address is invalid. Check the formatting and try again."
|
4222 |
msgstr ""
|
4223 |
|
4224 |
-
#: bp-settings/bp-settings-actions.php:
|
4225 |
msgid "That email address is currently unavailable for use."
|
4226 |
msgstr ""
|
4227 |
|
4228 |
-
#: bp-settings/bp-settings-actions.php:
|
4229 |
msgid "That email address is already taken."
|
4230 |
msgstr ""
|
4231 |
|
4232 |
-
#: bp-settings/bp-settings-actions.php:
|
4233 |
msgid "Email address cannot be empty."
|
4234 |
msgstr ""
|
4235 |
|
4236 |
-
#: bp-settings/bp-settings-actions.php:
|
4237 |
msgid "Your current password is invalid."
|
4238 |
msgstr ""
|
4239 |
|
4240 |
-
#: bp-settings/bp-settings-actions.php:
|
4241 |
msgid "The new password fields did not match."
|
4242 |
msgstr ""
|
4243 |
|
4244 |
-
#: bp-settings/bp-settings-actions.php:
|
4245 |
msgid "One of the password fields was empty."
|
4246 |
msgstr ""
|
4247 |
|
4248 |
-
#: bp-settings/bp-settings-actions.php:
|
4249 |
msgid "Your settings have been saved."
|
4250 |
msgstr ""
|
4251 |
|
4252 |
-
#: bp-settings/bp-settings-actions.php:
|
4253 |
msgid "No changes were made to your account."
|
4254 |
msgstr ""
|
4255 |
|
4256 |
-
#: bp-settings/bp-settings-actions.php:
|
4257 |
msgid "No changes were made to this account."
|
4258 |
msgstr ""
|
4259 |
|
4260 |
-
#: bp-settings/bp-settings-actions.php:
|
4261 |
msgid "Your notification settings have been saved."
|
4262 |
msgstr ""
|
4263 |
|
4264 |
-
#: bp-settings/bp-settings-actions.php:
|
4265 |
msgid "This user's notification settings have been saved."
|
4266 |
msgstr ""
|
4267 |
|
4268 |
-
#: bp-settings/bp-settings-actions.php:
|
4269 |
msgid "%s was successfully deleted."
|
4270 |
msgstr ""
|
4271 |
|
@@ -4311,24 +4301,24 @@ msgid "Mark as Favorite"
|
|
4311 |
msgstr ""
|
4312 |
|
4313 |
#: bp-templates/bp-legacy/buddypress/activity/entry.php:66
|
4314 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4315 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4316 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4317 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
4318 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
4319 |
#: bp-themes/bp-default/activity/entry.php:68
|
4320 |
-
#: bp-themes/bp-default/functions.php:
|
4321 |
msgid "Favorite"
|
4322 |
msgstr ""
|
4323 |
|
4324 |
#: bp-templates/bp-legacy/buddypress/activity/entry.php:70
|
4325 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4326 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4327 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4328 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
4329 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
4330 |
#: bp-themes/bp-default/activity/entry.php:72
|
4331 |
-
#: bp-themes/bp-default/functions.php:
|
4332 |
msgid "Remove Favorite"
|
4333 |
msgstr ""
|
4334 |
|
@@ -4343,9 +4333,9 @@ msgid "The public activity for everyone on this site."
|
|
4343 |
msgstr ""
|
4344 |
|
4345 |
#: bp-templates/bp-legacy/buddypress/activity/index.php:19
|
4346 |
-
#: bp-templates/bp-legacy/buddypress/members/index.php:
|
4347 |
#: bp-themes/bp-default/activity/index.php:39
|
4348 |
-
#: bp-themes/bp-default/members/index.php:
|
4349 |
msgid "All Members <span>%s</span>"
|
4350 |
msgstr ""
|
4351 |
|
@@ -4355,9 +4345,9 @@ msgid "The activity of my friends only."
|
|
4355 |
msgstr ""
|
4356 |
|
4357 |
#: bp-templates/bp-legacy/buddypress/activity/index.php:29
|
4358 |
-
#: bp-templates/bp-legacy/buddypress/members/index.php:
|
4359 |
#: bp-themes/bp-default/activity/index.php:49
|
4360 |
-
#: bp-themes/bp-default/members/index.php:
|
4361 |
msgid "My Friends <span>%s</span>"
|
4362 |
msgstr ""
|
4363 |
|
@@ -4383,103 +4373,100 @@ msgstr ""
|
|
4383 |
msgid "My Favorites <span>%s</span>"
|
4384 |
msgstr ""
|
4385 |
|
4386 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4387 |
-
#: bp-themes/bp-default/activity/index.php:
|
4388 |
msgid "Activity that I have been mentioned in."
|
4389 |
msgstr ""
|
4390 |
|
4391 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4392 |
-
#: bp-themes/bp-default/activity/index.php:
|
4393 |
-
|
4394 |
-
|
4395 |
-
msgid_plural "%s new"
|
4396 |
-
msgstr[0] ""
|
4397 |
-
msgstr[1] ""
|
4398 |
|
4399 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4400 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:3
|
4401 |
-
#: bp-themes/bp-default/activity/index.php:
|
4402 |
#: bp-themes/bp-default/groups/single/activity.php:3
|
4403 |
msgid "RSS Feed"
|
4404 |
msgstr ""
|
4405 |
|
4406 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4407 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:3
|
4408 |
-
#: bp-themes/bp-default/activity/index.php:
|
4409 |
#: bp-themes/bp-default/groups/single/activity.php:3
|
4410 |
msgid "RSS"
|
4411 |
msgstr ""
|
4412 |
|
4413 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4414 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:8
|
4415 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:18
|
4416 |
-
#: bp-themes/bp-default/activity/index.php:
|
4417 |
#: bp-themes/bp-default/groups/single/activity.php:8
|
4418 |
#: bp-themes/bp-default/members/single/activity.php:18
|
4419 |
msgid "Show:"
|
4420 |
msgstr ""
|
4421 |
|
4422 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4423 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:10
|
4424 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:20
|
4425 |
-
#: bp-themes/bp-default/activity/index.php:
|
4426 |
#: bp-themes/bp-default/groups/single/activity.php:10
|
4427 |
#: bp-themes/bp-default/members/single/activity.php:20
|
4428 |
msgid "Everything"
|
4429 |
msgstr ""
|
4430 |
|
4431 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4432 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:11
|
4433 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:21
|
4434 |
-
#: bp-themes/bp-default/activity/index.php:
|
4435 |
#: bp-themes/bp-default/groups/single/activity.php:11
|
4436 |
#: bp-themes/bp-default/members/single/activity.php:21
|
4437 |
msgid "Updates"
|
4438 |
msgstr ""
|
4439 |
|
4440 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4441 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:28
|
4442 |
-
#: bp-themes/bp-default/activity/index.php:
|
4443 |
#: bp-themes/bp-default/members/single/activity.php:28
|
4444 |
msgid "Comments"
|
4445 |
msgstr ""
|
4446 |
|
4447 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4448 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:14
|
4449 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:43
|
4450 |
-
#: bp-themes/bp-default/activity/index.php:
|
4451 |
#: bp-themes/bp-default/groups/single/activity.php:14
|
4452 |
#: bp-themes/bp-default/members/single/activity.php:43
|
4453 |
msgid "Forum Topics"
|
4454 |
msgstr ""
|
4455 |
|
4456 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4457 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:15
|
4458 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:44
|
4459 |
-
#: bp-themes/bp-default/activity/index.php:
|
4460 |
#: bp-themes/bp-default/groups/single/activity.php:15
|
4461 |
#: bp-themes/bp-default/members/single/activity.php:44
|
4462 |
msgid "Forum Replies"
|
4463 |
msgstr ""
|
4464 |
|
4465 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4466 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:50
|
4467 |
-
#: bp-themes/bp-default/activity/index.php:
|
4468 |
#: bp-themes/bp-default/members/single/activity.php:50
|
4469 |
msgid "New Groups"
|
4470 |
msgstr ""
|
4471 |
|
4472 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4473 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:18
|
4474 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:51
|
4475 |
-
#: bp-themes/bp-default/activity/index.php:
|
4476 |
#: bp-themes/bp-default/groups/single/activity.php:18
|
4477 |
#: bp-themes/bp-default/members/single/activity.php:51
|
4478 |
msgid "Group Memberships"
|
4479 |
msgstr ""
|
4480 |
|
4481 |
-
#: bp-templates/bp-legacy/buddypress/activity/index.php:
|
4482 |
-
#: bp-themes/bp-default/activity/index.php:
|
4483 |
msgid "New Members"
|
4484 |
msgstr ""
|
4485 |
|
@@ -4527,7 +4514,7 @@ msgstr ""
|
|
4527 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:42
|
4528 |
#: bp-templates/bp-legacy/buddypress/groups/index.php:36
|
4529 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum.php:36
|
4530 |
-
#: bp-templates/bp-legacy/buddypress/members/index.php:
|
4531 |
#: bp-templates/bp-legacy/buddypress/members/single/blogs.php:19
|
4532 |
#: bp-templates/bp-legacy/buddypress/members/single/forums.php:18
|
4533 |
#: bp-templates/bp-legacy/buddypress/members/single/friends.php:20
|
@@ -4536,7 +4523,7 @@ msgstr ""
|
|
4536 |
#: bp-themes/bp-default/forums/index.php:60
|
4537 |
#: bp-themes/bp-default/groups/index.php:55
|
4538 |
#: bp-themes/bp-default/groups/single/forum.php:36
|
4539 |
-
#: bp-themes/bp-default/members/index.php:
|
4540 |
#: bp-themes/bp-default/members/single/blogs.php:19
|
4541 |
#: bp-themes/bp-default/members/single/forums.php:18
|
4542 |
#: bp-themes/bp-default/members/single/friends.php:20
|
@@ -4548,7 +4535,7 @@ msgstr ""
|
|
4548 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:44
|
4549 |
#: bp-templates/bp-legacy/buddypress/groups/index.php:39
|
4550 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum.php:38
|
4551 |
-
#: bp-templates/bp-legacy/buddypress/members/index.php:
|
4552 |
#: bp-templates/bp-legacy/buddypress/members/single/blogs.php:21
|
4553 |
#: bp-templates/bp-legacy/buddypress/members/single/forums.php:20
|
4554 |
#: bp-templates/bp-legacy/buddypress/members/single/friends.php:22
|
@@ -4557,7 +4544,7 @@ msgstr ""
|
|
4557 |
#: bp-themes/bp-default/forums/index.php:62
|
4558 |
#: bp-themes/bp-default/groups/index.php:57
|
4559 |
#: bp-themes/bp-default/groups/single/forum.php:38
|
4560 |
-
#: bp-themes/bp-default/members/index.php:
|
4561 |
#: bp-themes/bp-default/members/single/blogs.php:21
|
4562 |
#: bp-themes/bp-default/members/single/forums.php:20
|
4563 |
#: bp-themes/bp-default/members/single/friends.php:22
|
@@ -4567,13 +4554,13 @@ msgstr ""
|
|
4567 |
|
4568 |
#: bp-templates/bp-legacy/buddypress/blogs/index.php:40
|
4569 |
#: bp-templates/bp-legacy/buddypress/groups/index.php:42
|
4570 |
-
#: bp-templates/bp-legacy/buddypress/members/index.php:
|
4571 |
#: bp-templates/bp-legacy/buddypress/members/single/blogs.php:23
|
4572 |
#: bp-templates/bp-legacy/buddypress/members/single/friends.php:24
|
4573 |
#: bp-templates/bp-legacy/buddypress/members/single/groups.php:25
|
4574 |
#: bp-themes/bp-default/blogs/index.php:57
|
4575 |
#: bp-themes/bp-default/groups/index.php:60
|
4576 |
-
#: bp-themes/bp-default/members/index.php:
|
4577 |
#: bp-themes/bp-default/members/single/blogs.php:23
|
4578 |
#: bp-themes/bp-default/members/single/friends.php:24
|
4579 |
#: bp-themes/bp-default/members/single/groups.php:25
|
@@ -4676,7 +4663,7 @@ msgstr ""
|
|
4676 |
|
4677 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:98
|
4678 |
#: bp-themes/bp-default/forums/index.php:116
|
4679 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
4680 |
msgid "----"
|
4681 |
msgstr ""
|
4682 |
|
@@ -4877,8 +4864,8 @@ msgstr ""
|
|
4877 |
|
4878 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:222
|
4879 |
#: bp-templates/bp-legacy/buddypress/groups/single/send-invites.php:42
|
4880 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
4881 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
4882 |
#: bp-themes/bp-default/groups/create.php:229
|
4883 |
#: bp-themes/bp-default/groups/single/send-invites.php:42
|
4884 |
msgid "Remove Invite"
|
@@ -4935,9 +4922,9 @@ msgstr ""
|
|
4935 |
msgid "Newly Created"
|
4936 |
msgstr ""
|
4937 |
|
4938 |
-
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:
|
4939 |
-
#: bp-themes/bp-default/groups/single/admin.php:
|
4940 |
-
msgid "Notify group members of
|
4941 |
msgstr ""
|
4942 |
|
4943 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:137
|
@@ -5138,7 +5125,7 @@ msgstr ""
|
|
5138 |
|
5139 |
#: bp-templates/bp-legacy/buddypress/members/activate.php:16
|
5140 |
#: bp-themes/bp-default/registration/activate.php:25
|
5141 |
-
msgid "Your account was activated successfully! You can now
|
5142 |
msgstr ""
|
5143 |
|
5144 |
#: bp-templates/bp-legacy/buddypress/members/activate.php:21
|
@@ -5151,9 +5138,9 @@ msgstr ""
|
|
5151 |
msgid "Activation Key:"
|
5152 |
msgstr ""
|
5153 |
|
5154 |
-
#: bp-templates/bp-legacy/buddypress/members/index.php:
|
5155 |
#: bp-templates/bp-legacy/buddypress/members/single/friends.php:23
|
5156 |
-
#: bp-themes/bp-default/members/index.php:
|
5157 |
#: bp-themes/bp-default/members/single/friends.php:23
|
5158 |
msgid "Newest Registered"
|
5159 |
msgstr ""
|
@@ -5462,62 +5449,62 @@ msgstr ""
|
|
5462 |
msgid "%s's Profile"
|
5463 |
msgstr ""
|
5464 |
|
5465 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php:
|
5466 |
#: bp-themes/bp-default/members/single/settings/capabilities.php:57
|
5467 |
msgid "This user is a spammer."
|
5468 |
msgstr ""
|
5469 |
|
5470 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php:
|
5471 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:56
|
5472 |
msgid "Deleting your account will delete all of the content you have created. It will be completely irrecoverable."
|
5473 |
msgstr ""
|
5474 |
|
5475 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php:
|
5476 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:60
|
5477 |
msgid "Deleting this account will delete all of the content it has created. It will be completely irrecoverable."
|
5478 |
msgstr ""
|
5479 |
|
5480 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php:
|
5481 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:72
|
5482 |
msgid "I understand the consequences."
|
5483 |
msgstr ""
|
5484 |
|
5485 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:
|
5486 |
#: bp-themes/bp-default/members/single/settings/general.php:57
|
5487 |
msgid "Current Password <span>(required to update email or change current password)</span>"
|
5488 |
msgstr ""
|
5489 |
|
5490 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:
|
5491 |
#: bp-themes/bp-default/members/single/settings/general.php:58
|
5492 |
msgid "Password Lost and Found"
|
5493 |
msgstr ""
|
5494 |
|
5495 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:
|
5496 |
#: bp-themes/bp-default/members/single/settings/general.php:58
|
5497 |
msgid "Lost your password?"
|
5498 |
msgstr ""
|
5499 |
|
5500 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:
|
5501 |
#: bp-themes/bp-default/members/single/settings/general.php:62
|
5502 |
msgid "Account Email"
|
5503 |
msgstr ""
|
5504 |
|
5505 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:
|
5506 |
#: bp-themes/bp-default/members/single/settings/general.php:65
|
5507 |
msgid "Change Password <span>(leave blank for no change)</span>"
|
5508 |
msgstr ""
|
5509 |
|
5510 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:
|
5511 |
#: bp-themes/bp-default/members/single/settings/general.php:66
|
5512 |
msgid "New Password"
|
5513 |
msgstr ""
|
5514 |
|
5515 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:
|
5516 |
#: bp-themes/bp-default/members/single/settings/general.php:67
|
5517 |
msgid "Repeat New Password"
|
5518 |
msgstr ""
|
5519 |
|
5520 |
-
#: bp-templates/bp-legacy/buddypress/members/single/settings/notifications.php:
|
5521 |
#: bp-themes/bp-default/members/single/settings/notifications.php:54
|
5522 |
msgid "Send a notification by email when:"
|
5523 |
msgstr ""
|
@@ -5526,124 +5513,115 @@ msgstr ""
|
|
5526 |
msgid "BuddyPress Legacy"
|
5527 |
msgstr ""
|
5528 |
|
5529 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5530 |
#: bp-themes/bp-default/functions.php:158
|
5531 |
msgid "My Favorites"
|
5532 |
msgstr ""
|
5533 |
|
5534 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5535 |
#: bp-themes/bp-default/functions.php:159
|
5536 |
msgid "Accepted"
|
5537 |
msgstr ""
|
5538 |
|
5539 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5540 |
#: bp-themes/bp-default/functions.php:160
|
5541 |
msgid "Rejected"
|
5542 |
msgstr ""
|
5543 |
|
5544 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5545 |
#: bp-themes/bp-default/functions.php:161
|
5546 |
msgid "Show all comments for this thread"
|
5547 |
msgstr ""
|
5548 |
|
5549 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5550 |
#: bp-themes/bp-default/functions.php:162
|
5551 |
-
msgid "Show all %d comments"
|
5552 |
-
msgstr ""
|
5553 |
-
|
5554 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:234
|
5555 |
-
#: bp-themes/bp-default/functions.php:163
|
5556 |
msgid "Show all"
|
5557 |
msgstr ""
|
5558 |
|
5559 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5560 |
-
#: bp-themes/bp-default/functions.php:
|
5561 |
msgid "comments"
|
5562 |
msgstr ""
|
5563 |
|
5564 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5565 |
-
|
5566 |
-
msgstr ""
|
5567 |
-
|
5568 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:636
|
5569 |
-
#: bp-themes/bp-default/_inc/ajax.php:291
|
5570 |
msgid "There was a problem posting your update, please try again."
|
5571 |
msgstr ""
|
5572 |
|
5573 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5574 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5575 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5576 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5577 |
msgid "There was a problem when deleting. Please try again."
|
5578 |
msgstr ""
|
5579 |
|
5580 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5581 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5582 |
msgid " Friendship could not be requested."
|
5583 |
msgstr ""
|
5584 |
|
5585 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5586 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5587 |
msgid "Friendship request could not be cancelled."
|
5588 |
msgstr ""
|
5589 |
|
5590 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5591 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5592 |
msgid "Request Pending"
|
5593 |
msgstr ""
|
5594 |
|
5595 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5596 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5597 |
msgid "There was a problem accepting that request. Please try again."
|
5598 |
msgstr ""
|
5599 |
|
5600 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5601 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5602 |
msgid "There was a problem rejecting that request. Please try again."
|
5603 |
msgstr ""
|
5604 |
|
5605 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5606 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5607 |
msgid "Error joining group"
|
5608 |
msgstr ""
|
5609 |
|
5610 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5611 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5612 |
msgid "Error requesting membership"
|
5613 |
msgstr ""
|
5614 |
|
5615 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5616 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5617 |
msgid "Membership Requested"
|
5618 |
msgstr ""
|
5619 |
|
5620 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5621 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5622 |
msgid "Error leaving group"
|
5623 |
msgstr ""
|
5624 |
|
5625 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5626 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5627 |
msgid "There was a problem closing the notice."
|
5628 |
msgstr ""
|
5629 |
|
5630 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5631 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5632 |
msgid "There was a problem sending that reply. Please try again."
|
5633 |
msgstr ""
|
5634 |
|
5635 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5636 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5637 |
msgid "There was a problem marking messages as unread."
|
5638 |
msgstr ""
|
5639 |
|
5640 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5641 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5642 |
msgid "There was a problem marking messages as read."
|
5643 |
msgstr ""
|
5644 |
|
5645 |
-
#: bp-templates/bp-legacy/buddypress-functions.php:
|
5646 |
-
#: bp-themes/bp-default/_inc/ajax.php:
|
5647 |
msgid "There was a problem deleting messages."
|
5648 |
msgstr ""
|
5649 |
|
@@ -5788,78 +5766,78 @@ msgstr ""
|
|
5788 |
msgid "Primary Navigation"
|
5789 |
msgstr ""
|
5790 |
|
5791 |
-
#: bp-themes/bp-default/functions.php:
|
5792 |
msgid "The sidebar widget area"
|
5793 |
msgstr ""
|
5794 |
|
5795 |
-
#: bp-themes/bp-default/functions.php:
|
5796 |
msgid "First Footer Widget Area"
|
5797 |
msgstr ""
|
5798 |
|
5799 |
-
#: bp-themes/bp-default/functions.php:
|
5800 |
msgid "The first footer widget area"
|
5801 |
msgstr ""
|
5802 |
|
5803 |
-
#: bp-themes/bp-default/functions.php:
|
5804 |
msgid "Second Footer Widget Area"
|
5805 |
msgstr ""
|
5806 |
|
5807 |
-
#: bp-themes/bp-default/functions.php:
|
5808 |
msgid "The second footer widget area"
|
5809 |
msgstr ""
|
5810 |
|
5811 |
-
#: bp-themes/bp-default/functions.php:
|
5812 |
msgid "Third Footer Widget Area"
|
5813 |
msgstr ""
|
5814 |
|
5815 |
-
#: bp-themes/bp-default/functions.php:
|
5816 |
msgid "The third footer widget area"
|
5817 |
msgstr ""
|
5818 |
|
5819 |
-
#: bp-themes/bp-default/functions.php:
|
5820 |
msgid "Fourth Footer Widget Area"
|
5821 |
msgstr ""
|
5822 |
|
5823 |
-
#: bp-themes/bp-default/functions.php:
|
5824 |
msgid "The fourth footer widget area"
|
5825 |
msgstr ""
|
5826 |
|
5827 |
#. translators: 1: comment author url, 2: comment author name, 3: comment
|
5828 |
#. permalink, 4: comment date/timestamp
|
5829 |
|
5830 |
-
#: bp-themes/bp-default/functions.php:
|
5831 |
msgid "<a href=\"%1$s\" rel=\"nofollow\">%2$s</a> said on <a href=\"%3$s\"><span class=\"time-since\">%4$s</span></a>"
|
5832 |
msgstr ""
|
5833 |
|
5834 |
-
#: bp-themes/bp-default/functions.php:
|
5835 |
msgid "Your comment is awaiting moderation."
|
5836 |
msgstr ""
|
5837 |
|
5838 |
-
#: bp-themes/bp-default/functions.php:
|
5839 |
msgid "Edit comment"
|
5840 |
msgstr ""
|
5841 |
|
5842 |
-
#: bp-themes/bp-default/functions.php:
|
5843 |
msgid "Theme activated! This theme contains <a href=\"%s\">custom header image</a> support and <a href=\"%s\">sidebar widgets</a>."
|
5844 |
msgstr ""
|
5845 |
|
5846 |
-
#: bp-themes/bp-default/functions.php:
|
5847 |
msgid "Email"
|
5848 |
msgstr ""
|
5849 |
|
5850 |
-
#: bp-themes/bp-default/functions.php:
|
5851 |
msgid "You must be <a href=\"%1$s\">logged in</a> to post a comment."
|
5852 |
msgstr ""
|
5853 |
|
5854 |
-
#: bp-themes/bp-default/functions.php:
|
5855 |
msgid "Leave a reply"
|
5856 |
msgstr ""
|
5857 |
|
5858 |
-
#: bp-themes/bp-default/functions.php:
|
5859 |
msgid "← Previous Entries"
|
5860 |
msgstr ""
|
5861 |
|
5862 |
-
#: bp-themes/bp-default/functions.php:
|
5863 |
msgid "Next Entries →"
|
5864 |
msgstr ""
|
5865 |
|
@@ -6064,133 +6042,133 @@ msgstr ""
|
|
6064 |
msgid "Group Description"
|
6065 |
msgstr ""
|
6066 |
|
6067 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6068 |
msgid "Please enter options for this Field:"
|
6069 |
msgstr ""
|
6070 |
|
6071 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6072 |
msgid "Sort Order:"
|
6073 |
msgstr ""
|
6074 |
|
6075 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6076 |
msgid "Custom"
|
6077 |
msgstr ""
|
6078 |
|
6079 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6080 |
msgid "Ascending"
|
6081 |
msgstr ""
|
6082 |
|
6083 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6084 |
msgid "Descending"
|
6085 |
msgstr ""
|
6086 |
|
6087 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6088 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6089 |
msgid "Default Value"
|
6090 |
msgstr ""
|
6091 |
|
6092 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6093 |
msgid "Add Another Option"
|
6094 |
msgstr ""
|
6095 |
|
6096 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6097 |
msgid "Add Field"
|
6098 |
msgstr ""
|
6099 |
|
6100 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6101 |
msgid "Edit Field"
|
6102 |
msgstr ""
|
6103 |
|
6104 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6105 |
msgid "Fields marked * are required"
|
6106 |
msgstr ""
|
6107 |
|
6108 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6109 |
msgid "Field Title"
|
6110 |
msgstr ""
|
6111 |
|
6112 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6113 |
msgid "Field Description"
|
6114 |
msgstr ""
|
6115 |
|
6116 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6117 |
msgid "Is This Field Required?"
|
6118 |
msgstr ""
|
6119 |
|
6120 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6121 |
msgid "Not Required"
|
6122 |
msgstr ""
|
6123 |
|
6124 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6125 |
msgid "Required"
|
6126 |
msgstr ""
|
6127 |
|
6128 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6129 |
msgid "Field Type"
|
6130 |
msgstr ""
|
6131 |
|
6132 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6133 |
msgid "Text Box"
|
6134 |
msgstr ""
|
6135 |
|
6136 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6137 |
msgid "Multi-line Text Box"
|
6138 |
msgstr ""
|
6139 |
|
6140 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6141 |
msgid "Date Selector"
|
6142 |
msgstr ""
|
6143 |
|
6144 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6145 |
msgid "Radio Buttons"
|
6146 |
msgstr ""
|
6147 |
|
6148 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6149 |
msgid "Drop Down Select Box"
|
6150 |
msgstr ""
|
6151 |
|
6152 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6153 |
msgid "Multi Select Box"
|
6154 |
msgstr ""
|
6155 |
|
6156 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6157 |
msgid "Checkboxes"
|
6158 |
msgstr ""
|
6159 |
|
6160 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6161 |
msgid "Default Visibility"
|
6162 |
msgstr ""
|
6163 |
|
6164 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6165 |
msgid "Per-Member Visibility"
|
6166 |
msgstr ""
|
6167 |
|
6168 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6169 |
msgid "Let members change this field's visibility"
|
6170 |
msgstr ""
|
6171 |
|
6172 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6173 |
msgid "Enforce the default visibility for all members"
|
6174 |
msgstr ""
|
6175 |
|
6176 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6177 |
msgid "or"
|
6178 |
msgstr ""
|
6179 |
|
6180 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6181 |
msgid "Please make sure you fill out all required fields."
|
6182 |
msgstr ""
|
6183 |
|
6184 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6185 |
msgid "Radio button field types require at least one option. Please add options below."
|
6186 |
msgstr ""
|
6187 |
|
6188 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6189 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6190 |
msgid "Select box field types require at least one option. Please add options below."
|
6191 |
msgstr ""
|
6192 |
|
6193 |
-
#: bp-xprofile/bp-xprofile-classes.php:
|
6194 |
msgid "Checkbox field types require at least one option. Please add options below."
|
6195 |
msgstr ""
|
6196 |
|
@@ -6226,62 +6204,62 @@ msgstr ""
|
|
6226 |
msgid "Your new avatar was uploaded successfully."
|
6227 |
msgstr ""
|
6228 |
|
6229 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6230 |
msgid "January"
|
6231 |
msgstr ""
|
6232 |
|
6233 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6234 |
msgid "February"
|
6235 |
msgstr ""
|
6236 |
|
6237 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6238 |
msgid "March"
|
6239 |
msgstr ""
|
6240 |
|
6241 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6242 |
msgid "April"
|
6243 |
msgstr ""
|
6244 |
|
6245 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6246 |
msgid "May"
|
6247 |
msgstr ""
|
6248 |
|
6249 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6250 |
msgid "June"
|
6251 |
msgstr ""
|
6252 |
|
6253 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6254 |
msgid "July"
|
6255 |
msgstr ""
|
6256 |
|
6257 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6258 |
msgid "August"
|
6259 |
msgstr ""
|
6260 |
|
6261 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6262 |
msgid "September"
|
6263 |
msgstr ""
|
6264 |
|
6265 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6266 |
msgid "October"
|
6267 |
msgstr ""
|
6268 |
|
6269 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6270 |
msgid "November"
|
6271 |
msgstr ""
|
6272 |
|
6273 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6274 |
msgid "December"
|
6275 |
msgstr ""
|
6276 |
|
6277 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6278 |
msgid "Avatar uploads are currently disabled. Why not use a <a href=\"http://gravatar.com\" target=\"_blank\">gravatar</a> instead?"
|
6279 |
msgstr ""
|
6280 |
|
6281 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6282 |
msgid "Profile not recently updated"
|
6283 |
msgstr ""
|
6284 |
|
6285 |
-
#: bp-xprofile/bp-xprofile-template.php:
|
6286 |
msgid "Profile updated %s"
|
6287 |
msgstr ""
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: BuddyPress \n"
|
6 |
"Report-Msgid-Bugs-To: http://wppolyglots.wordpress.com\n"
|
7 |
+
"POT-Creation-Date: 2013-07-09 21:35:25+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
+
#: bp-activity/bp-activity-actions.php:158
|
16 |
msgid "Activity deleted successfully"
|
17 |
msgstr ""
|
18 |
|
19 |
+
#: bp-activity/bp-activity-actions.php:160
|
20 |
msgid "There was an error when deleting that activity"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: bp-activity/bp-activity-actions.php:214
|
24 |
msgid "The activity item has been marked as spam and is no longer visible."
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: bp-activity/bp-activity-actions.php:263
|
28 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:554
|
29 |
+
#: bp-themes/bp-default/_inc/ajax.php:263
|
30 |
msgid "Please enter some content to post."
|
31 |
msgstr ""
|
32 |
|
33 |
+
#: bp-activity/bp-activity-actions.php:284
|
34 |
msgid "Update Posted!"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: bp-activity/bp-activity-actions.php:286
|
38 |
msgid "There was an error when posting your update, please try again."
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: bp-activity/bp-activity-actions.php:323
|
42 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:602
|
43 |
+
#: bp-themes/bp-default/_inc/ajax.php:311
|
44 |
msgid "Please do not leave the comment area blank."
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: bp-activity/bp-activity-actions.php:334
|
48 |
msgid "Reply Posted!"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: bp-activity/bp-activity-actions.php:336
|
52 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:605
|
53 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:614
|
54 |
+
#: bp-themes/bp-default/_inc/ajax.php:314
|
55 |
+
#: bp-themes/bp-default/_inc/ajax.php:323
|
56 |
msgid "There was an error posting that reply, please try again."
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: bp-activity/bp-activity-actions.php:368
|
60 |
msgid "Activity marked as favorite."
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: bp-activity/bp-activity-actions.php:370
|
64 |
msgid "There was an error marking that activity as a favorite, please try again."
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: bp-activity/bp-activity-actions.php:402
|
68 |
msgid "Activity removed as favorite."
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: bp-activity/bp-activity-actions.php:404
|
72 |
msgid "There was an error removing that activity as a favorite, please try again."
|
73 |
msgstr ""
|
74 |
|
75 |
+
#. translators: Personal activity RSS title - "[Site Name] | [Displayed User
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
#. Name] | Activity"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
#: bp-activity/bp-activity-admin.php:35 bp-activity/bp-activity-admin.php:36
|
79 |
#: bp-activity/bp-activity-admin.php:852 bp-activity/bp-activity-admin.php:1167
|
80 |
#: bp-activity/bp-activity-loader.php:118
|
81 |
+
#: bp-activity/bp-activity-loader.php:242
|
82 |
+
#: bp-activity/bp-activity-screens.php:278
|
83 |
+
#: bp-activity/bp-activity-screens.php:394
|
84 |
+
#: bp-activity/feeds/bp-activity-personal-feed.php:27
|
85 |
+
#: bp-core/bp-core-admin.php:409
|
86 |
msgid "Activity"
|
87 |
msgstr ""
|
88 |
|
95 |
msgstr ""
|
96 |
|
97 |
#: bp-activity/bp-activity-admin.php:197 bp-activity/bp-activity-admin.php:244
|
98 |
+
#: bp-core/admin/bp-core-functions.php:402
|
99 |
+
#: bp-core/admin/bp-core-functions.php:420
|
100 |
+
#: bp-core/admin/bp-core-functions.php:439
|
101 |
+
#: bp-core/admin/bp-core-functions.php:458 bp-groups/bp-groups-admin.php:107
|
102 |
#: bp-groups/bp-groups-admin.php:143
|
103 |
msgid "Overview"
|
104 |
msgstr ""
|
136 |
msgstr ""
|
137 |
|
138 |
#: bp-activity/bp-activity-admin.php:216 bp-activity/bp-activity-admin.php:261
|
139 |
+
#: bp-core/admin/bp-core-functions.php:408
|
140 |
+
#: bp-core/admin/bp-core-functions.php:426
|
141 |
+
#: bp-core/admin/bp-core-functions.php:445
|
142 |
+
#: bp-core/admin/bp-core-functions.php:464 bp-groups/bp-groups-admin.php:115
|
143 |
#: bp-groups/bp-groups-admin.php:159
|
144 |
msgid "For more information:"
|
145 |
msgstr ""
|
149 |
msgstr ""
|
150 |
|
151 |
#: bp-activity/bp-activity-admin.php:218 bp-activity/bp-activity-admin.php:262
|
152 |
+
#: bp-core/admin/bp-core-functions.php:410
|
153 |
+
#: bp-core/admin/bp-core-functions.php:428
|
154 |
+
#: bp-core/admin/bp-core-functions.php:447
|
155 |
+
#: bp-core/admin/bp-core-functions.php:466 bp-groups/bp-groups-admin.php:160
|
156 |
msgid "<a href=\"http://buddypress.org/support/\">Support Forums</a>"
|
157 |
msgstr ""
|
158 |
|
247 |
msgstr ""
|
248 |
|
249 |
#: bp-activity/bp-activity-admin.php:665 bp-activity/bp-activity-admin.php:1281
|
250 |
+
#: bp-forums/bp-forums-template.php:1270 bp-groups/bp-groups-admin.php:1248
|
251 |
+
#: bp-themes/bp-default/functions.php:507 bp-xprofile/bp-xprofile-admin.php:456
|
252 |
#: bp-xprofile/bp-xprofile-loader.php:185
|
253 |
#: bp-xprofile/bp-xprofile-loader.php:245
|
254 |
msgid "Edit"
|
322 |
msgid "Activity related to ID #%s"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: bp-activity/bp-activity-admin.php:856 bp-groups/bp-groups-admin.php:625
|
326 |
msgid "Search results for “%s”"
|
327 |
msgstr ""
|
328 |
|
334 |
msgid "Reply to Activity"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: bp-activity/bp-activity-admin.php:884 bp-groups/bp-groups-admin.php:585
|
338 |
#: bp-templates/bp-legacy/buddypress/activity/entry.php:102
|
339 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:116
|
340 |
#: bp-themes/bp-default/forums/index.php:134
|
341 |
#: bp-xprofile/bp-xprofile-classes.php:406
|
342 |
+
#: bp-xprofile/bp-xprofile-classes.php:929
|
343 |
msgid "Cancel"
|
344 |
msgstr ""
|
345 |
|
355 |
msgid "No activities found."
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: bp-activity/bp-activity-admin.php:1133 bp-groups/bp-groups-admin.php:1138
|
359 |
#: bp-messages/bp-messages-template.php:434
|
360 |
msgid "All"
|
361 |
msgstr ""
|
374 |
msgstr ""
|
375 |
|
376 |
#: bp-activity/bp-activity-admin.php:1151
|
377 |
+
#: bp-activity/bp-activity-admin.php:1291 bp-groups/bp-groups-admin.php:584
|
378 |
msgid "Delete Permanently"
|
379 |
msgstr ""
|
380 |
|
394 |
msgid "Filter"
|
395 |
msgstr ""
|
396 |
|
|
|
|
|
|
|
|
|
397 |
#: bp-activity/bp-activity-admin.php:1291 bp-core/bp-core-cssjs.php:20
|
398 |
msgid "Are you sure?"
|
399 |
msgstr ""
|
464 |
msgstr ""
|
465 |
|
466 |
#: bp-activity/bp-activity-classes.php:120
|
467 |
+
#: bp-activity/bp-activity-template.php:120 bp-groups/bp-groups-classes.php:316
|
468 |
#: bp-groups/bp-groups-template.php:114
|
469 |
msgid "Arguments passed to %1$s should be in an associative array. See the inline documentation at %2$s for more details."
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: bp-activity/bp-activity-filters.php:348
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
msgid "[Read more]"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: bp-activity/bp-activity-filters.php:353
|
477 |
msgid "…"
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: bp-activity/bp-activity-functions.php:199
|
481 |
msgid "@%s Mentions"
|
482 |
msgstr ""
|
483 |
|
484 |
+
#: bp-activity/bp-activity-functions.php:202
|
485 |
msgid "You have %1$d new mentions"
|
486 |
msgstr ""
|
487 |
|
488 |
+
#: bp-activity/bp-activity-functions.php:206
|
489 |
msgid "%1$s mentioned you"
|
490 |
msgstr ""
|
491 |
|
492 |
+
#: bp-activity/bp-activity-functions.php:843
|
493 |
msgid "Posted a status update"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: bp-activity/bp-activity-functions.php:844
|
497 |
msgid "Replied to a status update"
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: bp-activity/bp-activity-functions.php:1092
|
501 |
msgid "%s posted an update"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: bp-activity/bp-activity-functions.php:1161
|
|
|
505 |
msgid "%s posted a new activity comment"
|
506 |
msgstr ""
|
507 |
|
508 |
+
#: bp-activity/bp-activity-functions.php:1536
|
509 |
msgid "Thumbnail"
|
510 |
msgstr ""
|
511 |
|
512 |
#: bp-activity/bp-activity-loader.php:30
|
513 |
+
#: bp-core/admin/bp-core-components.php:372
|
514 |
msgid "Activity Streams"
|
515 |
msgstr ""
|
516 |
|
519 |
msgstr ""
|
520 |
|
521 |
#: bp-activity/bp-activity-loader.php:144
|
522 |
+
#: bp-activity/bp-activity-loader.php:258
|
523 |
msgid "Personal"
|
524 |
msgstr ""
|
525 |
|
526 |
+
#. translators: Mentions RSS title - "[Site Name] | [Displayed User Name] |
|
527 |
+
#. Mentions"
|
528 |
+
|
529 |
+
#: bp-activity/bp-activity-loader.php:154
|
530 |
+
#: bp-activity/bp-activity-loader.php:235
|
531 |
+
#: bp-activity/feeds/bp-activity-mentions-feed.php:27
|
532 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:57
|
533 |
+
#: bp-themes/bp-default/activity/index.php:77
|
534 |
msgid "Mentions"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: bp-activity/bp-activity-loader.php:165
|
538 |
+
#: bp-activity/bp-activity-loader.php:266
|
539 |
msgid "Favorites"
|
540 |
msgstr ""
|
541 |
|
542 |
+
#: bp-activity/bp-activity-loader.php:177
|
543 |
+
#: bp-activity/bp-activity-loader.php:275 bp-friends/bp-friends-loader.php:164
|
544 |
#: bp-friends/bp-friends-screens.php:83
|
545 |
msgid "Friends"
|
546 |
msgstr ""
|
547 |
|
548 |
+
#: bp-activity/bp-activity-loader.php:190
|
549 |
+
#: bp-activity/bp-activity-loader.php:285 bp-core/bp-core-template.php:246
|
550 |
#: bp-groups/bp-groups-activity.php:150 bp-groups/bp-groups-activity.php:186
|
551 |
#: bp-groups/bp-groups-activity.php:222 bp-groups/bp-groups-activity.php:258
|
552 |
#: bp-groups/bp-groups-admin.php:35 bp-groups/bp-groups-admin.php:36
|
553 |
+
#: bp-groups/bp-groups-admin.php:622 bp-groups/bp-groups-loader.php:517
|
554 |
+
#: bp-groups/bp-groups-screens.php:893 bp-groups/bp-groups-screens.php:999
|
555 |
+
#: bp-groups/bp-groups-screens.php:1001 bp-groups/bp-groups-screens.php:1037
|
556 |
+
#: bp-groups/bp-groups-screens.php:1039 bp-groups/bp-groups-widgets.php:48
|
557 |
+
#: bp-groups/bp-groups-widgets.php:117
|
558 |
msgid "Groups"
|
559 |
msgstr ""
|
560 |
|
561 |
+
#: bp-activity/bp-activity-loader.php:233
|
562 |
msgid "Mentions <span class=\"count\">%s</span>"
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: bp-activity/bp-activity-loader.php:310
|
566 |
msgid "My Activity"
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: bp-activity/bp-activity-loader.php:315
|
570 |
+
#: bp-activity/bp-activity-template.php:975
|
571 |
+
#: bp-activity/bp-activity-template.php:1111
|
572 |
+
#: bp-activity/bp-activity-template.php:1122 bp-blogs/bp-blogs-loader.php:209
|
573 |
+
#: bp-forums/bp-forums-loader.php:212 bp-forums/bp-forums-template.php:487
|
574 |
#: bp-forums/bp-forums-template.php:604 bp-forums/bp-forums-template.php:1200
|
575 |
+
#: bp-friends/bp-friends-loader.php:212 bp-groups/bp-groups-loader.php:572
|
576 |
+
#: bp-groups/bp-groups-template.php:748 bp-groups/bp-groups-template.php:771
|
577 |
+
#: bp-groups/bp-groups-template.php:1200 bp-groups/bp-groups-template.php:1216
|
578 |
+
#: bp-groups/bp-groups-template.php:1265 bp-groups/bp-groups-template.php:1281
|
579 |
+
#: bp-groups/bp-groups-template.php:1992 bp-groups/bp-groups-template.php:2001
|
580 |
+
#: bp-groups/bp-groups-template.php:2010 bp-groups/bp-groups-template.php:2758
|
581 |
#: bp-members/bp-members-buddybar.php:90 bp-members/bp-members-loader.php:198
|
582 |
+
#: bp-members/bp-members-template.php:519
|
583 |
+
#: bp-members/bp-members-template.php:819
|
584 |
+
#: bp-members/bp-members-template.php:838
|
585 |
#: bp-messages/bp-messages-loader.php:264
|
586 |
#: bp-messages/bp-messages-template.php:326
|
587 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:185
|
666 |
msgid "You do not have access to this activity."
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: bp-activity/bp-activity-screens.php:279 bp-blogs/bp-blogs-template.php:683
|
670 |
+
#: bp-friends/bp-friends-screens.php:84 bp-groups/bp-groups-screens.php:894
|
671 |
#: bp-messages/bp-messages-screens.php:169
|
672 |
+
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:26
|
673 |
#: bp-templates/bp-legacy/buddypress/members/register.php:223
|
674 |
+
#: bp-themes/bp-default/groups/single/admin.php:26
|
675 |
#: bp-themes/bp-default/registration/register.php:228
|
676 |
msgid "Yes"
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: bp-activity/bp-activity-screens.php:280 bp-blogs/bp-blogs-template.php:687
|
680 |
+
#: bp-friends/bp-friends-screens.php:85 bp-groups/bp-groups-screens.php:895
|
681 |
#: bp-messages/bp-messages-screens.php:170
|
682 |
+
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:27
|
683 |
#: bp-templates/bp-legacy/buddypress/members/register.php:224
|
684 |
+
#: bp-themes/bp-default/groups/single/admin.php:27
|
685 |
#: bp-themes/bp-default/registration/register.php:229
|
686 |
msgid "No"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: bp-activity/bp-activity-screens.php:287
|
690 |
msgid "A member mentions you in an update using \"@%s\""
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: bp-activity/bp-activity-screens.php:293
|
694 |
msgid "A member replies to an update or comment you've posted"
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: bp-activity/bp-activity-screens.php:364
|
698 |
msgid "Sitewide Activity"
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: bp-activity/bp-activity-template.php:220
|
702 |
msgctxt "Activity pagination previous text"
|
703 |
msgid "←"
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: bp-activity/bp-activity-template.php:221
|
707 |
msgctxt "Activity pagination next text"
|
708 |
msgid "→"
|
709 |
msgstr ""
|
710 |
|
711 |
+
#: bp-activity/bp-activity-template.php:526
|
712 |
msgid "Viewing item %1$s to %2$s (of %3$s items)"
|
713 |
msgstr ""
|
714 |
|
715 |
+
#: bp-activity/bp-activity-template.php:975
|
716 |
msgid "Profile picture"
|
717 |
msgstr ""
|
718 |
|
719 |
+
#: bp-activity/bp-activity-template.php:1087
|
720 |
msgid "Group logo"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: bp-activity/bp-activity-template.php:1090 bp-groups/bp-groups-admin.php:1262
|
724 |
+
#: bp-groups/bp-groups-template.php:494
|
725 |
msgid "Group logo of %s"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: bp-activity/bp-activity-template.php:1101
|
729 |
msgid "Profile picture of the author of the site %s"
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: bp-activity/bp-activity-template.php:1326
|
733 |
msgid "View Discussion"
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: bp-activity/bp-activity-template.php:2167
|
737 |
+
#: bp-forums/bp-forums-template.php:1271 bp-groups/bp-groups-admin.php:1156
|
738 |
+
#: bp-groups/bp-groups-admin.php:1251 bp-groups/bp-groups-template.php:1464
|
739 |
#: bp-templates/bp-legacy/buddypress/activity/comment.php:43
|
740 |
#: bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php:51
|
741 |
#: bp-templates/bp-legacy/buddypress/members/single/messages/single.php:24
|
746 |
msgid "Delete"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: bp-activity/bp-activity-template.php:2214
|
750 |
#: bp-core/admin/bp-core-slugs.php:109 bp-core/admin/bp-core-slugs.php:172
|
751 |
+
#: bp-core/bp-core-loader.php:225 bp-members/bp-members-loader.php:172
|
752 |
+
#: bp-members/bp-members-template.php:624
|
753 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:258
|
754 |
#: bp-themes/bp-default/activity/entry.php:37
|
755 |
+
#: bp-themes/bp-default/functions.php:165
|
756 |
#: bp-xprofile/bp-xprofile-loader.php:175
|
757 |
#: bp-xprofile/bp-xprofile-loader.php:237
|
758 |
msgid "View"
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: bp-activity/bp-activity-template.php:2308
|
762 |
msgid "Clear Filter"
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: bp-activity/bp-activity-template.php:2491
|
766 |
msgid "a user"
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: bp-activity/bp-activity-template.php:2531
|
770 |
msgid "Send a public message on your activity stream."
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: bp-activity/bp-activity-template.php:2532
|
774 |
msgid "Public Message"
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: bp-activity/bp-activity-template.php:2954
|
778 |
msgid "Site Wide Activity RSS Feed"
|
779 |
msgstr ""
|
780 |
|
781 |
+
#. translators: Favorited activity RSS title - "[Site Name] | [Displayed User
|
782 |
+
#. Name] | Favorite Activity"
|
783 |
+
|
784 |
+
#: bp-activity/feeds/bp-activity-favorites-feed.php:27
|
785 |
+
msgid "Favorite Activity"
|
786 |
+
msgstr ""
|
787 |
+
|
788 |
+
#: bp-activity/feeds/bp-activity-favorites-feed.php:30
|
789 |
+
msgid "%s - Favorite Activity"
|
790 |
+
msgstr ""
|
791 |
+
|
792 |
+
#: bp-activity/feeds/bp-activity-favorites-feed.php:56
|
793 |
+
#: bp-activity/feeds/bp-activity-friends-feed.php:49
|
794 |
+
#: bp-activity/feeds/bp-activity-group-feed.php:49
|
795 |
+
#: bp-activity/feeds/bp-activity-mentions-feed.php:50
|
796 |
+
#: bp-activity/feeds/bp-activity-mygroups-feed.php:55
|
797 |
+
#: bp-activity/feeds/bp-activity-personal-feed.php:49
|
798 |
+
#: bp-activity/feeds/bp-activity-sitewide-feed.php:49
|
799 |
+
msgid "Comments: %s"
|
800 |
+
msgstr ""
|
801 |
+
|
802 |
+
#: bp-activity/feeds/bp-activity-favorites-feed.php:60
|
803 |
+
#: bp-activity/feeds/bp-activity-friends-feed.php:53
|
804 |
+
#: bp-activity/feeds/bp-activity-mentions-feed.php:54
|
805 |
+
#: bp-activity/feeds/bp-activity-personal-feed.php:53
|
806 |
+
msgid "In reply to"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#. translators: Member friends activity RSS title - "[Site Name] | Friends
|
810 |
+
#. Activity"
|
811 |
+
|
812 |
+
#: bp-activity/feeds/bp-activity-friends-feed.php:27
|
813 |
+
msgid "Friends Activity"
|
814 |
+
msgstr ""
|
815 |
+
|
816 |
+
#: bp-activity/feeds/bp-activity-friends-feed.php:30
|
817 |
+
msgid "%s - Friends Activity Feed"
|
818 |
+
msgstr ""
|
819 |
+
|
820 |
+
#. translators: Single group activity RSS title - "[Site Name] | [Group Name] |
|
821 |
+
#. Group Activity"
|
822 |
+
|
823 |
+
#: bp-activity/feeds/bp-activity-group-feed.php:27
|
824 |
+
msgid "Group Activity"
|
825 |
+
msgstr ""
|
826 |
+
|
827 |
+
#: bp-activity/feeds/bp-activity-group-feed.php:30
|
828 |
+
msgid "%s - Group Activity Feed"
|
829 |
+
msgstr ""
|
830 |
+
|
831 |
+
#. translators: Mentions RSS title - "[Site Name] | [Displayed User Name] |
|
832 |
+
#. Mentions"
|
833 |
+
|
834 |
+
#: bp-activity/feeds/bp-activity-mentions-feed.php:31
|
835 |
+
msgid "%s - Mentions"
|
836 |
+
msgstr ""
|
837 |
+
|
838 |
+
#. translators: Member groups activity RSS title - "[Site Name] | [Displayed
|
839 |
+
#. User Name] | My Groups - Public Activity"
|
840 |
+
|
841 |
+
#: bp-activity/feeds/bp-activity-mygroups-feed.php:27
|
842 |
+
msgid "My Groups - Public Activity"
|
843 |
+
msgstr ""
|
844 |
+
|
845 |
+
#. translators: Member groups activity RSS description - "[Displayed user name]
|
846 |
+
#. - My Groups - Public Activity"
|
847 |
+
|
848 |
+
#: bp-activity/feeds/bp-activity-mygroups-feed.php:31
|
849 |
+
msgid "%1$s - My Groups - Public Activity"
|
850 |
+
msgstr ""
|
851 |
+
|
852 |
+
#: bp-activity/feeds/bp-activity-personal-feed.php:30
|
853 |
+
msgid "%s - Activity Feed"
|
854 |
+
msgstr ""
|
855 |
+
|
856 |
+
#. translators: Sitewide activity RSS title - "[Site Name] | Site Wide
|
857 |
+
#. Activity"
|
858 |
+
|
859 |
+
#: bp-activity/feeds/bp-activity-sitewide-feed.php:27
|
860 |
+
msgid "Site Wide Activity"
|
861 |
+
msgstr ""
|
862 |
+
|
863 |
+
#: bp-activity/feeds/bp-activity-sitewide-feed.php:30
|
864 |
+
msgid "Site Wide Activity Feed"
|
865 |
+
msgstr ""
|
866 |
+
|
867 |
#: bp-blogs/bp-blogs-activity.php:31
|
868 |
msgid "New site created"
|
869 |
msgstr ""
|
877 |
msgstr ""
|
878 |
|
879 |
#: bp-blogs/bp-blogs-buddybar.php:43 bp-blogs/bp-blogs-loader.php:131
|
880 |
+
#: bp-blogs/bp-blogs-loader.php:179 bp-blogs/bp-blogs-loader.php:200
|
881 |
msgid "My Sites"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: bp-blogs/bp-blogs-buddybar.php:55 bp-core/bp-core-buddybar.php:548
|
885 |
msgid "Dashboard"
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: bp-blogs/bp-blogs-buddybar.php:56 bp-core/bp-core-buddybar.php:552
|
889 |
msgid "New Post"
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: bp-blogs/bp-blogs-buddybar.php:57 bp-core/bp-core-buddybar.php:553
|
893 |
msgid "Manage Posts"
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: bp-blogs/bp-blogs-buddybar.php:58 bp-core/bp-core-buddybar.php:554
|
897 |
msgid "Manage Comments"
|
898 |
msgstr ""
|
899 |
|
913 |
msgid "%1$s wrote a new post, %2$s"
|
914 |
msgstr ""
|
915 |
|
916 |
+
#: bp-blogs/bp-blogs-functions.php:361
|
917 |
msgid "%1$s commented on the post, %2$s, on the site %3$s"
|
918 |
msgstr ""
|
919 |
|
920 |
+
#: bp-blogs/bp-blogs-functions.php:363
|
921 |
msgid "%1$s commented on the post, %2$s"
|
922 |
msgstr ""
|
923 |
|
924 |
+
#: bp-blogs/bp-blogs-loader.php:25 bp-core/admin/bp-core-components.php:384
|
925 |
msgid "Site Tracking"
|
926 |
msgstr ""
|
927 |
|
937 |
msgid "Sites"
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: bp-blogs/bp-blogs-screens.php:110 bp-blogs/bp-blogs-screens.php:112
|
941 |
+
#: bp-blogs/bp-blogs-screens.php:148 bp-blogs/bp-blogs-screens.php:150
|
|
|
|
|
|
|
|
|
|
|
942 |
#: bp-core/bp-core-template.php:249
|
943 |
msgid "Blogs"
|
944 |
msgstr ""
|
945 |
|
946 |
+
#: bp-blogs/bp-blogs-screens.php:110 bp-blogs/bp-blogs-screens.php:148
|
947 |
+
msgid "Create a Blog"
|
948 |
+
msgstr ""
|
949 |
+
|
950 |
#: bp-blogs/bp-blogs-template.php:136
|
951 |
msgctxt "Blog pagination previous text"
|
952 |
msgid "←"
|
965 |
msgid "Profile picture of site author %s"
|
966 |
msgstr ""
|
967 |
|
968 |
+
#: bp-blogs/bp-blogs-template.php:403 bp-core/bp-core-classes.php:718
|
969 |
+
#: bp-groups/bp-groups-widgets.php:78 bp-groups/bp-groups-widgets.php:181
|
970 |
+
#: bp-members/bp-members-template.php:595
|
971 |
+
#: bp-members/bp-members-template.php:870
|
972 |
#: bp-templates/bp-legacy/buddypress/groups/groups-loop.php:47
|
973 |
#: bp-templates/bp-legacy/buddypress/groups/single/group-header.php:42
|
974 |
#: bp-themes/bp-default/groups/groups-loop.php:47
|
1042 |
msgid "<a href=\"%1$s\">%2$s</a> is your new site. <a href=\"%3$s\">Login</a> as \"%4$s\" using your existing password."
|
1043 |
msgstr ""
|
1044 |
|
1045 |
+
#: bp-blogs/bp-blogs-template.php:773 bp-core/bp-core-filters.php:378
|
1046 |
#: bp-themes/bp-default/blogs/create.php:21
|
1047 |
#: bp-themes/bp-default/blogs/index.php:21
|
1048 |
msgid "Create a Site"
|
1060 |
msgid "%s's Recent Comments"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
+
#: bp-blogs/bp-blogs-template.php:803 bp-core/deprecated/1.5.php:417
|
1064 |
+
#: bp-forums/bp-forums-template.php:1321 bp-groups/bp-groups-template.php:2483
|
1065 |
+
#: bp-members/bp-members-template.php:709
|
1066 |
#: bp-messages/bp-messages-template.php:367 bp-themes/bp-default/header.php:30
|
1067 |
#: bp-themes/bp-default/searchform.php:5
|
1068 |
msgid "Search"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
+
#: bp-blogs/bp-blogs-template.php:836 bp-blogs/bp-blogs-template.php:837
|
1072 |
msgid "Visit Site"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: bp-blogs/bp-blogs-widgets.php:25
|
|
|
|
|
|
|
|
|
1076 |
msgctxt "widget name"
|
1077 |
msgid "(BuddyPress) Recent Networkwide Posts"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
+
#: bp-blogs/bp-blogs-widgets.php:67
|
|
|
|
|
|
|
|
|
1081 |
msgid "Sorry, there were no posts found. Why not write one?"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#: bp-blogs/bp-blogs-widgets.php:87
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1085 |
msgid "Max posts to show:"
|
1086 |
msgstr ""
|
1087 |
|
1088 |
#: bp-core/admin/bp-core-components.php:26
|
1089 |
+
#: bp-core/admin/bp-core-functions.php:356
|
1090 |
msgid "Components"
|
1091 |
msgstr ""
|
1092 |
|
1096 |
msgstr ""
|
1097 |
|
1098 |
#: bp-core/admin/bp-core-components.php:59
|
1099 |
+
#: bp-core/admin/bp-core-components.php:356
|
1100 |
#: bp-xprofile/bp-xprofile-loader.php:41
|
1101 |
msgid "Extended Profiles"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
#: bp-core/admin/bp-core-components.php:60
|
1105 |
+
#: bp-core/admin/bp-core-components.php:357
|
1106 |
msgid "Customize your community with fully editable profile fields that allow your users to describe themselves."
|
1107 |
msgstr ""
|
1108 |
|
1155 |
msgid "No components found."
|
1156 |
msgstr ""
|
1157 |
|
1158 |
+
#: bp-core/admin/bp-core-components.php:336 bp-core/bp-core-loader.php:27
|
1159 |
msgid "BuddyPress Core"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: bp-core/admin/bp-core-components.php:337
|
1163 |
msgid "It‘s what makes <del>time travel</del> BuddyPress possible!"
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: bp-core/admin/bp-core-components.php:340
|
1167 |
msgid "Community Members"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: bp-core/admin/bp-core-components.php:341
|
1171 |
msgid "Everything in a BuddyPress community revolves around its members."
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: bp-core/admin/bp-core-components.php:348
|
1175 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:105
|
1176 |
#: bp-themes/bp-default/groups/create.php:112
|
1177 |
msgid "Group Forums"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
+
#: bp-core/admin/bp-core-components.php:349
|
1181 |
msgid "BuddyPress Forums are retired. Use %s."
|
1182 |
msgstr ""
|
1183 |
|
1184 |
+
#: bp-core/admin/bp-core-components.php:360
|
1185 |
msgid "Account Settings"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
+
#: bp-core/admin/bp-core-components.php:361
|
1189 |
msgid "Allow your users to modify their account and notification settings directly from within their profiles."
|
1190 |
msgstr ""
|
1191 |
|
1192 |
+
#: bp-core/admin/bp-core-components.php:364 bp-friends/bp-friends-loader.php:24
|
1193 |
msgid "Friend Connections"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
+
#: bp-core/admin/bp-core-components.php:365
|
1197 |
msgid "Let your users make connections so they can track the activity of others and focus on the people they care about the most."
|
1198 |
msgstr ""
|
1199 |
|
1200 |
+
#: bp-core/admin/bp-core-components.php:368
|
1201 |
msgid "Private Messaging"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
+
#: bp-core/admin/bp-core-components.php:369
|
1205 |
msgid "Allow your users to talk to each other directly and in private. Not just limited to one-on-one discussions, messages can be sent between any number of members."
|
1206 |
msgstr ""
|
1207 |
|
1208 |
+
#: bp-core/admin/bp-core-components.php:373
|
1209 |
msgid "Global, personal, and group activity streams with threaded commenting, direct posting, favoriting and @mentions, all with full RSS feed and email notification support."
|
1210 |
msgstr ""
|
1211 |
|
1212 |
+
#: bp-core/admin/bp-core-components.php:376 bp-groups/bp-groups-loader.php:83
|
1213 |
msgid "User Groups"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
+
#: bp-core/admin/bp-core-components.php:377
|
1217 |
msgid "Groups allow your users to organize themselves into specific public, private or hidden sections with separate activity streams and member listings."
|
1218 |
msgstr ""
|
1219 |
|
1220 |
+
#: bp-core/admin/bp-core-components.php:380
|
1221 |
msgid "Group Forums (Legacy)"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
+
#: bp-core/admin/bp-core-components.php:381
|
1225 |
msgid "Group forums allow for focused, bulletin-board style conversations."
|
1226 |
msgstr ""
|
1227 |
|
1228 |
+
#: bp-core/admin/bp-core-components.php:385
|
1229 |
msgid "Record activity for new posts and comments from your site."
|
1230 |
msgstr ""
|
1231 |
|
1232 |
+
#: bp-core/admin/bp-core-components.php:392
|
1233 |
msgid "Record activity for new sites, posts, and comments across your network."
|
1234 |
msgstr ""
|
1235 |
|
1269 |
msgid "Each BuddyPress Component needs its own WordPress page. The following WordPress Pages have more than one component associated with them: %2$s. <a href=\"%1$s\" class=\"button-secondary\">Repair</a>"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
+
#: bp-core/admin/bp-core-functions.php:360 bp-core/admin/bp-core-slugs.php:26
|
1273 |
msgid "Pages"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
+
#: bp-core/admin/bp-core-functions.php:364
|
1277 |
#: bp-core/admin/bp-core-settings.php:258 bp-core/bp-core-admin.php:331
|
1278 |
+
#: bp-groups/bp-groups-loader.php:302 bp-groups/bp-groups-template.php:1446
|
1279 |
#: bp-settings/bp-settings-loader.php:23 bp-settings/bp-settings-loader.php:73
|
1280 |
#: bp-settings/bp-settings-loader.php:165
|
1281 |
msgid "Settings"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
+
#: bp-core/admin/bp-core-functions.php:409
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1285 |
msgid "<a href=\"http://codex.buddypress.org/getting-started/configure-buddypress-components/#settings-buddypress-components\">Managing Components</a>"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
+
#: bp-core/admin/bp-core-functions.php:427
|
1289 |
msgid "<a href=\"http://codex.buddypress.org/getting-started/configure-buddypress-components/#settings-buddypress-pages\">Managing Pages</a>"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
+
#: bp-core/admin/bp-core-functions.php:446
|
1293 |
msgid "<a href=\"http://codex.buddypress.org/getting-started/configure-buddypress-components/#settings-buddypress-settings\">Managing Settings</a>"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: bp-core/admin/bp-core-functions.php:465
|
1297 |
msgid "<a href=\"http://codex.buddypress.org/getting-started/configure-buddypress-components/#users-profile-fields\">Managing Profile Fields</a>"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
+
#: bp-core/admin/bp-core-functions.php:483
|
1301 |
msgid "By default, all BuddyPress components are enabled. You can selectively disable any of the components by using the form. Your BuddyPress installation will continue to function. However, the features of the disabled components will no longer be accessible to anyone using the site."
|
1302 |
msgstr ""
|
1303 |
|
1304 |
+
#: bp-core/admin/bp-core-functions.php:487
|
1305 |
msgid "BuddyPress Components use WordPress Pages for their root directory/archive pages. Here you can change the page associations for each active component."
|
1306 |
msgstr ""
|
1307 |
|
1308 |
+
#: bp-core/admin/bp-core-functions.php:491
|
1309 |
msgid "Extra configuration settings."
|
1310 |
msgstr ""
|
1311 |
|
1312 |
+
#: bp-core/admin/bp-core-functions.php:495
|
1313 |
msgid "Your users will distinguish themselves through their profile page. Create relevant profile fields that will show on each users profile.</br></br>Note: Any fields in the first group will appear on the signup page."
|
1314 |
msgstr ""
|
1315 |
|
1392 |
msgstr ""
|
1393 |
|
1394 |
#: bp-core/admin/bp-core-slugs.php:105 bp-core/admin/bp-core-slugs.php:168
|
1395 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php:19
|
1396 |
#: bp-themes/bp-default/members/single/settings/capabilities.php:61
|
1397 |
#: bp-xprofile/bp-xprofile-classes.php:401
|
1398 |
+
#: bp-xprofile/bp-xprofile-classes.php:928
|
1399 |
msgid "Save"
|
1400 |
msgstr ""
|
1401 |
|
1530 |
msgstr ""
|
1531 |
|
1532 |
#: bp-core/bp-core-admin.php:408 bp-core/bp-core-template.php:243
|
1533 |
+
#: bp-core/bp-core-widgets.php:111 bp-groups/bp-groups-admin.php:764
|
1534 |
+
#: bp-groups/bp-groups-template.php:1454 bp-members/bp-members-loader.php:24
|
1535 |
+
#: bp-members/bp-members-screens.php:329
|
1536 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:231
|
1537 |
#: bp-themes/bp-default/groups/single/admin.php:231
|
1538 |
msgid "Members"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
#: bp-core/bp-core-admin.php:421
|
1550 |
+
msgid "A Declaration of (Theme) Independence"
|
1551 |
msgstr ""
|
1552 |
|
1553 |
#: bp-core/bp-core-admin.php:424
|
1554 |
+
msgid "It Just Works"
|
1555 |
msgstr ""
|
1556 |
|
1557 |
#: bp-core/bp-core-admin.php:425
|
1558 |
+
msgid "BuddyPress is now compatible with <strong>any WordPress theme</strong>. If your theme has BuddyPress-specific templates and styling, we’ll use them. If not, we provide what you need to make your BuddyPress content look great. Still want to customize? No problem - you can override our templates just like you would in a WordPress child theme. <a href=\"http://codex.buddypress.org/theme-compatibility/\">Learn more about theme compatibility</a>."
|
1559 |
msgstr ""
|
1560 |
|
1561 |
#: bp-core/bp-core-admin.php:430
|
1562 |
+
msgid "Group Management"
|
1563 |
msgstr ""
|
1564 |
|
1565 |
#: bp-core/bp-core-admin.php:433
|
1566 |
+
msgid "Get More Done Quickly"
|
1567 |
msgstr ""
|
1568 |
|
1569 |
#: bp-core/bp-core-admin.php:436
|
1571 |
msgstr ""
|
1572 |
|
1573 |
#: bp-core/bp-core-admin.php:443
|
1574 |
+
msgid "The new %s makes it easy to handle large numbers of groups on your BuddyPress installation. Delete groups, edit group details, modify memberships, and more, with just a few clicks."
|
1575 |
msgstr ""
|
1576 |
|
1577 |
#: bp-core/bp-core-admin.php:450
|
1579 |
msgstr ""
|
1580 |
|
1581 |
#: bp-core/bp-core-admin.php:454
|
1582 |
+
msgid "Faster Member Queries"
|
1583 |
msgstr ""
|
1584 |
|
1585 |
#: bp-core/bp-core-admin.php:455
|
1586 |
+
msgid "The new <code>BP_User_Query</code> makes member queries (like in the Members directory) up to 4x faster than before."
|
1587 |
msgstr ""
|
1588 |
|
1589 |
#: bp-core/bp-core-admin.php:457
|
1590 |
+
msgid "Sortable Profile Options"
|
1591 |
msgstr ""
|
1592 |
|
1593 |
#: bp-core/bp-core-admin.php:458
|
1594 |
+
msgid "Profile field types with multiple options - like radio buttons and checkboxes - now support drag-and-drop reordering."
|
1595 |
msgstr ""
|
1596 |
|
1597 |
#: bp-core/bp-core-admin.php:462
|
1598 |
+
msgid "New Visibility Level"
|
1599 |
msgstr ""
|
1600 |
|
1601 |
#: bp-core/bp-core-admin.php:463
|
1602 |
+
msgid "By popular demand, the \"Admins Only\" visibility setting is now available for profile fields."
|
1603 |
msgstr ""
|
1604 |
|
1605 |
#: bp-core/bp-core-admin.php:465
|
1606 |
+
msgid "Better bbPress Integration"
|
1607 |
msgstr ""
|
1608 |
|
1609 |
#: bp-core/bp-core-admin.php:466
|
1610 |
+
msgid "Support for group and sitewide forums, using the latest version of the bbPress plugin, is better than ever. Still using bbPress 1.x? Our new migration tools are field-tested."
|
1611 |
msgstr ""
|
1612 |
|
1613 |
+
#: bp-core/bp-core-admin.php:471 bp-core/bp-core-admin.php:598
|
1614 |
msgid "Go to the BuddyPress Settings page"
|
1615 |
msgstr ""
|
1616 |
|
1655 |
msgstr ""
|
1656 |
|
1657 |
#: bp-core/bp-core-admin.php:552
|
1658 |
+
msgid "Core Contributors to BuddyPress 1.7"
|
1659 |
msgstr ""
|
1660 |
|
1661 |
+
#: bp-core/bp-core-adminbar.php:36 bp-core/bp-core-buddybar.php:498
|
1662 |
msgid "My Account"
|
1663 |
msgstr ""
|
1664 |
|
1706 |
msgid "Upload failed! Error was: %s"
|
1707 |
msgstr ""
|
1708 |
|
1709 |
+
#: bp-core/bp-core-avatars.php:733 bp-core/bp-core-classes.php:715
|
1710 |
+
#: bp-core/bp-core-classes.php:716 bp-core/bp-core-classes.php:717
|
1711 |
#: bp-core/bp-core-template.php:98 bp-core/bp-core-template.php:107
|
1712 |
msgid "Avatar of %s"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
+
#: bp-core/bp-core-buddybar.php:303
|
1716 |
msgid "You do not have access to this page."
|
1717 |
msgstr ""
|
1718 |
|
1719 |
+
#: bp-core/bp-core-buddybar.php:482 bp-themes/bp-default/sidebar.php:53
|
1720 |
msgid "Log In"
|
1721 |
msgstr ""
|
1722 |
|
1723 |
+
#: bp-core/bp-core-buddybar.php:486
|
1724 |
msgid "Sign Up"
|
1725 |
msgstr ""
|
1726 |
|
1727 |
+
#: bp-core/bp-core-buddybar.php:540 bp-core/deprecated/1.5.php:307
|
1728 |
+
#: bp-members/bp-members-template.php:773 bp-themes/bp-default/sidebar.php:18
|
1729 |
msgid "Log Out"
|
1730 |
msgstr ""
|
1731 |
|
1732 |
+
#: bp-core/bp-core-buddybar.php:569 bp-groups/bp-groups-admin.php:1245
|
1733 |
msgid "Visit"
|
1734 |
msgstr ""
|
1735 |
|
1736 |
+
#: bp-core/bp-core-buddybar.php:571
|
1737 |
msgid "Random Member"
|
1738 |
msgstr ""
|
1739 |
|
1740 |
+
#: bp-core/bp-core-buddybar.php:575
|
1741 |
msgid "Random Group"
|
1742 |
msgstr ""
|
1743 |
|
1744 |
+
#: bp-core/bp-core-buddybar.php:581
|
1745 |
msgid "Random Site"
|
1746 |
msgstr ""
|
1747 |
|
1748 |
+
#: bp-core/bp-core-caps.php:250 bp-core/bp-core-caps.php:263
|
1749 |
+
#: bp-core/bp-core-caps.php:278 bp-core/bp-core-caps.php:289
|
1750 |
msgid "Special community roles no longer exist. Use mapped capabilities instead"
|
1751 |
msgstr ""
|
1752 |
|
1758 |
msgid "You must log in to access the page you requested."
|
1759 |
msgstr ""
|
1760 |
|
1761 |
+
#: bp-core/bp-core-classes.php:732
|
1762 |
msgid "%d group"
|
1763 |
msgid_plural "%d groups"
|
1764 |
msgstr[0] ""
|
1768 |
msgid "The current user is being initialized without using $wp->init()."
|
1769 |
msgstr ""
|
1770 |
|
1771 |
+
#: bp-core/bp-core-filters.php:216 bp-core/bp-core-filters.php:240
|
1772 |
msgid "[User Set]"
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: bp-core/bp-core-filters.php:258
|
1776 |
msgid ""
|
1777 |
"Thanks for registering! To complete the activation of your account and blog, please click the following link:\n"
|
1778 |
"\n"
|
1785 |
"%2$s"
|
1786 |
msgstr ""
|
1787 |
|
1788 |
+
#: bp-core/bp-core-filters.php:259
|
1789 |
msgid "Activate %s"
|
1790 |
msgstr ""
|
1791 |
|
1792 |
+
#: bp-core/bp-core-filters.php:286 bp-members/bp-members-functions.php:1357
|
1793 |
msgid ""
|
1794 |
"Thanks for registering! To complete the activation of your account please click the following link:\n"
|
1795 |
"\n"
|
1797 |
"\n"
|
1798 |
msgstr ""
|
1799 |
|
1800 |
+
#: bp-core/bp-core-filters.php:287 bp-members/bp-members-functions.php:1358
|
1801 |
msgid "Activate Your Account"
|
1802 |
msgstr ""
|
1803 |
|
1804 |
+
#: bp-core/bp-core-filters.php:343
|
1805 |
msgctxt "Construct the page title. 1 = user name, 2 = component name, 3 = seperator"
|
1806 |
msgid "%1$s %3$s %2$s"
|
1807 |
msgstr ""
|
1808 |
|
1809 |
#. translators: "group name | group nav section name"
|
1810 |
|
1811 |
+
#: bp-core/bp-core-filters.php:349
|
1812 |
msgid "%1$s | %2$s"
|
1813 |
msgstr ""
|
1814 |
|
1815 |
#. translators: "component item name | component nav section name | root
|
1816 |
#. component name"
|
1817 |
|
1818 |
+
#: bp-core/bp-core-filters.php:354
|
1819 |
msgid "%1$s | %2$s | %3$s"
|
1820 |
msgstr ""
|
1821 |
|
1822 |
+
#: bp-core/bp-core-filters.php:359 bp-core/bp-core-filters.php:361
|
1823 |
msgid "%s Directory"
|
1824 |
msgstr ""
|
1825 |
|
1826 |
+
#: bp-core/bp-core-filters.php:366 bp-members/bp-members-screens.php:430
|
1827 |
#: bp-themes/bp-default/registration/register.php:23
|
1828 |
msgid "Create an Account"
|
1829 |
msgstr ""
|
1830 |
|
1831 |
+
#: bp-core/bp-core-filters.php:370 bp-members/bp-members-screens.php:438
|
1832 |
#: bp-themes/bp-default/registration/activate.php:13
|
1833 |
msgid "Activate your Account"
|
1834 |
msgstr ""
|
1835 |
|
1836 |
+
#: bp-core/bp-core-filters.php:374 bp-groups/bp-groups-screens.php:999
|
1837 |
+
#: bp-groups/bp-groups-screens.php:1037
|
1838 |
#: bp-themes/bp-default/groups/create.php:18
|
1839 |
#: bp-themes/bp-default/groups/index.php:21
|
1840 |
msgid "Create a Group"
|
1841 |
msgstr ""
|
1842 |
|
1843 |
+
#: bp-core/bp-core-functions.php:204
|
1844 |
msgctxt "Page title for the Activity directory."
|
1845 |
msgid "Activity"
|
1846 |
msgstr ""
|
1847 |
|
1848 |
+
#: bp-core/bp-core-functions.php:205
|
1849 |
msgctxt "Page title for the Groups directory."
|
1850 |
msgid "Groups"
|
1851 |
msgstr ""
|
1852 |
|
1853 |
+
#: bp-core/bp-core-functions.php:206
|
1854 |
msgctxt "Page title for the Sites directory."
|
1855 |
msgid "Sites"
|
1856 |
msgstr ""
|
1857 |
|
1858 |
+
#: bp-core/bp-core-functions.php:207
|
1859 |
msgctxt "Page title for the user account activation screen."
|
1860 |
msgid "Activate"
|
1861 |
msgstr ""
|
1862 |
|
1863 |
+
#: bp-core/bp-core-functions.php:208
|
1864 |
msgctxt "Page title for the Members directory."
|
1865 |
msgid "Members"
|
1866 |
msgstr ""
|
1867 |
|
1868 |
+
#: bp-core/bp-core-functions.php:209
|
1869 |
msgctxt "Page title for the user registration screen."
|
1870 |
msgid "Register"
|
1871 |
msgstr ""
|
1872 |
|
1873 |
+
#: bp-core/bp-core-functions.php:443
|
1874 |
msgid "sometime"
|
1875 |
msgstr ""
|
1876 |
|
1877 |
+
#: bp-core/bp-core-functions.php:444
|
1878 |
msgid "right now"
|
1879 |
msgstr ""
|
1880 |
|
1881 |
+
#: bp-core/bp-core-functions.php:445
|
1882 |
msgid "%s ago"
|
1883 |
msgstr ""
|
1884 |
|
1885 |
+
#: bp-core/bp-core-functions.php:449
|
1886 |
+
msgid "year"
|
1887 |
+
msgstr ""
|
|
|
|
|
1888 |
|
1889 |
+
#: bp-core/bp-core-functions.php:449
|
1890 |
+
msgid "years"
|
1891 |
+
msgstr ""
|
|
|
|
|
1892 |
|
1893 |
+
#: bp-core/bp-core-functions.php:450
|
1894 |
+
msgid "month"
|
1895 |
+
msgstr ""
|
|
|
|
|
1896 |
|
1897 |
+
#: bp-core/bp-core-functions.php:450
|
1898 |
+
msgid "months"
|
1899 |
+
msgstr ""
|
|
|
|
|
1900 |
|
1901 |
+
#: bp-core/bp-core-functions.php:451
|
1902 |
+
msgid "week"
|
1903 |
+
msgstr ""
|
|
|
|
|
1904 |
|
1905 |
+
#: bp-core/bp-core-functions.php:451
|
1906 |
+
msgid "weeks"
|
1907 |
+
msgstr ""
|
|
|
|
|
1908 |
|
1909 |
+
#: bp-core/bp-core-functions.php:452
|
1910 |
+
msgid "day"
|
1911 |
+
msgstr ""
|
1912 |
+
|
1913 |
+
#: bp-core/bp-core-functions.php:452
|
1914 |
+
msgid "days"
|
1915 |
+
msgstr ""
|
1916 |
+
|
1917 |
+
#: bp-core/bp-core-functions.php:453
|
1918 |
+
msgid "hour"
|
1919 |
+
msgstr ""
|
1920 |
+
|
1921 |
+
#: bp-core/bp-core-functions.php:453
|
1922 |
+
msgid "hours"
|
1923 |
+
msgstr ""
|
1924 |
+
|
1925 |
+
#: bp-core/bp-core-functions.php:454
|
1926 |
+
msgid "minute"
|
1927 |
+
msgstr ""
|
1928 |
|
1929 |
+
#: bp-core/bp-core-functions.php:454
|
1930 |
+
msgid "minutes"
|
1931 |
+
msgstr ""
|
1932 |
+
|
1933 |
+
#: bp-core/bp-core-functions.php:455
|
1934 |
+
msgid "second"
|
1935 |
+
msgstr ""
|
1936 |
+
|
1937 |
+
#: bp-core/bp-core-functions.php:455
|
1938 |
+
msgid "seconds"
|
1939 |
+
msgstr ""
|
1940 |
+
|
1941 |
+
#: bp-core/bp-core-functions.php:514
|
1942 |
msgctxt "Separator in time since"
|
1943 |
msgid ","
|
1944 |
msgstr ""
|
1945 |
|
1946 |
+
#: bp-core/bp-core-functions.php:582
|
1947 |
msgid "Not recently active"
|
1948 |
msgstr ""
|
1949 |
|
1950 |
+
#: bp-core/bp-core-loader.php:214 bp-members/bp-members-loader.php:158
|
1951 |
#: bp-xprofile/bp-xprofile-loader.php:154
|
1952 |
#: bp-xprofile/bp-xprofile-loader.php:229
|
1953 |
msgid "Profile"
|
1961 |
msgid "%1$s at %2$s"
|
1962 |
msgstr ""
|
1963 |
|
1964 |
+
#: bp-core/bp-core-template.php:252 bp-forums/bp-forums-loader.php:103
|
1965 |
+
#: bp-forums/bp-forums-loader.php:166 bp-forums/bp-forums-loader.php:207
|
1966 |
+
#: bp-forums/bp-forums-screens.php:188 bp-forums/bp-forums-screens.php:190
|
1967 |
+
#: bp-forums/deprecated/1.6.php:24 bp-forums/deprecated/1.7.php:25
|
1968 |
+
#: bp-forums/deprecated/1.7.php:57 bp-forums/deprecated/1.7.php:329
|
1969 |
+
msgid "Forums"
|
1970 |
+
msgstr ""
|
1971 |
+
|
1972 |
#: bp-core/bp-core-template.php:254
|
1973 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:79
|
1974 |
#: bp-templates/bp-legacy/buddypress/forums/forums-loop.php:40
|
1975 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:27
|
1976 |
+
#: bp-themes/bp-default/activity/index.php:99
|
1977 |
#: bp-themes/bp-default/forums/forums-loop.php:40
|
1978 |
#: bp-themes/bp-default/members/single/activity.php:27
|
1979 |
msgid "Posts"
|
2004 |
msgid "(BuddyPress) Members"
|
2005 |
msgstr ""
|
2006 |
|
2007 |
+
#: bp-core/bp-core-widgets.php:47 bp-core/bp-core-widgets.php:133
|
2008 |
#: bp-core/deprecated/1.6.php:129 bp-core/deprecated/1.6.php:152
|
2009 |
+
#: bp-groups/bp-groups-widgets.php:58 bp-groups/bp-groups-widgets.php:139
|
2010 |
#: bp-templates/bp-legacy/buddypress/blogs/index.php:39
|
2011 |
#: bp-templates/bp-legacy/buddypress/members/single/blogs.php:22
|
2012 |
#: bp-themes/bp-default/blogs/index.php:56
|
2014 |
msgid "Newest"
|
2015 |
msgstr ""
|
2016 |
|
2017 |
+
#: bp-core/bp-core-widgets.php:48 bp-core/bp-core-widgets.php:134
|
2018 |
+
#: bp-groups/bp-groups-widgets.php:59 bp-groups/bp-groups-widgets.php:140
|
2019 |
msgid "Active"
|
2020 |
msgstr ""
|
2021 |
|
2022 |
+
#: bp-core/bp-core-widgets.php:52 bp-core/bp-core-widgets.php:135
|
2023 |
+
#: bp-groups/bp-groups-widgets.php:60 bp-groups/bp-groups-widgets.php:141
|
2024 |
msgid "Popular"
|
2025 |
msgstr ""
|
2026 |
|
2027 |
+
#: bp-core/bp-core-widgets.php:89
|
2028 |
msgid "No one has signed up yet!"
|
2029 |
msgstr ""
|
2030 |
|
2031 |
+
#: bp-core/bp-core-widgets.php:124 bp-core/bp-core-widgets.php:204
|
2032 |
+
#: bp-core/bp-core-widgets.php:271 bp-groups/bp-groups-widgets.php:130
|
2033 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:86
|
2034 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum/edit.php:47
|
2035 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum.php:75
|
2039 |
msgid "Title:"
|
2040 |
msgstr ""
|
2041 |
|
2042 |
+
#: bp-core/bp-core-widgets.php:126
|
2043 |
msgid "Link widget title to Members directory"
|
2044 |
msgstr ""
|
2045 |
|
2046 |
+
#: bp-core/bp-core-widgets.php:128
|
2047 |
msgid "Max members to show:"
|
2048 |
msgstr ""
|
2049 |
|
2050 |
+
#: bp-core/bp-core-widgets.php:131
|
2051 |
msgid "Default members to show:"
|
2052 |
msgstr ""
|
2053 |
|
2054 |
+
#: bp-core/bp-core-widgets.php:150
|
2055 |
msgid "Avatars of users who are currently online"
|
2056 |
msgstr ""
|
2057 |
|
2058 |
+
#: bp-core/bp-core-widgets.php:153
|
2059 |
msgctxt "widget name"
|
2060 |
msgid "(BuddyPress) Who's Online"
|
2061 |
msgstr ""
|
2062 |
|
2063 |
+
#: bp-core/bp-core-widgets.php:176
|
2064 |
msgid "There are no users currently online"
|
2065 |
msgstr ""
|
2066 |
|
2067 |
+
#: bp-core/bp-core-widgets.php:195
|
2068 |
msgid "Who's Online"
|
2069 |
msgstr ""
|
2070 |
|
2071 |
+
#: bp-core/bp-core-widgets.php:206 bp-core/bp-core-widgets.php:273
|
2072 |
msgid "Max Members to show:"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
+
#: bp-core/bp-core-widgets.php:217
|
2076 |
msgid "Avatars of recently active members"
|
2077 |
msgstr ""
|
2078 |
|
2079 |
+
#: bp-core/bp-core-widgets.php:220
|
2080 |
msgctxt "widget name"
|
2081 |
msgid "(BuddyPress) Recently Active Members"
|
2082 |
msgstr ""
|
2083 |
|
2084 |
+
#: bp-core/bp-core-widgets.php:243
|
2085 |
msgid "There are no recently active members"
|
2086 |
msgstr ""
|
2087 |
|
2088 |
+
#: bp-core/bp-core-widgets.php:325
|
2089 |
msgid "There were no members found, please try another filter."
|
2090 |
msgstr ""
|
2091 |
|
2100 |
|
2101 |
#: bp-core/deprecated/1.5.php:149
|
2102 |
#: bp-templates/bp-legacy/buddypress/members/single/profile/profile-wp.php:15
|
2103 |
+
#: bp-themes/bp-default/functions.php:641
|
2104 |
#: bp-themes/bp-default/members/single/profile/profile-wp.php:15
|
2105 |
msgid "Name"
|
2106 |
msgstr ""
|
2113 |
|
2114 |
#: bp-core/deprecated/1.5.php:167
|
2115 |
#: bp-templates/bp-legacy/buddypress/members/single/profile/profile-wp.php:33
|
2116 |
+
#: bp-themes/bp-default/functions.php:645
|
2117 |
#: bp-themes/bp-default/members/single/profile/profile-wp.php:33
|
2118 |
msgid "Website"
|
2119 |
msgstr ""
|
2141 |
msgstr ""
|
2142 |
|
2143 |
#: bp-core/deprecated/1.6.php:128 bp-core/deprecated/1.6.php:149
|
2144 |
+
#: bp-groups/bp-groups-template.php:2498 bp-groups/bp-groups-template.php:2520
|
2145 |
msgid "Recently Active"
|
2146 |
msgstr ""
|
2147 |
|
2148 |
#: bp-core/deprecated/1.6.php:130 bp-core/deprecated/1.6.php:155
|
2149 |
+
#: bp-groups/bp-groups-template.php:2503 bp-groups/bp-groups-template.php:2535
|
2150 |
msgid "Alphabetically"
|
2151 |
msgstr ""
|
2152 |
|
2158 |
msgid "Search Forums..."
|
2159 |
msgstr ""
|
2160 |
|
2161 |
+
#: bp-forums/bp-forums-loader.php:125 bp-forums/bp-forums-loader.php:174
|
2162 |
msgid "Topics Started"
|
2163 |
msgstr ""
|
2164 |
|
2165 |
+
#: bp-forums/bp-forums-loader.php:136
|
2166 |
msgid "Replied To"
|
2167 |
msgstr ""
|
2168 |
|
2169 |
+
#: bp-forums/bp-forums-loader.php:182
|
2170 |
msgid "Replies"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
+
#: bp-forums/bp-forums-loader.php:190
|
2174 |
msgid "Favorite Topics"
|
2175 |
msgstr ""
|
2176 |
|
2198 |
msgid "Please pick the group forum where you would like to post this topic."
|
2199 |
msgstr ""
|
2200 |
|
2201 |
+
#: bp-forums/bp-forums-screens.php:188 bp-groups/bp-groups-template.php:1690
|
2202 |
+
#: bp-groups/bp-groups-template.php:1691
|
2203 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum.php:19
|
2204 |
#: bp-themes/bp-default/forums/index.php:23
|
2205 |
#: bp-themes/bp-default/groups/single/forum.php:19
|
2219 |
#: bp-forums/bp-forums-template.php:505 bp-forums/bp-forums-template.php:567
|
2220 |
#: bp-forums/bp-forums-template.php:1216
|
2221 |
#: bp-messages/bp-messages-classes.php:269
|
2222 |
+
#: bp-messages/bp-messages-template.php:841
|
2223 |
+
#: bp-messages/bp-messages-template.php:902
|
2224 |
msgid "Deleted User"
|
2225 |
msgstr ""
|
2226 |
|
2228 |
msgid "Group logo for %s"
|
2229 |
msgstr ""
|
2230 |
|
2231 |
+
#: bp-forums/bp-forums-template.php:683 bp-groups/bp-groups-template.php:1013
|
2232 |
msgid "%d post"
|
2233 |
msgstr ""
|
2234 |
|
2235 |
+
#: bp-forums/bp-forums-template.php:685 bp-groups/bp-groups-template.php:1015
|
2236 |
msgid "%d posts"
|
2237 |
msgstr ""
|
2238 |
|
2282 |
msgid "Viewing post %1$s to %2$s (%3$s total posts)"
|
2283 |
msgstr ""
|
2284 |
|
2285 |
+
#: bp-forums/deprecated/1.6.php:29 bp-forums/deprecated/1.7.php:62
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2286 |
msgid "Settings Saved."
|
2287 |
msgstr ""
|
2288 |
|
2289 |
+
#: bp-forums/deprecated/1.6.php:45 bp-forums/deprecated/1.6.php:145
|
2290 |
+
#: bp-forums/deprecated/1.7.php:83 bp-forums/deprecated/1.7.php:220
|
|
|
|
|
|
|
2291 |
msgid "Forums for Groups"
|
2292 |
msgstr ""
|
2293 |
|
2294 |
+
#: bp-forums/deprecated/1.6.php:47 bp-forums/deprecated/1.6.php:147
|
2295 |
+
#: bp-forums/deprecated/1.7.php:85 bp-forums/deprecated/1.7.php:222
|
2296 |
msgid "Give each individual group its own discussion forum. Choose this if you'd like to keep your members' conversations separated into distinct areas."
|
2297 |
msgstr ""
|
2298 |
|
2299 |
+
#: bp-forums/deprecated/1.6.php:48 bp-forums/deprecated/1.6.php:148
|
2300 |
+
#: bp-forums/deprecated/1.7.php:86 bp-forums/deprecated/1.7.php:223
|
2301 |
+
msgid "You may use an existing bbPress installation if you have one."
|
2302 |
msgstr ""
|
2303 |
|
2304 |
+
#: bp-forums/deprecated/1.6.php:50 bp-forums/deprecated/1.6.php:150
|
2305 |
+
#: bp-forums/deprecated/1.7.php:88 bp-forums/deprecated/1.7.php:106
|
2306 |
+
#: bp-forums/deprecated/1.7.php:225 bp-forums/deprecated/1.7.php:244
|
2307 |
msgid "Features"
|
2308 |
msgstr ""
|
2309 |
|
2310 |
+
#: bp-forums/deprecated/1.6.php:52 bp-forums/deprecated/1.6.php:152
|
2311 |
+
#: bp-forums/deprecated/1.7.php:90 bp-forums/deprecated/1.7.php:227
|
2312 |
msgid "Group Integration"
|
2313 |
msgstr ""
|
2314 |
|
2315 |
+
#: bp-forums/deprecated/1.6.php:53 bp-forums/deprecated/1.6.php:153
|
2316 |
+
#: bp-forums/deprecated/1.7.php:91 bp-forums/deprecated/1.7.php:228
|
2317 |
msgid "Member Profile Integration"
|
2318 |
msgstr ""
|
2319 |
|
2320 |
+
#: bp-forums/deprecated/1.6.php:54 bp-forums/deprecated/1.6.php:154
|
2321 |
+
#: bp-forums/deprecated/1.7.php:92 bp-forums/deprecated/1.7.php:110
|
2322 |
+
#: bp-forums/deprecated/1.7.php:229 bp-forums/deprecated/1.7.php:248
|
2323 |
msgid "Activity Stream Integration"
|
2324 |
msgstr ""
|
2325 |
|
2326 |
+
#: bp-forums/deprecated/1.6.php:55 bp-forums/deprecated/1.6.php:155
|
2327 |
+
#: bp-forums/deprecated/1.7.php:93 bp-forums/deprecated/1.7.php:111
|
2328 |
+
#: bp-forums/deprecated/1.7.php:230 bp-forums/deprecated/1.7.php:249
|
2329 |
msgid "@ Mention Integration"
|
2330 |
msgstr ""
|
2331 |
|
2332 |
+
#: bp-forums/deprecated/1.6.php:59
|
2333 |
+
msgid "Reinstall Group Forums"
|
2334 |
msgstr ""
|
2335 |
|
2336 |
+
#: bp-forums/deprecated/1.6.php:78 bp-forums/deprecated/1.7.php:153
|
2337 |
+
msgid "The bb-config.php file was not found at that location, please try again."
|
|
|
|
|
|
|
|
|
2338 |
msgstr ""
|
2339 |
|
2340 |
+
#: bp-forums/deprecated/1.6.php:81 bp-forums/deprecated/1.7.php:156
|
2341 |
+
msgid "Forums were set up correctly using your existing bbPress install!"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
+
#: bp-forums/deprecated/1.6.php:82 bp-forums/deprecated/1.7.php:157
|
2345 |
+
msgid "BuddyPress will now use its internal copy of bbPress to run the forums on your site. If you wish, you can remove your old bbPress installation files, as long as you keep the bb-config.php file in the same location."
|
2346 |
msgstr ""
|
2347 |
|
2348 |
+
#: bp-forums/deprecated/1.6.php:87 bp-forums/deprecated/1.7.php:162
|
2349 |
+
msgid "Existing bbPress Installation"
|
2350 |
msgstr ""
|
2351 |
|
2352 |
+
#: bp-forums/deprecated/1.6.php:88 bp-forums/deprecated/1.7.php:163
|
2353 |
+
msgid "BuddyPress can make use of your existing bbPress install. Just provide the location of your <code>bb-config.php</code> file, and BuddyPress will do the rest."
|
2354 |
msgstr ""
|
2355 |
|
2356 |
+
#: bp-forums/deprecated/1.6.php:90 bp-forums/deprecated/1.6.php:122
|
2357 |
+
#: bp-forums/deprecated/1.7.php:165 bp-forums/deprecated/1.7.php:197
|
2358 |
+
msgid "Complete Installation"
|
2359 |
msgstr ""
|
2360 |
|
2361 |
+
#: bp-forums/deprecated/1.6.php:106 bp-forums/deprecated/1.7.php:181
|
2362 |
+
msgid "<p>All done! Configuration settings have been saved to the file <code>bb-config.php</code> in the root of your WordPress install.</p>"
|
2363 |
msgstr ""
|
2364 |
|
2365 |
+
#: bp-forums/deprecated/1.6.php:110 bp-forums/deprecated/1.7.php:185
|
2366 |
+
msgid "<p>A configuration file could not be created. No problem, but you will need to save the text shown below into a file named <code>bb-config.php</code> in the root directory of your WordPress installation before you can start using the forum functionality.</p>"
|
2367 |
msgstr ""
|
2368 |
|
2369 |
+
#: bp-forums/deprecated/1.6.php:119 bp-forums/deprecated/1.7.php:194
|
2370 |
+
msgid "New bbPress Installation"
|
2371 |
msgstr ""
|
2372 |
|
2373 |
+
#: bp-forums/deprecated/1.6.php:120 bp-forums/deprecated/1.7.php:195
|
2374 |
+
msgid ""
|
2375 |
+
"You've decided to set up a new installation of bbPress for forum management in BuddyPress. This is very simple and is usually just a one click\n"
|
2376 |
+
"\t\t\t\tprocess. When you're ready, hit the link below."
|
2377 |
msgstr ""
|
2378 |
|
2379 |
+
#: bp-forums/deprecated/1.6.php:132 bp-forums/deprecated/1.7.php:207
|
2380 |
+
msgid "bbPress files were not found. To install the forums component you must download a copy of bbPress and make sure it is in the folder: \"%s\""
|
2381 |
msgstr ""
|
2382 |
|
2383 |
+
#: bp-forums/deprecated/1.6.php:159 bp-forums/deprecated/1.7.php:234
|
2384 |
+
msgid "Install Group Forums"
|
2385 |
msgstr ""
|
2386 |
|
2387 |
+
#: bp-forums/deprecated/1.6.php:160 bp-forums/deprecated/1.7.php:235
|
2388 |
+
msgid "Use Existing Installation"
|
2389 |
msgstr ""
|
2390 |
|
2391 |
+
#: bp-forums/deprecated/1.7.php:46 bp-forums/deprecated/1.7.php:143
|
2392 |
+
msgid "Configure Site Wide Forums"
|
2393 |
msgstr ""
|
2394 |
|
2395 |
+
#: bp-forums/deprecated/1.7.php:49 bp-forums/deprecated/1.7.php:146
|
2396 |
+
msgid "Install Site Wide Forums"
|
2397 |
msgstr ""
|
2398 |
|
2399 |
+
#: bp-forums/deprecated/1.7.php:83
|
2400 |
+
msgid "(Installed)"
|
2401 |
msgstr ""
|
2402 |
|
2403 |
+
#: bp-forums/deprecated/1.7.php:97
|
2404 |
+
msgid "Uninstall Group Forums"
|
2405 |
msgstr ""
|
2406 |
|
2407 |
+
#: bp-forums/deprecated/1.7.php:102 bp-forums/deprecated/1.7.php:240
|
2408 |
+
msgid "New! Site Wide Forums"
|
2409 |
msgstr ""
|
2410 |
|
2411 |
+
#: bp-forums/deprecated/1.7.php:103 bp-forums/deprecated/1.7.php:241
|
2412 |
+
msgid "Your site will have central forums that are not isolated to any specific group. Choose this if you'd like to have a central forum area for your members."
|
2413 |
msgstr ""
|
2414 |
|
2415 |
+
#: bp-forums/deprecated/1.7.php:104 bp-forums/deprecated/1.7.php:242
|
2416 |
+
msgid "You may activate both Group and Site Wide forums, but this may create a poor experience for your members."
|
|
|
|
|
2417 |
msgstr ""
|
2418 |
|
2419 |
+
#: bp-forums/deprecated/1.7.php:108 bp-forums/deprecated/1.7.php:246
|
2420 |
+
msgid "Central Discussion Area"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
+
#: bp-forums/deprecated/1.7.php:109 bp-forums/deprecated/1.7.php:247
|
2424 |
+
msgid "Forum Plugins Available"
|
2425 |
msgstr ""
|
2426 |
|
2427 |
+
#: bp-forums/deprecated/1.7.php:121
|
2428 |
+
msgid "Need help deciding between Group Forums and Site Wide Forums? Visit <a href=\"%s\">the BuddyPress codex</a> for more information."
|
2429 |
msgstr ""
|
2430 |
|
2431 |
#: bp-friends/bp-friends-actions.php:35
|
2445 |
msgstr ""
|
2446 |
|
2447 |
#: bp-friends/bp-friends-actions.php:70
|
2448 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:889
|
2449 |
+
#: bp-themes/bp-default/_inc/ajax.php:605
|
2450 |
msgid "Friendship could not be canceled."
|
2451 |
msgstr ""
|
2452 |
|
2491 |
msgid "You have a friendship request from %s"
|
2492 |
msgstr ""
|
2493 |
|
2494 |
+
#: bp-friends/bp-friends-functions.php:100
|
2495 |
+
#: bp-friends/bp-friends-functions.php:109
|
2496 |
msgid "%1$s and %2$s are now friends"
|
2497 |
msgstr ""
|
2498 |
|
2506 |
|
2507 |
#: bp-friends/bp-friends-loader.php:118 bp-friends/bp-friends-loader.php:180
|
2508 |
#: bp-friends/bp-friends-loader.php:207
|
2509 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:100
|
2510 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:35
|
2511 |
+
#: bp-themes/bp-default/activity/index.php:120
|
2512 |
#: bp-themes/bp-default/members/single/activity.php:35
|
2513 |
msgid "Friendships"
|
2514 |
msgstr ""
|
2515 |
|
2516 |
+
#: bp-friends/bp-friends-loader.php:128 bp-groups/bp-groups-template.php:1458
|
2517 |
msgid "Requests"
|
2518 |
msgstr ""
|
2519 |
|
2622 |
msgstr ""
|
2623 |
|
2624 |
#: bp-friends/bp-friends-template.php:285
|
2625 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:901
|
2626 |
+
#: bp-themes/bp-default/_inc/ajax.php:617
|
2627 |
msgid "Cancel Friendship Request"
|
2628 |
msgstr ""
|
2629 |
|
2638 |
|
2639 |
#: bp-friends/bp-friends-template.php:319
|
2640 |
#: bp-friends/bp-friends-template.php:320
|
2641 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:891
|
2642 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:909
|
2643 |
+
#: bp-themes/bp-default/_inc/ajax.php:607
|
2644 |
+
#: bp-themes/bp-default/_inc/ajax.php:625
|
2645 |
msgid "Add Friend"
|
2646 |
msgstr ""
|
2647 |
|
2657 |
msgid "Please fill in all of the required fields"
|
2658 |
msgstr ""
|
2659 |
|
2660 |
+
#: bp-groups/bp-groups-actions.php:79 bp-groups/bp-groups-actions.php:106
|
2661 |
msgid "There was an error saving group details, please try again."
|
2662 |
msgstr ""
|
2663 |
|
2664 |
+
#: bp-groups/bp-groups-actions.php:145
|
2665 |
msgid "%1$s created the group %2$s"
|
2666 |
msgstr ""
|
2667 |
|
2668 |
+
#: bp-groups/bp-groups-actions.php:197
|
2669 |
msgid "There was an error saving the group avatar, please try uploading again."
|
2670 |
msgstr ""
|
2671 |
|
2672 |
+
#: bp-groups/bp-groups-actions.php:199
|
2673 |
msgid "The group avatar was uploaded successfully!"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
+
#: bp-groups/bp-groups-actions.php:223 bp-groups/bp-groups-actions.php:230
|
2677 |
msgid "There was an error joining the group."
|
2678 |
msgstr ""
|
2679 |
|
2680 |
+
#: bp-groups/bp-groups-actions.php:232
|
2681 |
msgid "You joined the group!"
|
2682 |
msgstr ""
|
2683 |
|
2684 |
+
#: bp-groups/bp-groups-actions.php:258 bp-groups/bp-groups-screens.php:709
|
2685 |
msgid "This group must have at least one admin"
|
2686 |
msgstr ""
|
2687 |
|
2688 |
+
#: bp-groups/bp-groups-actions.php:261
|
2689 |
msgid "There was an error leaving the group."
|
2690 |
msgstr ""
|
2691 |
|
2692 |
+
#: bp-groups/bp-groups-actions.php:263 bp-groups/bp-groups-functions.php:313
|
2693 |
msgid "You successfully left the group."
|
2694 |
msgstr ""
|
2695 |
|
|
|
|
|
|
|
|
|
2696 |
#: bp-groups/bp-groups-activity.php:23
|
2697 |
msgid "Created a group"
|
2698 |
msgstr ""
|
2826 |
msgid "Start typing a username to add a new member."
|
2827 |
msgstr ""
|
2828 |
|
2829 |
+
#: bp-groups/bp-groups-admin.php:443
|
|
|
|
|
|
|
|
|
2830 |
msgid "You cannot remove all administrators from a group."
|
2831 |
msgstr ""
|
2832 |
|
2833 |
+
#: bp-groups/bp-groups-admin.php:447
|
2834 |
msgid "An error occurred when trying to update your group details."
|
2835 |
msgstr ""
|
2836 |
|
2837 |
+
#: bp-groups/bp-groups-admin.php:449
|
2838 |
msgid "The group has been updated successfully."
|
2839 |
msgstr ""
|
2840 |
|
2841 |
+
#: bp-groups/bp-groups-admin.php:453
|
2842 |
msgid "The following users could not be added to the group: <em>%s</em>"
|
2843 |
msgstr ""
|
2844 |
|
2845 |
+
#: bp-groups/bp-groups-admin.php:457
|
2846 |
msgid "The following users were successfully added to the group: <em>%s</em>"
|
2847 |
msgstr ""
|
2848 |
|
2849 |
+
#: bp-groups/bp-groups-admin.php:462
|
2850 |
msgid "An error occurred when trying to modify the following members: <em>%s</em>"
|
2851 |
msgstr ""
|
2852 |
|
2853 |
+
#: bp-groups/bp-groups-admin.php:467
|
2854 |
msgid "The following members were successfully modified: <em>%s</em>"
|
2855 |
msgstr ""
|
2856 |
|
2857 |
+
#: bp-groups/bp-groups-admin.php:486 bp-groups/bp-groups-adminbar.php:40
|
2858 |
#: bp-xprofile/bp-xprofile-admin.php:114
|
2859 |
msgid "Edit Group"
|
2860 |
msgstr ""
|
2861 |
|
2862 |
+
#: bp-groups/bp-groups-admin.php:489
|
2863 |
msgid "Add New"
|
2864 |
msgstr ""
|
2865 |
|
2866 |
+
#: bp-groups/bp-groups-admin.php:508
|
2867 |
msgid "Name and Description"
|
2868 |
msgstr ""
|
2869 |
|
2870 |
+
#: bp-groups/bp-groups-admin.php:535
|
2871 |
msgid "No group found with this ID. <a href=\"%s\">Go back and try again</a>."
|
2872 |
msgstr ""
|
2873 |
|
2874 |
+
#: bp-groups/bp-groups-admin.php:573
|
2875 |
msgid "Delete Groups"
|
2876 |
msgstr ""
|
2877 |
|
2878 |
+
#: bp-groups/bp-groups-admin.php:574
|
2879 |
msgid "You are about to delete the following groups:"
|
2880 |
msgstr ""
|
2881 |
|
2882 |
+
#: bp-groups/bp-groups-admin.php:582
|
2883 |
msgid "This action cannot be undone."
|
2884 |
msgstr ""
|
2885 |
|
2886 |
+
#: bp-groups/bp-groups-admin.php:609
|
2887 |
msgid "%s group has been permanently deleted."
|
2888 |
msgid_plural "%s groups have been permanently deleted."
|
2889 |
msgstr[0] ""
|
2890 |
msgstr[1] ""
|
2891 |
|
2892 |
+
#: bp-groups/bp-groups-admin.php:638
|
2893 |
msgid "Search all Groups"
|
2894 |
msgstr ""
|
2895 |
|
2896 |
+
#: bp-groups/bp-groups-admin.php:660
|
2897 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:112
|
2898 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:47
|
2899 |
#: bp-themes/bp-default/groups/create.php:119
|
2901 |
msgid "Enable discussion forum"
|
2902 |
msgstr ""
|
2903 |
|
2904 |
+
#: bp-groups/bp-groups-admin.php:665
|
2905 |
msgid "Privacy"
|
2906 |
msgstr ""
|
2907 |
|
2908 |
+
#: bp-groups/bp-groups-admin.php:668 bp-groups/bp-groups-admin.php:1295
|
2909 |
+
#: bp-groups/bp-groups-template.php:625
|
2910 |
msgid "Public"
|
2911 |
msgstr ""
|
2912 |
|
2913 |
+
#: bp-groups/bp-groups-admin.php:669 bp-groups/bp-groups-admin.php:1298
|
2914 |
+
#: bp-groups/bp-groups-template.php:627
|
2915 |
msgid "Private"
|
2916 |
msgstr ""
|
2917 |
|
2918 |
+
#: bp-groups/bp-groups-admin.php:670 bp-groups/bp-groups-admin.php:1301
|
2919 |
msgid "Hidden"
|
2920 |
msgstr ""
|
2921 |
|
2922 |
+
#: bp-groups/bp-groups-admin.php:674
|
2923 |
msgid "Who can invite others to this group?"
|
2924 |
msgstr ""
|
2925 |
|
2926 |
+
#: bp-groups/bp-groups-admin.php:677
|
2927 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:89
|
2928 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:99
|
2929 |
#: bp-themes/bp-default/groups/create.php:96
|
2931 |
msgid "All group members"
|
2932 |
msgstr ""
|
2933 |
|
2934 |
+
#: bp-groups/bp-groups-admin.php:678
|
2935 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:94
|
2936 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:104
|
2937 |
#: bp-themes/bp-default/groups/create.php:101
|
2939 |
msgid "Group admins and mods only"
|
2940 |
msgstr ""
|
2941 |
|
2942 |
+
#: bp-groups/bp-groups-admin.php:679
|
2943 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:99
|
2944 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:109
|
2945 |
#: bp-themes/bp-default/groups/create.php:106
|
2947 |
msgid "Group admins only"
|
2948 |
msgstr ""
|
2949 |
|
2950 |
+
#: bp-groups/bp-groups-admin.php:694
|
2951 |
msgid "Enter a comma-separated list of user logins."
|
2952 |
msgstr ""
|
2953 |
|
2954 |
+
#: bp-groups/bp-groups-admin.php:762
|
2955 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:177
|
2956 |
#: bp-themes/bp-default/groups/single/admin.php:177
|
2957 |
msgid "Administrators"
|
2958 |
msgstr ""
|
2959 |
|
2960 |
+
#: bp-groups/bp-groups-admin.php:763
|
2961 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:205
|
2962 |
#: bp-themes/bp-default/groups/single/admin.php:205
|
2963 |
msgid "Moderators"
|
2964 |
msgstr ""
|
2965 |
|
2966 |
+
#: bp-groups/bp-groups-admin.php:765
|
2967 |
msgid "Banned Users"
|
2968 |
msgstr ""
|
2969 |
|
2970 |
+
#: bp-groups/bp-groups-admin.php:774
|
2971 |
msgctxt "Group member user_id in group admin"
|
2972 |
msgid "ID"
|
2973 |
msgstr ""
|
2974 |
|
2975 |
+
#: bp-groups/bp-groups-admin.php:775
|
2976 |
msgctxt "Group member name in group admin"
|
2977 |
msgid "Name"
|
2978 |
msgstr ""
|
2979 |
|
2980 |
+
#: bp-groups/bp-groups-admin.php:776
|
2981 |
msgctxt "Group member role in group admin"
|
2982 |
msgid "Group Role"
|
2983 |
msgstr ""
|
2984 |
|
2985 |
+
#: bp-groups/bp-groups-admin.php:799
|
2986 |
msgid "Administrator"
|
2987 |
msgstr ""
|
2988 |
|
2989 |
+
#: bp-groups/bp-groups-admin.php:800
|
2990 |
msgid "Moderator"
|
2991 |
msgstr ""
|
2992 |
|
2993 |
+
#: bp-groups/bp-groups-admin.php:801
|
2994 |
msgid "Member"
|
2995 |
msgstr ""
|
2996 |
|
2997 |
+
#: bp-groups/bp-groups-admin.php:802
|
2998 |
msgid "Banned"
|
2999 |
msgstr ""
|
3000 |
|
3001 |
+
#: bp-groups/bp-groups-admin.php:803
|
3002 |
msgid "Remove From Group"
|
3003 |
msgstr ""
|
3004 |
|
3005 |
+
#: bp-groups/bp-groups-admin.php:824
|
3006 |
msgid "No members of this type"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
+
#: bp-groups/bp-groups-admin.php:849 bp-groups/bp-groups-adminbar.php:102
|
3010 |
+
#: bp-groups/bp-groups-buddybar.php:58
|
3011 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:360
|
3012 |
#: bp-themes/bp-default/groups/single/admin.php:360
|
3013 |
#: bp-xprofile/bp-xprofile-admin.php:118
|
3014 |
msgid "Delete Group"
|
3015 |
msgstr ""
|
3016 |
|
3017 |
+
#: bp-groups/bp-groups-admin.php:853
|
3018 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:32
|
3019 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:117
|
3020 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum/edit.php:58
|
3021 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum/edit.php:74
|
3022 |
#: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:148
|
3023 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:30
|
3024 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/notifications.php:19
|
3025 |
#: bp-themes/bp-default/groups/single/admin.php:32
|
3026 |
#: bp-themes/bp-default/groups/single/admin.php:117
|
3027 |
#: bp-themes/bp-default/groups/single/forum/edit.php:58
|
3033 |
msgid "Save Changes"
|
3034 |
msgstr ""
|
3035 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3036 |
#. translators: 1: user_login, 2: user_email
|
3037 |
|
3038 |
+
#: bp-groups/bp-groups-admin.php:906
|
3039 |
msgid "%1$s (%2$s)"
|
3040 |
msgstr ""
|
3041 |
|
3042 |
+
#: bp-groups/bp-groups-admin.php:1075
|
3043 |
msgid "No groups found."
|
3044 |
msgstr ""
|
3045 |
|
3046 |
+
#: bp-groups/bp-groups-admin.php:1139
|
3047 |
msgid "Public <span class=\"count\">(%s)</span>"
|
3048 |
msgstr ""
|
3049 |
|
3050 |
+
#: bp-groups/bp-groups-admin.php:1140
|
3051 |
msgid "Private <span class=\"count\">(%s)</span>"
|
3052 |
msgstr ""
|
3053 |
|
3054 |
+
#: bp-groups/bp-groups-admin.php:1141
|
3055 |
msgid "Hidden <span class=\"count\">(%s)</span>"
|
3056 |
msgstr ""
|
3057 |
|
3058 |
+
#: bp-groups/bp-groups-admin.php:1170
|
3059 |
msgctxt "Groups admin Group Name column header"
|
3060 |
msgid "Name"
|
3061 |
msgstr ""
|
3062 |
|
3063 |
+
#: bp-groups/bp-groups-admin.php:1171
|
3064 |
msgctxt "Groups admin Group Description column header"
|
3065 |
msgid "Description"
|
3066 |
msgstr ""
|
3067 |
|
3068 |
+
#: bp-groups/bp-groups-admin.php:1172
|
3069 |
msgctxt "Groups admin Privacy Status column header"
|
3070 |
msgid "Status"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
+
#: bp-groups/bp-groups-admin.php:1173
|
3074 |
msgctxt "Groups admin Members column header"
|
3075 |
msgid "# Members"
|
3076 |
msgstr ""
|
3077 |
|
3078 |
+
#: bp-groups/bp-groups-admin.php:1174
|
3079 |
msgctxt "Groups admin Last Active column header"
|
3080 |
msgid "Last Active"
|
3081 |
msgstr ""
|
3082 |
|
3083 |
+
#: bp-groups/bp-groups-adminbar.php:48 bp-groups/bp-groups-buddybar.php:34
|
|
|
|
|
|
|
|
|
3084 |
msgid "Edit Details"
|
3085 |
msgstr ""
|
3086 |
|
3092 |
msgid "Edit Avatar"
|
3093 |
msgstr ""
|
3094 |
|
3095 |
+
#: bp-groups/bp-groups-adminbar.php:75 bp-groups/bp-groups-buddybar.php:46
|
3096 |
msgid "Manage Invitations"
|
3097 |
msgstr ""
|
3098 |
|
3099 |
+
#: bp-groups/bp-groups-adminbar.php:84 bp-groups/bp-groups-buddybar.php:50
|
3100 |
msgid "Manage Members"
|
3101 |
msgstr ""
|
3102 |
|
3103 |
+
#: bp-groups/bp-groups-adminbar.php:93 bp-groups/bp-groups-buddybar.php:54
|
3104 |
msgid "Membership Requests"
|
3105 |
msgstr ""
|
3106 |
|
3107 |
+
#: bp-groups/bp-groups-buddybar.php:31 bp-members/bp-members-buddybar.php:120
|
3108 |
msgid "Admin Options"
|
3109 |
msgstr ""
|
3110 |
|
3111 |
+
#: bp-groups/bp-groups-buddybar.php:36
|
3112 |
msgid "Group Settings"
|
3113 |
msgstr ""
|
3114 |
|
3115 |
+
#: bp-groups/bp-groups-buddybar.php:40 bp-groups/bp-groups-loader.php:585
|
3116 |
+
#: bp-groups/bp-groups-template.php:2586
|
3117 |
msgid "Group Avatar"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
+
#: bp-groups/bp-groups-classes.php:884
|
3121 |
msgid "Group Mod"
|
3122 |
msgstr ""
|
3123 |
|
3124 |
+
#: bp-groups/bp-groups-classes.php:890 bp-groups/bp-groups-functions.php:121
|
3125 |
msgid "Group Admin"
|
3126 |
msgstr ""
|
3127 |
|
3137 |
msgid "%1$s edited the forum topic %2$s in the group %3$s"
|
3138 |
msgstr ""
|
3139 |
|
3140 |
+
#: bp-groups/bp-groups-functions.php:288
|
3141 |
msgid "As the only Admin, you cannot leave the group."
|
3142 |
msgstr ""
|
3143 |
|
3144 |
+
#: bp-groups/bp-groups-functions.php:357 bp-groups/bp-groups-functions.php:878
|
3145 |
#: bp-groups/bp-groups-screens.php:62
|
3146 |
msgid "%1$s joined the group %2$s"
|
3147 |
msgstr ""
|
3148 |
|
3149 |
+
#: bp-groups/bp-groups-functions.php:568
|
3150 |
msgid "%1$s posted an update in the group %2$s"
|
3151 |
msgstr ""
|
3152 |
|
3162 |
msgid "You are not an admin of this group."
|
3163 |
msgstr ""
|
3164 |
|
3165 |
+
#: bp-groups/bp-groups-loader.php:298 bp-groups/bp-groups-template.php:1439
|
3166 |
msgid "Details"
|
3167 |
msgstr ""
|
3168 |
|
3169 |
+
#: bp-groups/bp-groups-loader.php:310 bp-groups/bp-groups-template.php:1450
|
3170 |
msgid "Avatar"
|
3171 |
msgstr ""
|
3172 |
|
3179 |
msgstr ""
|
3180 |
|
3181 |
#: bp-groups/bp-groups-loader.php:368 bp-groups/bp-groups-loader.php:398
|
3182 |
+
#: bp-groups/bp-groups-loader.php:537 bp-groups/bp-groups-loader.php:565
|
3183 |
msgid "Memberships"
|
3184 |
msgstr ""
|
3185 |
|
3192 |
msgid "Home"
|
3193 |
msgstr ""
|
3194 |
|
3195 |
+
#: bp-groups/bp-groups-loader.php:427 bp-groups/bp-groups-template.php:1771
|
3196 |
+
#: bp-groups/bp-groups-template.php:1772
|
3197 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1008
|
3198 |
+
#: bp-themes/bp-default/_inc/ajax.php:724
|
3199 |
msgid "Request Membership"
|
3200 |
msgstr ""
|
3201 |
|
3436 |
msgid "Your membership request was sent to the group administrator successfully. You will be notified when the group administrator responds to your request."
|
3437 |
msgstr ""
|
3438 |
|
3439 |
+
#: bp-groups/bp-groups-screens.php:527
|
3440 |
msgid "There was an error updating group details, please try again."
|
3441 |
msgstr ""
|
3442 |
|
3443 |
+
#: bp-groups/bp-groups-screens.php:529
|
3444 |
msgid "Group details were successfully updated."
|
3445 |
msgstr ""
|
3446 |
|
3447 |
+
#: bp-groups/bp-groups-screens.php:571
|
3448 |
msgid "There was an error updating group settings, please try again."
|
3449 |
msgstr ""
|
3450 |
|
3451 |
+
#: bp-groups/bp-groups-screens.php:573
|
3452 |
msgid "Group settings were successfully updated."
|
3453 |
msgstr ""
|
3454 |
|
3455 |
+
#: bp-groups/bp-groups-screens.php:605 bp-xprofile/bp-xprofile-actions.php:39
|
3456 |
msgid "Your avatar was deleted successfully!"
|
3457 |
msgstr ""
|
3458 |
|
3459 |
+
#: bp-groups/bp-groups-screens.php:607 bp-xprofile/bp-xprofile-actions.php:41
|
3460 |
msgid "There was a problem deleting that avatar, please try again."
|
3461 |
msgstr ""
|
3462 |
|
3463 |
+
#: bp-groups/bp-groups-screens.php:650
|
3464 |
msgid "There was a problem cropping the avatar."
|
3465 |
msgstr ""
|
3466 |
|
3467 |
+
#: bp-groups/bp-groups-screens.php:652
|
3468 |
msgid "The new group avatar was uploaded successfully."
|
3469 |
msgstr ""
|
3470 |
|
3471 |
+
#: bp-groups/bp-groups-screens.php:688
|
3472 |
msgid "There was an error when promoting that user, please try again"
|
3473 |
msgstr ""
|
3474 |
|
3475 |
+
#: bp-groups/bp-groups-screens.php:690
|
3476 |
msgid "User promoted successfully"
|
3477 |
msgstr ""
|
3478 |
|
3479 |
+
#: bp-groups/bp-groups-screens.php:713
|
3480 |
msgid "There was an error when demoting that user, please try again"
|
3481 |
msgstr ""
|
3482 |
|
3483 |
+
#: bp-groups/bp-groups-screens.php:715
|
3484 |
msgid "User demoted successfully"
|
3485 |
msgstr ""
|
3486 |
|
3487 |
+
#: bp-groups/bp-groups-screens.php:731
|
3488 |
msgid "There was an error when banning that user, please try again"
|
3489 |
msgstr ""
|
3490 |
|
3491 |
+
#: bp-groups/bp-groups-screens.php:733
|
3492 |
msgid "User banned successfully"
|
3493 |
msgstr ""
|
3494 |
|
3495 |
+
#: bp-groups/bp-groups-screens.php:749
|
3496 |
msgid "There was an error when unbanning that user, please try again"
|
3497 |
msgstr ""
|
3498 |
|
3499 |
+
#: bp-groups/bp-groups-screens.php:751
|
3500 |
msgid "User ban removed successfully"
|
3501 |
msgstr ""
|
3502 |
|
3503 |
+
#: bp-groups/bp-groups-screens.php:767
|
3504 |
msgid "There was an error removing that user from the group, please try again"
|
3505 |
msgstr ""
|
3506 |
|
3507 |
+
#: bp-groups/bp-groups-screens.php:769
|
3508 |
msgid "User removed successfully"
|
3509 |
msgstr ""
|
3510 |
|
3511 |
+
#: bp-groups/bp-groups-screens.php:807
|
3512 |
msgid "There was an error accepting the membership request, please try again."
|
3513 |
msgstr ""
|
3514 |
|
3515 |
+
#: bp-groups/bp-groups-screens.php:809
|
3516 |
msgid "Group membership request accepted"
|
3517 |
msgstr ""
|
3518 |
|
3519 |
+
#: bp-groups/bp-groups-screens.php:818
|
3520 |
msgid "There was an error rejecting the membership request, please try again."
|
3521 |
msgstr ""
|
3522 |
|
3523 |
+
#: bp-groups/bp-groups-screens.php:820
|
3524 |
msgid "Group membership request rejected"
|
3525 |
msgstr ""
|
3526 |
|
3527 |
+
#: bp-groups/bp-groups-screens.php:852
|
3528 |
msgid "There was an error deleting the group, please try again."
|
3529 |
msgstr ""
|
3530 |
|
3531 |
+
#: bp-groups/bp-groups-screens.php:854
|
3532 |
msgid "The group was deleted successfully"
|
3533 |
msgstr ""
|
3534 |
|
3535 |
+
#: bp-groups/bp-groups-screens.php:902
|
3536 |
msgid "A member invites you to join a group"
|
3537 |
msgstr ""
|
3538 |
|
3539 |
+
#: bp-groups/bp-groups-screens.php:908
|
3540 |
msgid "Group information is updated"
|
3541 |
msgstr ""
|
3542 |
|
3543 |
+
#: bp-groups/bp-groups-screens.php:914
|
3544 |
msgid "You are promoted to a group administrator or moderator"
|
3545 |
msgstr ""
|
3546 |
|
3547 |
+
#: bp-groups/bp-groups-screens.php:920
|
3548 |
msgid "A member requests to join a private group for which you are an admin"
|
3549 |
msgstr ""
|
3550 |
|
3551 |
+
#: bp-groups/bp-groups-template.php:214
|
3552 |
msgctxt "Group pagination previous text"
|
3553 |
msgid "←"
|
3554 |
msgstr ""
|
3555 |
|
3556 |
+
#: bp-groups/bp-groups-template.php:215
|
3557 |
msgctxt "Group pagination next text"
|
3558 |
msgid "→"
|
3559 |
msgstr ""
|
3560 |
|
3561 |
+
#: bp-groups/bp-groups-template.php:458
|
3562 |
msgid "Public Group"
|
3563 |
msgstr ""
|
3564 |
|
3565 |
+
#: bp-groups/bp-groups-template.php:460
|
3566 |
msgid "Hidden Group"
|
3567 |
msgstr ""
|
3568 |
|
3569 |
+
#: bp-groups/bp-groups-template.php:462
|
3570 |
msgid "Private Group"
|
3571 |
msgstr ""
|
3572 |
|
3573 |
+
#: bp-groups/bp-groups-template.php:464
|
3574 |
msgid "Group"
|
3575 |
msgstr ""
|
3576 |
|
3577 |
+
#: bp-groups/bp-groups-template.php:536
|
3578 |
msgid "not yet active"
|
3579 |
msgstr ""
|
3580 |
|
3581 |
+
#: bp-groups/bp-groups-template.php:718
|
3582 |
msgid "Group creator avatar of %s"
|
3583 |
msgstr ""
|
3584 |
|
3585 |
+
#: bp-groups/bp-groups-template.php:753
|
3586 |
msgid "No Admins"
|
3587 |
msgstr ""
|
3588 |
|
3589 |
+
#: bp-groups/bp-groups-template.php:780
|
3590 |
msgid "No Mods"
|
3591 |
msgstr ""
|
3592 |
|
3593 |
+
#: bp-groups/bp-groups-template.php:862
|
3594 |
msgid "Filter Groups"
|
3595 |
msgstr ""
|
3596 |
|
3597 |
+
#: bp-groups/bp-groups-template.php:910
|
3598 |
msgid "Viewing group %1$s to %2$s (of %3$s groups)"
|
3599 |
msgstr ""
|
3600 |
|
3601 |
+
#: bp-groups/bp-groups-template.php:938
|
3602 |
+
msgid "%s member"
|
3603 |
+
msgstr ""
|
3604 |
+
|
3605 |
+
#: bp-groups/bp-groups-template.php:940
|
3606 |
#: bp-templates/bp-legacy/buddypress/members/single/groups/invites.php:14
|
3607 |
#: bp-themes/bp-default/members/single/groups/invites.php:14
|
3608 |
msgid "%s members"
|
3609 |
msgstr ""
|
3610 |
|
3611 |
+
#: bp-groups/bp-groups-template.php:979
|
3612 |
msgid "%d topic"
|
3613 |
msgstr ""
|
3614 |
|
3615 |
+
#: bp-groups/bp-groups-template.php:981
|
3616 |
msgid "%d topics"
|
3617 |
msgstr ""
|
3618 |
|
3619 |
+
#: bp-groups/bp-groups-template.php:1207 bp-groups/bp-groups-template.php:1272
|
3620 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:190
|
3621 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:217
|
3622 |
#: bp-themes/bp-default/groups/single/admin.php:190
|
3624 |
msgid "Demote to Member"
|
3625 |
msgstr ""
|
3626 |
|
3627 |
+
#: bp-groups/bp-groups-template.php:1220 bp-groups/bp-groups-template.php:1285
|
3628 |
+
#: bp-groups/bp-groups-template.php:2085
|
3629 |
msgid "joined %s"
|
3630 |
msgstr ""
|
3631 |
|
3632 |
+
#: bp-groups/bp-groups-template.php:1243
|
3633 |
msgid "This group has no administrators"
|
3634 |
msgstr ""
|
3635 |
|
3636 |
+
#: bp-groups/bp-groups-template.php:1271
|
3637 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:216
|
3638 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:272
|
3639 |
#: bp-themes/bp-default/groups/single/admin.php:216
|
3641 |
msgid "Promote to Admin"
|
3642 |
msgstr ""
|
3643 |
|
3644 |
+
#: bp-groups/bp-groups-template.php:1305
|
3645 |
msgid "This group has no moderators"
|
3646 |
msgstr ""
|
3647 |
|
3648 |
+
#: bp-groups/bp-groups-template.php:1730 bp-groups/bp-groups-template.php:1731
|
3649 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:987
|
3650 |
+
#: bp-themes/bp-default/_inc/ajax.php:703
|
3651 |
msgid "Leave Group"
|
3652 |
msgstr ""
|
3653 |
|
3654 |
+
#: bp-groups/bp-groups-template.php:1753 bp-groups/bp-groups-template.php:1754
|
3655 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1006
|
3656 |
+
#: bp-themes/bp-default/_inc/ajax.php:722
|
3657 |
msgid "Join Group"
|
3658 |
msgstr ""
|
3659 |
|
3660 |
+
#: bp-groups/bp-groups-template.php:1786 bp-groups/bp-groups-template.php:1787
|
3661 |
msgid "Request Sent"
|
3662 |
msgstr ""
|
3663 |
|
3664 |
+
#: bp-groups/bp-groups-template.php:1817
|
3665 |
msgid "This is a private group and you must request group membership in order to join."
|
3666 |
msgstr ""
|
3667 |
|
3668 |
+
#: bp-groups/bp-groups-template.php:1819
|
3669 |
msgid "This is a private group. To join you must be a registered site member and request group membership."
|
3670 |
msgstr ""
|
3671 |
|
3672 |
+
#: bp-groups/bp-groups-template.php:1822
|
3673 |
msgid "This is a private group. Your membership request is awaiting approval from the group administrator."
|
3674 |
msgstr ""
|
3675 |
|
3676 |
+
#: bp-groups/bp-groups-template.php:1826
|
3677 |
msgid "This is a hidden group and only invited members can join."
|
3678 |
msgstr ""
|
3679 |
|
3680 |
+
#: bp-groups/bp-groups-template.php:2133
|
3681 |
msgid "Viewing members %1$s to %2$s (of %3$s members)"
|
3682 |
msgstr ""
|
3683 |
|
3684 |
+
#: bp-groups/bp-groups-template.php:2359
|
3685 |
msgid "Group avatar"
|
3686 |
msgstr ""
|
3687 |
|
3688 |
+
#: bp-groups/bp-groups-template.php:2499 bp-groups/bp-groups-template.php:2523
|
3689 |
msgid "Recently Joined"
|
3690 |
msgstr ""
|
3691 |
|
3692 |
+
#: bp-groups/bp-groups-template.php:2500 bp-groups/bp-groups-template.php:2526
|
3693 |
msgid "Most Popular"
|
3694 |
msgstr ""
|
3695 |
|
3696 |
+
#: bp-groups/bp-groups-template.php:2501 bp-groups/bp-groups-template.php:2529
|
3697 |
msgid "Administrator Of"
|
3698 |
msgstr ""
|
3699 |
|
3700 |
+
#: bp-groups/bp-groups-template.php:2502 bp-groups/bp-groups-template.php:2532
|
3701 |
msgid "Moderator Of"
|
3702 |
msgstr ""
|
3703 |
|
3704 |
+
#: bp-groups/bp-groups-template.php:2590
|
3705 |
msgid "No Group Avatar"
|
3706 |
msgstr ""
|
3707 |
|
3708 |
+
#: bp-groups/bp-groups-template.php:2791
|
3709 |
msgid "requested %s"
|
3710 |
msgstr ""
|
3711 |
|
3712 |
+
#: bp-groups/bp-groups-template.php:2966
|
3713 |
msgid "Group Activity RSS Feed"
|
3714 |
msgstr ""
|
3715 |
|
3722 |
msgid "(BuddyPress) Groups"
|
3723 |
msgstr ""
|
3724 |
|
3725 |
+
#: bp-groups/bp-groups-widgets.php:76 bp-groups/bp-groups-widgets.php:179
|
3726 |
msgid "created %s"
|
3727 |
msgstr ""
|
3728 |
|
3729 |
+
#: bp-groups/bp-groups-widgets.php:95
|
3730 |
msgid "There are no groups to display."
|
3731 |
msgstr ""
|
3732 |
|
3733 |
+
#: bp-groups/bp-groups-widgets.php:132
|
3734 |
msgid "Link widget title to Groups directory"
|
3735 |
msgstr ""
|
3736 |
|
3737 |
+
#: bp-groups/bp-groups-widgets.php:134
|
3738 |
msgid "Max groups to show:"
|
3739 |
msgstr ""
|
3740 |
|
3741 |
+
#: bp-groups/bp-groups-widgets.php:137
|
3742 |
msgid "Default groups to show:"
|
3743 |
msgstr ""
|
3744 |
|
3745 |
+
#: bp-groups/bp-groups-widgets.php:197
|
3746 |
msgid "No groups matched the current filter."
|
3747 |
msgstr ""
|
3748 |
|
3750 |
msgid "Cheatin’ huh?"
|
3751 |
msgstr ""
|
3752 |
|
3753 |
+
#: bp-loader.php:530
|
3754 |
msgid "BuddyPress Default"
|
3755 |
msgstr ""
|
3756 |
|
3783 |
msgstr ""
|
3784 |
|
3785 |
#: bp-members/bp-members-adminbar.php:99
|
3786 |
+
#: bp-xprofile/bp-xprofile-template.php:895
|
3787 |
+
#: bp-xprofile/bp-xprofile-template.php:896
|
3788 |
msgid "Edit Profile"
|
3789 |
msgstr ""
|
3790 |
|
3791 |
+
#: bp-members/bp-members-adminbar.php:115
|
3792 |
#: bp-members/bp-members-buddybar.php:131
|
3793 |
msgid "User Capabilities"
|
3794 |
msgstr ""
|
3795 |
|
3796 |
+
#: bp-members/bp-members-adminbar.php:123
|
3797 |
#: bp-settings/bp-settings-loader.php:130
|
3798 |
#: bp-settings/bp-settings-loader.php:190
|
3799 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php:33
|
3800 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:50
|
3801 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:76
|
3802 |
msgid "Delete Account"
|
3803 |
msgstr ""
|
3804 |
|
3805 |
+
#: bp-members/bp-members-adminbar.php:167
|
3806 |
msgid "No new notifications"
|
3807 |
msgstr ""
|
3808 |
|
3831 |
msgid "Delete %s's Account"
|
3832 |
msgstr ""
|
3833 |
|
3834 |
+
#: bp-members/bp-members-functions.php:897
|
|
|
3835 |
msgid "<strong>ERROR</strong>: Your account has been marked as a spammer."
|
3836 |
msgstr ""
|
3837 |
|
3838 |
+
#: bp-members/bp-members-functions.php:1071
|
3839 |
msgid "Please check your email address."
|
3840 |
msgstr ""
|
3841 |
|
3842 |
+
#: bp-members/bp-members-functions.php:1074
|
3843 |
+
#: bp-members/bp-members-functions.php:1077
|
3844 |
msgid "Sorry, that email address is not allowed!"
|
3845 |
msgstr ""
|
3846 |
|
3847 |
+
#: bp-members/bp-members-functions.php:1080
|
3848 |
msgid "Sorry, that email address is already used!"
|
3849 |
msgstr ""
|
3850 |
|
3851 |
+
#: bp-members/bp-members-functions.php:1098
|
3852 |
msgid "Please enter a username"
|
3853 |
msgstr ""
|
3854 |
|
3855 |
+
#: bp-members/bp-members-functions.php:1106
|
3856 |
+
msgid "Only lowercase letters and numbers allowed"
|
|
|
|
|
|
|
|
|
3857 |
msgstr ""
|
3858 |
|
3859 |
+
#: bp-members/bp-members-functions.php:1109
|
3860 |
msgid "Username must be at least 4 characters"
|
3861 |
msgstr ""
|
3862 |
|
3863 |
+
#: bp-members/bp-members-functions.php:1112
|
3864 |
msgid "Sorry, usernames may not contain the character \"_\"!"
|
3865 |
msgstr ""
|
3866 |
|
3867 |
+
#: bp-members/bp-members-functions.php:1119
|
3868 |
msgid "Sorry, usernames must have letters too!"
|
3869 |
msgstr ""
|
3870 |
|
3871 |
+
#: bp-members/bp-members-functions.php:1123
|
3872 |
msgid "Sorry, that username already exists!"
|
3873 |
msgstr ""
|
3874 |
|
3875 |
+
#: bp-members/bp-members-functions.php:1168
|
3876 |
msgid "<strong>ERROR</strong>: Couldn’t register you... please contact the <a href=\"mailto:%s\">webmaster</a> !"
|
3877 |
msgstr ""
|
3878 |
|
3879 |
+
#: bp-members/bp-members-functions.php:1266
|
3880 |
+
#: bp-members/bp-members-functions.php:1270
|
3881 |
msgid "Invalid activation key"
|
3882 |
msgstr ""
|
3883 |
|
3884 |
+
#: bp-members/bp-members-functions.php:1307
|
3885 |
msgid "%s became a registered member"
|
3886 |
msgstr ""
|
3887 |
|
3888 |
+
#: bp-members/bp-members-functions.php:1391
|
3889 |
msgid "<strong>ERROR</strong>: Your account has not been activated. Check your email for the activation link."
|
3890 |
msgstr ""
|
3891 |
|
3913 |
msgid "Your account is now active!"
|
3914 |
msgstr ""
|
3915 |
|
3916 |
+
#: bp-members/bp-members-screens.php:433
|
3917 |
#: bp-themes/bp-default/registration/register.php:253
|
3918 |
+
msgid "Sign Up Complete!"
|
3919 |
msgstr ""
|
3920 |
|
3921 |
+
#: bp-members/bp-members-screens.php:441
|
3922 |
#: bp-themes/bp-default/registration/activate.php:11
|
3923 |
msgid "Account Activated"
|
3924 |
msgstr ""
|
3933 |
msgid "→"
|
3934 |
msgstr ""
|
3935 |
|
3936 |
+
#: bp-members/bp-members-template.php:346
|
3937 |
msgid "Viewing member %1$s to %2$s (of %3$s active members)"
|
3938 |
msgstr ""
|
3939 |
|
3940 |
+
#: bp-members/bp-members-template.php:348
|
3941 |
msgid "Viewing member %1$s to %2$s (of %3$s members with friends)"
|
3942 |
msgstr ""
|
3943 |
|
3944 |
+
#: bp-members/bp-members-template.php:350
|
3945 |
msgid "Viewing member %1$s to %2$s (of %3$s members online)"
|
3946 |
msgstr ""
|
3947 |
|
3948 |
+
#: bp-members/bp-members-template.php:352
|
3949 |
msgid "Viewing member %1$s to %2$s (of %3$s members)"
|
3950 |
msgstr ""
|
3951 |
|
3952 |
+
#: bp-members/bp-members-template.php:597
|
3953 |
msgid "Never active"
|
3954 |
msgstr ""
|
3955 |
|
3956 |
+
#: bp-members/bp-members-template.php:619
|
3957 |
msgctxt "member latest update in member directory"
|
3958 |
msgid "- "%s ""
|
3959 |
msgstr ""
|
3960 |
|
3961 |
+
#: bp-members/bp-members-template.php:676
|
3962 |
msgctxt "Records the timestamp that the user registered into the activy stream"
|
3963 |
msgid "registered %s"
|
3964 |
msgstr ""
|
3965 |
|
3966 |
+
#: bp-members/bp-members-template.php:1145
|
3967 |
msgid "Your Avatar"
|
3968 |
msgstr ""
|
3969 |
|
3970 |
+
#: bp-members/bp-members-template.php:1215
|
3971 |
msgid "Activity RSS Feed"
|
3972 |
msgstr ""
|
3973 |
|
3992 |
msgstr ""
|
3993 |
|
3994 |
#: bp-messages/bp-messages-actions.php:91
|
3995 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1167
|
3996 |
+
#: bp-themes/bp-default/_inc/ajax.php:871
|
3997 |
msgid "Messages deleted."
|
3998 |
msgstr ""
|
3999 |
|
4182 |
#: bp-messages/bp-messages-template.php:607
|
4183 |
#: bp-templates/bp-legacy/buddypress/members/register.php:166
|
4184 |
#: bp-templates/bp-legacy/buddypress/members/single/profile/edit.php:130
|
4185 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:257
|
4186 |
+
#: bp-themes/bp-default/functions.php:164
|
4187 |
#: bp-themes/bp-default/members/single/profile/edit.php:130
|
4188 |
#: bp-themes/bp-default/registration/register.php:171
|
4189 |
msgid "Close"
|
4190 |
msgstr ""
|
4191 |
|
4192 |
+
#: bp-messages/bp-messages-template.php:650
|
4193 |
msgid "Send a private message to this user."
|
4194 |
msgstr ""
|
4195 |
|
4196 |
+
#: bp-messages/bp-messages-template.php:651
|
4197 |
msgid "Private Message"
|
4198 |
msgstr ""
|
4199 |
|
4200 |
+
#: bp-messages/bp-messages-template.php:834
|
4201 |
msgid "%d Recipients"
|
4202 |
msgstr ""
|
4203 |
|
4204 |
+
#: bp-messages/bp-messages-template.php:922
|
4205 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1073
|
4206 |
+
#: bp-themes/bp-default/_inc/ajax.php:777
|
4207 |
msgid "Sent %s"
|
4208 |
msgstr ""
|
4209 |
|
4210 |
+
#: bp-settings/bp-settings-actions.php:158
|
4211 |
msgid "That email address is invalid. Check the formatting and try again."
|
4212 |
msgstr ""
|
4213 |
|
4214 |
+
#: bp-settings/bp-settings-actions.php:161
|
4215 |
msgid "That email address is currently unavailable for use."
|
4216 |
msgstr ""
|
4217 |
|
4218 |
+
#: bp-settings/bp-settings-actions.php:164
|
4219 |
msgid "That email address is already taken."
|
4220 |
msgstr ""
|
4221 |
|
4222 |
+
#: bp-settings/bp-settings-actions.php:167
|
4223 |
msgid "Email address cannot be empty."
|
4224 |
msgstr ""
|
4225 |
|
4226 |
+
#: bp-settings/bp-settings-actions.php:177
|
4227 |
msgid "Your current password is invalid."
|
4228 |
msgstr ""
|
4229 |
|
4230 |
+
#: bp-settings/bp-settings-actions.php:180
|
4231 |
msgid "The new password fields did not match."
|
4232 |
msgstr ""
|
4233 |
|
4234 |
+
#: bp-settings/bp-settings-actions.php:183
|
4235 |
msgid "One of the password fields was empty."
|
4236 |
msgstr ""
|
4237 |
|
4238 |
+
#: bp-settings/bp-settings-actions.php:192
|
4239 |
msgid "Your settings have been saved."
|
4240 |
msgstr ""
|
4241 |
|
4242 |
+
#: bp-settings/bp-settings-actions.php:198
|
4243 |
msgid "No changes were made to your account."
|
4244 |
msgstr ""
|
4245 |
|
4246 |
+
#: bp-settings/bp-settings-actions.php:200
|
4247 |
msgid "No changes were made to this account."
|
4248 |
msgstr ""
|
4249 |
|
4250 |
+
#: bp-settings/bp-settings-actions.php:250
|
4251 |
msgid "Your notification settings have been saved."
|
4252 |
msgstr ""
|
4253 |
|
4254 |
+
#: bp-settings/bp-settings-actions.php:252
|
4255 |
msgid "This user's notification settings have been saved."
|
4256 |
msgstr ""
|
4257 |
|
4258 |
+
#: bp-settings/bp-settings-actions.php:345
|
4259 |
msgid "%s was successfully deleted."
|
4260 |
msgstr ""
|
4261 |
|
4301 |
msgstr ""
|
4302 |
|
4303 |
#: bp-templates/bp-legacy/buddypress/activity/entry.php:66
|
4304 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:259
|
4305 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:764
|
4306 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:781
|
4307 |
+
#: bp-themes/bp-default/_inc/ajax.php:481
|
4308 |
+
#: bp-themes/bp-default/_inc/ajax.php:498
|
4309 |
#: bp-themes/bp-default/activity/entry.php:68
|
4310 |
+
#: bp-themes/bp-default/functions.php:166
|
4311 |
msgid "Favorite"
|
4312 |
msgstr ""
|
4313 |
|
4314 |
#: bp-templates/bp-legacy/buddypress/activity/entry.php:70
|
4315 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:260
|
4316 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:762
|
4317 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:783
|
4318 |
+
#: bp-themes/bp-default/_inc/ajax.php:479
|
4319 |
+
#: bp-themes/bp-default/_inc/ajax.php:500
|
4320 |
#: bp-themes/bp-default/activity/entry.php:72
|
4321 |
+
#: bp-themes/bp-default/functions.php:167
|
4322 |
msgid "Remove Favorite"
|
4323 |
msgstr ""
|
4324 |
|
4333 |
msgstr ""
|
4334 |
|
4335 |
#: bp-templates/bp-legacy/buddypress/activity/index.php:19
|
4336 |
+
#: bp-templates/bp-legacy/buddypress/members/index.php:17
|
4337 |
#: bp-themes/bp-default/activity/index.php:39
|
4338 |
+
#: bp-themes/bp-default/members/index.php:33
|
4339 |
msgid "All Members <span>%s</span>"
|
4340 |
msgstr ""
|
4341 |
|
4345 |
msgstr ""
|
4346 |
|
4347 |
#: bp-templates/bp-legacy/buddypress/activity/index.php:29
|
4348 |
+
#: bp-templates/bp-legacy/buddypress/members/index.php:20
|
4349 |
#: bp-themes/bp-default/activity/index.php:49
|
4350 |
+
#: bp-themes/bp-default/members/index.php:37
|
4351 |
msgid "My Friends <span>%s</span>"
|
4352 |
msgstr ""
|
4353 |
|
4373 |
msgid "My Favorites <span>%s</span>"
|
4374 |
msgstr ""
|
4375 |
|
4376 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:57
|
4377 |
+
#: bp-themes/bp-default/activity/index.php:77
|
4378 |
msgid "Activity that I have been mentioned in."
|
4379 |
msgstr ""
|
4380 |
|
4381 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:57
|
4382 |
+
#: bp-themes/bp-default/activity/index.php:77
|
4383 |
+
msgid "<span>%s new</span>"
|
4384 |
+
msgstr ""
|
|
|
|
|
|
|
4385 |
|
4386 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:67
|
4387 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:3
|
4388 |
+
#: bp-themes/bp-default/activity/index.php:87
|
4389 |
#: bp-themes/bp-default/groups/single/activity.php:3
|
4390 |
msgid "RSS Feed"
|
4391 |
msgstr ""
|
4392 |
|
4393 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:67
|
4394 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:3
|
4395 |
+
#: bp-themes/bp-default/activity/index.php:87
|
4396 |
#: bp-themes/bp-default/groups/single/activity.php:3
|
4397 |
msgid "RSS"
|
4398 |
msgstr ""
|
4399 |
|
4400 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:72
|
4401 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:8
|
4402 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:18
|
4403 |
+
#: bp-themes/bp-default/activity/index.php:92
|
4404 |
#: bp-themes/bp-default/groups/single/activity.php:8
|
4405 |
#: bp-themes/bp-default/members/single/activity.php:18
|
4406 |
msgid "Show:"
|
4407 |
msgstr ""
|
4408 |
|
4409 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:74
|
4410 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:10
|
4411 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:20
|
4412 |
+
#: bp-themes/bp-default/activity/index.php:94
|
4413 |
#: bp-themes/bp-default/groups/single/activity.php:10
|
4414 |
#: bp-themes/bp-default/members/single/activity.php:20
|
4415 |
msgid "Everything"
|
4416 |
msgstr ""
|
4417 |
|
4418 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:75
|
4419 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:11
|
4420 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:21
|
4421 |
+
#: bp-themes/bp-default/activity/index.php:95
|
4422 |
#: bp-themes/bp-default/groups/single/activity.php:11
|
4423 |
#: bp-themes/bp-default/members/single/activity.php:21
|
4424 |
msgid "Updates"
|
4425 |
msgstr ""
|
4426 |
|
4427 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:80
|
4428 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:28
|
4429 |
+
#: bp-themes/bp-default/activity/index.php:100
|
4430 |
#: bp-themes/bp-default/members/single/activity.php:28
|
4431 |
msgid "Comments"
|
4432 |
msgstr ""
|
4433 |
|
4434 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:86
|
4435 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:14
|
4436 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:43
|
4437 |
+
#: bp-themes/bp-default/activity/index.php:106
|
4438 |
#: bp-themes/bp-default/groups/single/activity.php:14
|
4439 |
#: bp-themes/bp-default/members/single/activity.php:43
|
4440 |
msgid "Forum Topics"
|
4441 |
msgstr ""
|
4442 |
|
4443 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:87
|
4444 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:15
|
4445 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:44
|
4446 |
+
#: bp-themes/bp-default/activity/index.php:107
|
4447 |
#: bp-themes/bp-default/groups/single/activity.php:15
|
4448 |
#: bp-themes/bp-default/members/single/activity.php:44
|
4449 |
msgid "Forum Replies"
|
4450 |
msgstr ""
|
4451 |
|
4452 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:93
|
4453 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:50
|
4454 |
+
#: bp-themes/bp-default/activity/index.php:113
|
4455 |
#: bp-themes/bp-default/members/single/activity.php:50
|
4456 |
msgid "New Groups"
|
4457 |
msgstr ""
|
4458 |
|
4459 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:94
|
4460 |
#: bp-templates/bp-legacy/buddypress/groups/single/activity.php:18
|
4461 |
#: bp-templates/bp-legacy/buddypress/members/single/activity.php:51
|
4462 |
+
#: bp-themes/bp-default/activity/index.php:114
|
4463 |
#: bp-themes/bp-default/groups/single/activity.php:18
|
4464 |
#: bp-themes/bp-default/members/single/activity.php:51
|
4465 |
msgid "Group Memberships"
|
4466 |
msgstr ""
|
4467 |
|
4468 |
+
#: bp-templates/bp-legacy/buddypress/activity/index.php:104
|
4469 |
+
#: bp-themes/bp-default/activity/index.php:124
|
4470 |
msgid "New Members"
|
4471 |
msgstr ""
|
4472 |
|
4514 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:42
|
4515 |
#: bp-templates/bp-legacy/buddypress/groups/index.php:36
|
4516 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum.php:36
|
4517 |
+
#: bp-templates/bp-legacy/buddypress/members/index.php:33
|
4518 |
#: bp-templates/bp-legacy/buddypress/members/single/blogs.php:19
|
4519 |
#: bp-templates/bp-legacy/buddypress/members/single/forums.php:18
|
4520 |
#: bp-templates/bp-legacy/buddypress/members/single/friends.php:20
|
4523 |
#: bp-themes/bp-default/forums/index.php:60
|
4524 |
#: bp-themes/bp-default/groups/index.php:55
|
4525 |
#: bp-themes/bp-default/groups/single/forum.php:36
|
4526 |
+
#: bp-themes/bp-default/members/index.php:53
|
4527 |
#: bp-themes/bp-default/members/single/blogs.php:19
|
4528 |
#: bp-themes/bp-default/members/single/forums.php:18
|
4529 |
#: bp-themes/bp-default/members/single/friends.php:20
|
4535 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:44
|
4536 |
#: bp-templates/bp-legacy/buddypress/groups/index.php:39
|
4537 |
#: bp-templates/bp-legacy/buddypress/groups/single/forum.php:38
|
4538 |
+
#: bp-templates/bp-legacy/buddypress/members/index.php:35
|
4539 |
#: bp-templates/bp-legacy/buddypress/members/single/blogs.php:21
|
4540 |
#: bp-templates/bp-legacy/buddypress/members/single/forums.php:20
|
4541 |
#: bp-templates/bp-legacy/buddypress/members/single/friends.php:22
|
4544 |
#: bp-themes/bp-default/forums/index.php:62
|
4545 |
#: bp-themes/bp-default/groups/index.php:57
|
4546 |
#: bp-themes/bp-default/groups/single/forum.php:38
|
4547 |
+
#: bp-themes/bp-default/members/index.php:55
|
4548 |
#: bp-themes/bp-default/members/single/blogs.php:21
|
4549 |
#: bp-themes/bp-default/members/single/forums.php:20
|
4550 |
#: bp-themes/bp-default/members/single/friends.php:22
|
4554 |
|
4555 |
#: bp-templates/bp-legacy/buddypress/blogs/index.php:40
|
4556 |
#: bp-templates/bp-legacy/buddypress/groups/index.php:42
|
4557 |
+
#: bp-templates/bp-legacy/buddypress/members/index.php:39
|
4558 |
#: bp-templates/bp-legacy/buddypress/members/single/blogs.php:23
|
4559 |
#: bp-templates/bp-legacy/buddypress/members/single/friends.php:24
|
4560 |
#: bp-templates/bp-legacy/buddypress/members/single/groups.php:25
|
4561 |
#: bp-themes/bp-default/blogs/index.php:57
|
4562 |
#: bp-themes/bp-default/groups/index.php:60
|
4563 |
+
#: bp-themes/bp-default/members/index.php:60
|
4564 |
#: bp-themes/bp-default/members/single/blogs.php:23
|
4565 |
#: bp-themes/bp-default/members/single/friends.php:24
|
4566 |
#: bp-themes/bp-default/members/single/groups.php:25
|
4663 |
|
4664 |
#: bp-templates/bp-legacy/buddypress/forums/index.php:98
|
4665 |
#: bp-themes/bp-default/forums/index.php:116
|
4666 |
+
#: bp-xprofile/bp-xprofile-template.php:459
|
4667 |
msgid "----"
|
4668 |
msgstr ""
|
4669 |
|
4864 |
|
4865 |
#: bp-templates/bp-legacy/buddypress/groups/create.php:222
|
4866 |
#: bp-templates/bp-legacy/buddypress/groups/single/send-invites.php:42
|
4867 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:853
|
4868 |
+
#: bp-themes/bp-default/_inc/ajax.php:570
|
4869 |
#: bp-themes/bp-default/groups/create.php:229
|
4870 |
#: bp-themes/bp-default/groups/single/send-invites.php:42
|
4871 |
msgid "Remove Invite"
|
4922 |
msgid "Newly Created"
|
4923 |
msgstr ""
|
4924 |
|
4925 |
+
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:25
|
4926 |
+
#: bp-themes/bp-default/groups/single/admin.php:25
|
4927 |
+
msgid "Notify group members of changes via email"
|
4928 |
msgstr ""
|
4929 |
|
4930 |
#: bp-templates/bp-legacy/buddypress/groups/single/admin.php:137
|
5125 |
|
5126 |
#: bp-templates/bp-legacy/buddypress/members/activate.php:16
|
5127 |
#: bp-themes/bp-default/registration/activate.php:25
|
5128 |
+
msgid "Your account was activated successfully! You can now log in with the username and password you provided when you signed up."
|
5129 |
msgstr ""
|
5130 |
|
5131 |
#: bp-templates/bp-legacy/buddypress/members/activate.php:21
|
5138 |
msgid "Activation Key:"
|
5139 |
msgstr ""
|
5140 |
|
5141 |
+
#: bp-templates/bp-legacy/buddypress/members/index.php:36
|
5142 |
#: bp-templates/bp-legacy/buddypress/members/single/friends.php:23
|
5143 |
+
#: bp-themes/bp-default/members/index.php:56
|
5144 |
#: bp-themes/bp-default/members/single/friends.php:23
|
5145 |
msgid "Newest Registered"
|
5146 |
msgstr ""
|
5449 |
msgid "%s's Profile"
|
5450 |
msgstr ""
|
5451 |
|
5452 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php:15
|
5453 |
#: bp-themes/bp-default/members/single/settings/capabilities.php:57
|
5454 |
msgid "This user is a spammer."
|
5455 |
msgstr ""
|
5456 |
|
5457 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php:13
|
5458 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:56
|
5459 |
msgid "Deleting your account will delete all of the content you have created. It will be completely irrecoverable."
|
5460 |
msgstr ""
|
5461 |
|
5462 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php:17
|
5463 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:60
|
5464 |
msgid "Deleting this account will delete all of the content it has created. It will be completely irrecoverable."
|
5465 |
msgstr ""
|
5466 |
|
5467 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php:29
|
5468 |
#: bp-themes/bp-default/members/single/settings/delete-account.php:72
|
5469 |
msgid "I understand the consequences."
|
5470 |
msgstr ""
|
5471 |
|
5472 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:15
|
5473 |
#: bp-themes/bp-default/members/single/settings/general.php:57
|
5474 |
msgid "Current Password <span>(required to update email or change current password)</span>"
|
5475 |
msgstr ""
|
5476 |
|
5477 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:16
|
5478 |
#: bp-themes/bp-default/members/single/settings/general.php:58
|
5479 |
msgid "Password Lost and Found"
|
5480 |
msgstr ""
|
5481 |
|
5482 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:16
|
5483 |
#: bp-themes/bp-default/members/single/settings/general.php:58
|
5484 |
msgid "Lost your password?"
|
5485 |
msgstr ""
|
5486 |
|
5487 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:20
|
5488 |
#: bp-themes/bp-default/members/single/settings/general.php:62
|
5489 |
msgid "Account Email"
|
5490 |
msgstr ""
|
5491 |
|
5492 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:23
|
5493 |
#: bp-themes/bp-default/members/single/settings/general.php:65
|
5494 |
msgid "Change Password <span>(leave blank for no change)</span>"
|
5495 |
msgstr ""
|
5496 |
|
5497 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:24
|
5498 |
#: bp-themes/bp-default/members/single/settings/general.php:66
|
5499 |
msgid "New Password"
|
5500 |
msgstr ""
|
5501 |
|
5502 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/general.php:25
|
5503 |
#: bp-themes/bp-default/members/single/settings/general.php:67
|
5504 |
msgid "Repeat New Password"
|
5505 |
msgstr ""
|
5506 |
|
5507 |
+
#: bp-templates/bp-legacy/buddypress/members/single/settings/notifications.php:12
|
5508 |
#: bp-themes/bp-default/members/single/settings/notifications.php:54
|
5509 |
msgid "Send a notification by email when:"
|
5510 |
msgstr ""
|
5513 |
msgid "BuddyPress Legacy"
|
5514 |
msgstr ""
|
5515 |
|
5516 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:251
|
5517 |
#: bp-themes/bp-default/functions.php:158
|
5518 |
msgid "My Favorites"
|
5519 |
msgstr ""
|
5520 |
|
5521 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:252
|
5522 |
#: bp-themes/bp-default/functions.php:159
|
5523 |
msgid "Accepted"
|
5524 |
msgstr ""
|
5525 |
|
5526 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:253
|
5527 |
#: bp-themes/bp-default/functions.php:160
|
5528 |
msgid "Rejected"
|
5529 |
msgstr ""
|
5530 |
|
5531 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:254
|
5532 |
#: bp-themes/bp-default/functions.php:161
|
5533 |
msgid "Show all comments for this thread"
|
5534 |
msgstr ""
|
5535 |
|
5536 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:255
|
5537 |
#: bp-themes/bp-default/functions.php:162
|
|
|
|
|
|
|
|
|
|
|
5538 |
msgid "Show all"
|
5539 |
msgstr ""
|
5540 |
|
5541 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:256
|
5542 |
+
#: bp-themes/bp-default/functions.php:163
|
5543 |
msgid "comments"
|
5544 |
msgstr ""
|
5545 |
|
5546 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:569
|
5547 |
+
#: bp-themes/bp-default/_inc/ajax.php:278
|
|
|
|
|
|
|
|
|
5548 |
msgid "There was a problem posting your update, please try again."
|
5549 |
msgstr ""
|
5550 |
|
5551 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:663
|
5552 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:699
|
5553 |
+
#: bp-themes/bp-default/_inc/ajax.php:380
|
5554 |
+
#: bp-themes/bp-default/_inc/ajax.php:416
|
5555 |
msgid "There was a problem when deleting. Please try again."
|
5556 |
msgstr ""
|
5557 |
|
5558 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:899
|
5559 |
+
#: bp-themes/bp-default/_inc/ajax.php:615
|
5560 |
msgid " Friendship could not be requested."
|
5561 |
msgstr ""
|
5562 |
|
5563 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:911
|
5564 |
+
#: bp-themes/bp-default/_inc/ajax.php:627
|
5565 |
msgid "Friendship request could not be cancelled."
|
5566 |
msgstr ""
|
5567 |
|
5568 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:916
|
5569 |
+
#: bp-themes/bp-default/_inc/ajax.php:632
|
5570 |
msgid "Request Pending"
|
5571 |
msgstr ""
|
5572 |
|
5573 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:936
|
5574 |
+
#: bp-themes/bp-default/_inc/ajax.php:652
|
5575 |
msgid "There was a problem accepting that request. Please try again."
|
5576 |
msgstr ""
|
5577 |
|
5578 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:955
|
5579 |
+
#: bp-themes/bp-default/_inc/ajax.php:671
|
5580 |
msgid "There was a problem rejecting that request. Please try again."
|
5581 |
msgstr ""
|
5582 |
|
5583 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:985
|
5584 |
+
#: bp-themes/bp-default/_inc/ajax.php:701
|
5585 |
msgid "Error joining group"
|
5586 |
msgstr ""
|
5587 |
|
5588 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:994
|
5589 |
+
#: bp-themes/bp-default/_inc/ajax.php:710
|
5590 |
msgid "Error requesting membership"
|
5591 |
msgstr ""
|
5592 |
|
5593 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:996
|
5594 |
+
#: bp-themes/bp-default/_inc/ajax.php:712
|
5595 |
msgid "Membership Requested"
|
5596 |
msgstr ""
|
5597 |
|
5598 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1004
|
5599 |
+
#: bp-themes/bp-default/_inc/ajax.php:720
|
5600 |
msgid "Error leaving group"
|
5601 |
msgstr ""
|
5602 |
|
5603 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1027
|
5604 |
+
#: bp-themes/bp-default/_inc/ajax.php:743
|
5605 |
msgid "There was a problem closing the notice."
|
5606 |
msgstr ""
|
5607 |
|
5608 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1090
|
5609 |
+
#: bp-themes/bp-default/_inc/ajax.php:794
|
5610 |
msgid "There was a problem sending that reply. Please try again."
|
5611 |
msgstr ""
|
5612 |
|
5613 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1108
|
5614 |
+
#: bp-themes/bp-default/_inc/ajax.php:812
|
5615 |
msgid "There was a problem marking messages as unread."
|
5616 |
msgstr ""
|
5617 |
|
5618 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1133
|
5619 |
+
#: bp-themes/bp-default/_inc/ajax.php:837
|
5620 |
msgid "There was a problem marking messages as read."
|
5621 |
msgstr ""
|
5622 |
|
5623 |
+
#: bp-templates/bp-legacy/buddypress-functions.php:1158
|
5624 |
+
#: bp-themes/bp-default/_inc/ajax.php:862
|
5625 |
msgid "There was a problem deleting messages."
|
5626 |
msgstr ""
|
5627 |
|
5766 |
msgid "Primary Navigation"
|
5767 |
msgstr ""
|
5768 |
|
5769 |
+
#: bp-themes/bp-default/functions.php:389
|
5770 |
msgid "The sidebar widget area"
|
5771 |
msgstr ""
|
5772 |
|
5773 |
+
#: bp-themes/bp-default/functions.php:398
|
5774 |
msgid "First Footer Widget Area"
|
5775 |
msgstr ""
|
5776 |
|
5777 |
+
#: bp-themes/bp-default/functions.php:400
|
5778 |
msgid "The first footer widget area"
|
5779 |
msgstr ""
|
5780 |
|
5781 |
+
#: bp-themes/bp-default/functions.php:409
|
5782 |
msgid "Second Footer Widget Area"
|
5783 |
msgstr ""
|
5784 |
|
5785 |
+
#: bp-themes/bp-default/functions.php:411
|
5786 |
msgid "The second footer widget area"
|
5787 |
msgstr ""
|
5788 |
|
5789 |
+
#: bp-themes/bp-default/functions.php:420
|
5790 |
msgid "Third Footer Widget Area"
|
5791 |
msgstr ""
|
5792 |
|
5793 |
+
#: bp-themes/bp-default/functions.php:422
|
5794 |
msgid "The third footer widget area"
|
5795 |
msgstr ""
|
5796 |
|
5797 |
+
#: bp-themes/bp-default/functions.php:431
|
5798 |
msgid "Fourth Footer Widget Area"
|
5799 |
msgstr ""
|
5800 |
|
5801 |
+
#: bp-themes/bp-default/functions.php:433
|
5802 |
msgid "The fourth footer widget area"
|
5803 |
msgstr ""
|
5804 |
|
5805 |
#. translators: 1: comment author url, 2: comment author name, 3: comment
|
5806 |
#. permalink, 4: comment date/timestamp
|
5807 |
|
5808 |
+
#: bp-themes/bp-default/functions.php:488
|
5809 |
msgid "<a href=\"%1$s\" rel=\"nofollow\">%2$s</a> said on <a href=\"%3$s\"><span class=\"time-since\">%4$s</span></a>"
|
5810 |
msgstr ""
|
5811 |
|
5812 |
+
#: bp-themes/bp-default/functions.php:495
|
5813 |
msgid "Your comment is awaiting moderation."
|
5814 |
msgstr ""
|
5815 |
|
5816 |
+
#: bp-themes/bp-default/functions.php:507
|
5817 |
msgid "Edit comment"
|
5818 |
msgstr ""
|
5819 |
|
5820 |
+
#: bp-themes/bp-default/functions.php:577
|
5821 |
msgid "Theme activated! This theme contains <a href=\"%s\">custom header image</a> support and <a href=\"%s\">sidebar widgets</a>."
|
5822 |
msgstr ""
|
5823 |
|
5824 |
+
#: bp-themes/bp-default/functions.php:643
|
5825 |
msgid "Email"
|
5826 |
msgstr ""
|
5827 |
|
5828 |
+
#: bp-themes/bp-default/functions.php:653
|
5829 |
msgid "You must be <a href=\"%1$s\">logged in</a> to post a comment."
|
5830 |
msgstr ""
|
5831 |
|
5832 |
+
#: bp-themes/bp-default/functions.php:654
|
5833 |
msgid "Leave a reply"
|
5834 |
msgstr ""
|
5835 |
|
5836 |
+
#: bp-themes/bp-default/functions.php:741
|
5837 |
msgid "← Previous Entries"
|
5838 |
msgstr ""
|
5839 |
|
5840 |
+
#: bp-themes/bp-default/functions.php:742
|
5841 |
msgid "Next Entries →"
|
5842 |
msgstr ""
|
5843 |
|
6042 |
msgid "Group Description"
|
6043 |
msgstr ""
|
6044 |
|
6045 |
+
#: bp-xprofile/bp-xprofile-classes.php:753
|
6046 |
msgid "Please enter options for this Field:"
|
6047 |
msgstr ""
|
6048 |
|
6049 |
+
#: bp-xprofile/bp-xprofile-classes.php:755
|
6050 |
msgid "Sort Order:"
|
6051 |
msgstr ""
|
6052 |
|
6053 |
+
#: bp-xprofile/bp-xprofile-classes.php:757
|
6054 |
msgid "Custom"
|
6055 |
msgstr ""
|
6056 |
|
6057 |
+
#: bp-xprofile/bp-xprofile-classes.php:758
|
6058 |
msgid "Ascending"
|
6059 |
msgstr ""
|
6060 |
|
6061 |
+
#: bp-xprofile/bp-xprofile-classes.php:759
|
6062 |
msgid "Descending"
|
6063 |
msgstr ""
|
6064 |
|
6065 |
+
#: bp-xprofile/bp-xprofile-classes.php:787
|
6066 |
+
#: bp-xprofile/bp-xprofile-classes.php:804
|
6067 |
msgid "Default Value"
|
6068 |
msgstr ""
|
6069 |
|
6070 |
+
#: bp-xprofile/bp-xprofile-classes.php:811
|
6071 |
msgid "Add Another Option"
|
6072 |
msgstr ""
|
6073 |
|
6074 |
+
#: bp-xprofile/bp-xprofile-classes.php:819
|
6075 |
msgid "Add Field"
|
6076 |
msgstr ""
|
6077 |
|
6078 |
+
#: bp-xprofile/bp-xprofile-classes.php:831
|
6079 |
msgid "Edit Field"
|
6080 |
msgstr ""
|
6081 |
|
6082 |
+
#: bp-xprofile/bp-xprofile-classes.php:838
|
6083 |
msgid "Fields marked * are required"
|
6084 |
msgstr ""
|
6085 |
|
6086 |
+
#: bp-xprofile/bp-xprofile-classes.php:851
|
6087 |
msgid "Field Title"
|
6088 |
msgstr ""
|
6089 |
|
6090 |
+
#: bp-xprofile/bp-xprofile-classes.php:858
|
6091 |
msgid "Field Description"
|
6092 |
msgstr ""
|
6093 |
|
6094 |
+
#: bp-xprofile/bp-xprofile-classes.php:867
|
6095 |
msgid "Is This Field Required?"
|
6096 |
msgstr ""
|
6097 |
|
6098 |
+
#: bp-xprofile/bp-xprofile-classes.php:869
|
6099 |
msgid "Not Required"
|
6100 |
msgstr ""
|
6101 |
|
6102 |
+
#: bp-xprofile/bp-xprofile-classes.php:870
|
6103 |
msgid "Required"
|
6104 |
msgstr ""
|
6105 |
|
6106 |
+
#: bp-xprofile/bp-xprofile-classes.php:875
|
6107 |
msgid "Field Type"
|
6108 |
msgstr ""
|
6109 |
|
6110 |
+
#: bp-xprofile/bp-xprofile-classes.php:877
|
6111 |
msgid "Text Box"
|
6112 |
msgstr ""
|
6113 |
|
6114 |
+
#: bp-xprofile/bp-xprofile-classes.php:878
|
6115 |
msgid "Multi-line Text Box"
|
6116 |
msgstr ""
|
6117 |
|
6118 |
+
#: bp-xprofile/bp-xprofile-classes.php:879
|
6119 |
msgid "Date Selector"
|
6120 |
msgstr ""
|
6121 |
|
6122 |
+
#: bp-xprofile/bp-xprofile-classes.php:880
|
6123 |
msgid "Radio Buttons"
|
6124 |
msgstr ""
|
6125 |
|
6126 |
+
#: bp-xprofile/bp-xprofile-classes.php:881
|
6127 |
msgid "Drop Down Select Box"
|
6128 |
msgstr ""
|
6129 |
|
6130 |
+
#: bp-xprofile/bp-xprofile-classes.php:882
|
6131 |
msgid "Multi Select Box"
|
6132 |
msgstr ""
|
6133 |
|
6134 |
+
#: bp-xprofile/bp-xprofile-classes.php:883
|
6135 |
msgid "Checkboxes"
|
6136 |
msgstr ""
|
6137 |
|
6138 |
+
#: bp-xprofile/bp-xprofile-classes.php:903
|
6139 |
msgid "Default Visibility"
|
6140 |
msgstr ""
|
6141 |
|
6142 |
+
#: bp-xprofile/bp-xprofile-classes.php:916
|
6143 |
msgid "Per-Member Visibility"
|
6144 |
msgstr ""
|
6145 |
|
6146 |
+
#: bp-xprofile/bp-xprofile-classes.php:918
|
6147 |
msgid "Let members change this field's visibility"
|
6148 |
msgstr ""
|
6149 |
|
6150 |
+
#: bp-xprofile/bp-xprofile-classes.php:919
|
6151 |
msgid "Enforce the default visibility for all members"
|
6152 |
msgstr ""
|
6153 |
|
6154 |
+
#: bp-xprofile/bp-xprofile-classes.php:929
|
6155 |
msgid "or"
|
6156 |
msgstr ""
|
6157 |
|
6158 |
+
#: bp-xprofile/bp-xprofile-classes.php:947
|
6159 |
msgid "Please make sure you fill out all required fields."
|
6160 |
msgstr ""
|
6161 |
|
6162 |
+
#: bp-xprofile/bp-xprofile-classes.php:950
|
6163 |
msgid "Radio button field types require at least one option. Please add options below."
|
6164 |
msgstr ""
|
6165 |
|
6166 |
+
#: bp-xprofile/bp-xprofile-classes.php:953
|
6167 |
+
#: bp-xprofile/bp-xprofile-classes.php:956
|
6168 |
msgid "Select box field types require at least one option. Please add options below."
|
6169 |
msgstr ""
|
6170 |
|
6171 |
+
#: bp-xprofile/bp-xprofile-classes.php:959
|
6172 |
msgid "Checkbox field types require at least one option. Please add options below."
|
6173 |
msgstr ""
|
6174 |
|
6204 |
msgid "Your new avatar was uploaded successfully."
|
6205 |
msgstr ""
|
6206 |
|
6207 |
+
#: bp-xprofile/bp-xprofile-template.php:664
|
6208 |
msgid "January"
|
6209 |
msgstr ""
|
6210 |
|
6211 |
+
#: bp-xprofile/bp-xprofile-template.php:665
|
6212 |
msgid "February"
|
6213 |
msgstr ""
|
6214 |
|
6215 |
+
#: bp-xprofile/bp-xprofile-template.php:666
|
6216 |
msgid "March"
|
6217 |
msgstr ""
|
6218 |
|
6219 |
+
#: bp-xprofile/bp-xprofile-template.php:667
|
6220 |
msgid "April"
|
6221 |
msgstr ""
|
6222 |
|
6223 |
+
#: bp-xprofile/bp-xprofile-template.php:668
|
6224 |
msgid "May"
|
6225 |
msgstr ""
|
6226 |
|
6227 |
+
#: bp-xprofile/bp-xprofile-template.php:669
|
6228 |
msgid "June"
|
6229 |
msgstr ""
|
6230 |
|
6231 |
+
#: bp-xprofile/bp-xprofile-template.php:670
|
6232 |
msgid "July"
|
6233 |
msgstr ""
|
6234 |
|
6235 |
+
#: bp-xprofile/bp-xprofile-template.php:671
|
6236 |
msgid "August"
|
6237 |
msgstr ""
|
6238 |
|
6239 |
+
#: bp-xprofile/bp-xprofile-template.php:672
|
6240 |
msgid "September"
|
6241 |
msgstr ""
|
6242 |
|
6243 |
+
#: bp-xprofile/bp-xprofile-template.php:673
|
6244 |
msgid "October"
|
6245 |
msgstr ""
|
6246 |
|
6247 |
+
#: bp-xprofile/bp-xprofile-template.php:674
|
6248 |
msgid "November"
|
6249 |
msgstr ""
|
6250 |
|
6251 |
+
#: bp-xprofile/bp-xprofile-template.php:675
|
6252 |
msgid "December"
|
6253 |
msgstr ""
|
6254 |
|
6255 |
+
#: bp-xprofile/bp-xprofile-template.php:843
|
6256 |
msgid "Avatar uploads are currently disabled. Why not use a <a href=\"http://gravatar.com\" target=\"_blank\">gravatar</a> instead?"
|
6257 |
msgstr ""
|
6258 |
|
6259 |
+
#: bp-xprofile/bp-xprofile-template.php:851
|
6260 |
msgid "Profile not recently updated"
|
6261 |
msgstr ""
|
6262 |
|
6263 |
+
#: bp-xprofile/bp-xprofile-template.php:861
|
6264 |
msgid "Profile updated %s"
|
6265 |
msgstr ""
|
bp-loader.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* Description: Social networking in a box. Build a social network for your company, school, sports team or niche community all based on the power and flexibility of WordPress.
|
17 |
* Author: The BuddyPress Community
|
18 |
* Author URI: http://buddypress.org/community/members/
|
19 |
-
* Version: 1.
|
20 |
* Text Domain: buddypress
|
21 |
* Domain Path: /bp-languages/
|
22 |
* License: GPLv2 or later (license.txt)
|
@@ -129,7 +129,7 @@ class BuddyPress {
|
|
129 |
* @uses BuddyPress::setup_actions() Setup the hooks and actions
|
130 |
* @see buddypress()
|
131 |
*
|
132 |
-
* @return
|
133 |
*/
|
134 |
public static function instance() {
|
135 |
if ( ! isset( self::$instance ) ) {
|
@@ -223,12 +223,30 @@ class BuddyPress {
|
|
223 |
if ( file_exists( WP_PLUGIN_DIR . '/bp-custom.php' ) )
|
224 |
require( WP_PLUGIN_DIR . '/bp-custom.php' );
|
225 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
// Path and URL
|
227 |
-
if ( !
|
228 |
define( 'BP_PLUGIN_DIR', trailingslashit( WP_PLUGIN_DIR . '/buddypress' ) );
|
229 |
-
}
|
230 |
|
231 |
-
if ( !
|
232 |
$plugin_url = plugin_dir_url( __FILE__ );
|
233 |
|
234 |
// If we're using https, update the protocol. Workaround for WP13941, WP15928, WP19037.
|
@@ -238,40 +256,6 @@ class BuddyPress {
|
|
238 |
define( 'BP_PLUGIN_URL', $plugin_url );
|
239 |
}
|
240 |
|
241 |
-
// Define on which blog ID BuddyPress should run
|
242 |
-
if ( ! defined( 'BP_ROOT_BLOG' ) ) {
|
243 |
-
|
244 |
-
// Default to use current blog ID
|
245 |
-
// Fulfills non-network installs and BP_ENABLE_MULTIBLOG installs
|
246 |
-
$root_blog_id = get_current_blog_id();
|
247 |
-
|
248 |
-
// Multisite check
|
249 |
-
if ( is_multisite() ) {
|
250 |
-
|
251 |
-
// Multiblog isn't enabled
|
252 |
-
if ( ! defined( 'BP_ENABLE_MULTIBLOG' ) || ( defined( 'BP_ENABLE_MULTIBLOG' ) && (int) constant( 'BP_ENABLE_MULTIBLOG' ) === 0 ) ) {
|
253 |
-
// Check to see if BP is network-activated
|
254 |
-
// We're not using is_plugin_active_for_network() b/c you need to include the
|
255 |
-
// /wp-admin/includes/plugin.php file in order to use that function.
|
256 |
-
|
257 |
-
// get network-activated plugins
|
258 |
-
$plugins = get_site_option( 'active_sitewide_plugins');
|
259 |
-
|
260 |
-
// basename
|
261 |
-
$basename = plugin_basename( constant( 'BP_PLUGIN_DIR' ) . 'bp-loader.php' );
|
262 |
-
|
263 |
-
// plugin is network-activated; use main site ID instead
|
264 |
-
if ( isset( $plugins[ $basename ] ) ) {
|
265 |
-
$current_site = get_current_site();
|
266 |
-
$root_blog_id = $current_site->blog_id;
|
267 |
-
}
|
268 |
-
}
|
269 |
-
|
270 |
-
}
|
271 |
-
|
272 |
-
define( 'BP_ROOT_BLOG', $root_blog_id );
|
273 |
-
}
|
274 |
-
|
275 |
// The search slug has to be defined nice and early because of the way
|
276 |
// search requests are loaded
|
277 |
//
|
@@ -294,7 +278,7 @@ class BuddyPress {
|
|
294 |
|
295 |
/** Versions **********************************************************/
|
296 |
|
297 |
-
$this->version = '1.
|
298 |
$this->db_version = 6080;
|
299 |
|
300 |
/** Loading ***********************************************************/
|
@@ -440,7 +424,6 @@ class BuddyPress {
|
|
440 |
|
441 |
// Skip or load deprecated content
|
442 |
if ( false !== $this->load_deprecated ) {
|
443 |
-
require( $this->plugin_dir . 'bp-core/deprecated/1.2.php' );
|
444 |
require( $this->plugin_dir . 'bp-core/deprecated/1.5.php' );
|
445 |
require( $this->plugin_dir . 'bp-core/deprecated/1.6.php' );
|
446 |
require( $this->plugin_dir . 'bp-core/deprecated/1.7.php' );
|
@@ -581,10 +564,10 @@ class BuddyPress {
|
|
581 |
*
|
582 |
* Example: <?php $bp = buddypress(); ?>
|
583 |
*
|
584 |
-
* @return
|
585 |
*/
|
586 |
function buddypress() {
|
587 |
-
return
|
588 |
}
|
589 |
|
590 |
/**
|
16 |
* Description: Social networking in a box. Build a social network for your company, school, sports team or niche community all based on the power and flexibility of WordPress.
|
17 |
* Author: The BuddyPress Community
|
18 |
* Author URI: http://buddypress.org/community/members/
|
19 |
+
* Version: 1.7.3
|
20 |
* Text Domain: buddypress
|
21 |
* Domain Path: /bp-languages/
|
22 |
* License: GPLv2 or later (license.txt)
|
129 |
* @uses BuddyPress::setup_actions() Setup the hooks and actions
|
130 |
* @see buddypress()
|
131 |
*
|
132 |
+
* @return The one true BuddyPress
|
133 |
*/
|
134 |
public static function instance() {
|
135 |
if ( ! isset( self::$instance ) ) {
|
223 |
if ( file_exists( WP_PLUGIN_DIR . '/bp-custom.php' ) )
|
224 |
require( WP_PLUGIN_DIR . '/bp-custom.php' );
|
225 |
|
226 |
+
// Define on which blog ID BuddyPress should run
|
227 |
+
if ( !defined( 'BP_ROOT_BLOG' ) ) {
|
228 |
+
|
229 |
+
// Default to 1
|
230 |
+
$root_blog_id = 1;
|
231 |
+
|
232 |
+
// Root blog is the main site on this network
|
233 |
+
if ( is_multisite() && !defined( 'BP_ENABLE_MULTIBLOG' ) ) {
|
234 |
+
$current_site = get_current_site();
|
235 |
+
$root_blog_id = $current_site->blog_id;
|
236 |
+
|
237 |
+
// Root blog is every site on this network
|
238 |
+
} elseif ( is_multisite() && defined( 'BP_ENABLE_MULTIBLOG' ) ) {
|
239 |
+
$root_blog_id = get_current_blog_id();
|
240 |
+
}
|
241 |
+
|
242 |
+
define( 'BP_ROOT_BLOG', $root_blog_id );
|
243 |
+
}
|
244 |
+
|
245 |
// Path and URL
|
246 |
+
if ( !defined( 'BP_PLUGIN_DIR' ) )
|
247 |
define( 'BP_PLUGIN_DIR', trailingslashit( WP_PLUGIN_DIR . '/buddypress' ) );
|
|
|
248 |
|
249 |
+
if ( !defined( 'BP_PLUGIN_URL' ) ) {
|
250 |
$plugin_url = plugin_dir_url( __FILE__ );
|
251 |
|
252 |
// If we're using https, update the protocol. Workaround for WP13941, WP15928, WP19037.
|
256 |
define( 'BP_PLUGIN_URL', $plugin_url );
|
257 |
}
|
258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
// The search slug has to be defined nice and early because of the way
|
260 |
// search requests are loaded
|
261 |
//
|
278 |
|
279 |
/** Versions **********************************************************/
|
280 |
|
281 |
+
$this->version = '1.7.3';
|
282 |
$this->db_version = 6080;
|
283 |
|
284 |
/** Loading ***********************************************************/
|
424 |
|
425 |
// Skip or load deprecated content
|
426 |
if ( false !== $this->load_deprecated ) {
|
|
|
427 |
require( $this->plugin_dir . 'bp-core/deprecated/1.5.php' );
|
428 |
require( $this->plugin_dir . 'bp-core/deprecated/1.6.php' );
|
429 |
require( $this->plugin_dir . 'bp-core/deprecated/1.7.php' );
|
564 |
*
|
565 |
* Example: <?php $bp = buddypress(); ?>
|
566 |
*
|
567 |
+
* @return The one true BuddyPress Instance
|
568 |
*/
|
569 |
function buddypress() {
|
570 |
+
return buddypress::instance();
|
571 |
}
|
572 |
|
573 |
/**
|
bp-members/bp-members-actions.php
CHANGED
@@ -98,8 +98,9 @@ function bp_core_action_delete_user() {
|
|
98 |
* Returns the user_id for a user based on their username.
|
99 |
*
|
100 |
* @package BuddyPress Core
|
101 |
-
* @param
|
102 |
-
* @
|
|
|
103 |
*/
|
104 |
function bp_core_get_random_member() {
|
105 |
if ( ! isset( $_GET['random-member'] ) )
|
98 |
* Returns the user_id for a user based on their username.
|
99 |
*
|
100 |
* @package BuddyPress Core
|
101 |
+
* @param $username str Username to check.
|
102 |
+
* @return false on no match
|
103 |
+
* @return int the user ID of the matched user.
|
104 |
*/
|
105 |
function bp_core_get_random_member() {
|
106 |
if ( ! isset( $_GET['random-member'] ) )
|
bp-members/bp-members-adminbar.php
CHANGED
@@ -108,27 +108,21 @@ function bp_members_admin_bar_user_admin_menu() {
|
|
108 |
'href' => bp_get_members_component_link( 'profile', 'change-avatar' )
|
109 |
) );
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
$
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
'href' => bp_displayed_user_domain() . 'settings/capabilities/'
|
120 |
-
) );
|
121 |
-
|
122 |
-
// User Admin > Delete Account
|
123 |
-
$wp_admin_bar->add_menu( array(
|
124 |
-
'parent' => $bp->user_admin_menu_id,
|
125 |
-
'id' => $bp->user_admin_menu_id . '-delete-user',
|
126 |
-
'title' => __( 'Delete Account', 'buddypress' ),
|
127 |
-
'href' => bp_displayed_user_domain() . 'settings/delete-account/'
|
128 |
-
) );
|
129 |
-
|
130 |
-
}
|
131 |
-
|
132 |
}
|
133 |
add_action( 'admin_bar_menu', 'bp_members_admin_bar_user_admin_menu', 99 );
|
134 |
|
108 |
'href' => bp_get_members_component_link( 'profile', 'change-avatar' )
|
109 |
) );
|
110 |
|
111 |
+
// User Admin > Spam/unspam
|
112 |
+
$wp_admin_bar->add_menu( array(
|
113 |
+
'parent' => $bp->user_admin_menu_id,
|
114 |
+
'id' => $bp->user_admin_menu_id . '-user-capabilities',
|
115 |
+
'title' => __( 'User Capabilities', 'buddypress' ),
|
116 |
+
'href' => bp_displayed_user_domain() . 'settings/capabilities/'
|
117 |
+
) );
|
118 |
|
119 |
+
// User Admin > Delete Account
|
120 |
+
$wp_admin_bar->add_menu( array(
|
121 |
+
'parent' => $bp->user_admin_menu_id,
|
122 |
+
'id' => $bp->user_admin_menu_id . '-delete-user',
|
123 |
+
'title' => __( 'Delete Account', 'buddypress' ),
|
124 |
+
'href' => bp_displayed_user_domain() . 'settings/delete-account/'
|
125 |
+
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
}
|
127 |
add_action( 'admin_bar_menu', 'bp_members_admin_bar_user_admin_menu', 99 );
|
128 |
|
bp-members/bp-members-functions.php
CHANGED
@@ -120,7 +120,7 @@ function bp_core_get_users( $args = '' ) {
|
|
120 |
*
|
121 |
* @package BuddyPress Core
|
122 |
* @global $current_user WordPress global variable containing current logged in user information
|
123 |
-
* @param
|
124 |
*/
|
125 |
function bp_core_get_user_domain( $user_id, $user_nicename = false, $user_login = false ) {
|
126 |
|
@@ -150,7 +150,7 @@ function bp_core_get_user_domain( $user_id, $user_nicename = false, $user_login
|
|
150 |
* Fetch everything in the wp_users table for a user, without any usermeta.
|
151 |
*
|
152 |
* @package BuddyPress Core
|
153 |
-
* @param
|
154 |
* @uses BP_Core_User::get_core_userdata() Performs the query.
|
155 |
*/
|
156 |
function bp_core_get_core_userdata( $user_id ) {
|
@@ -170,7 +170,7 @@ function bp_core_get_core_userdata( $user_id ) {
|
|
170 |
*
|
171 |
* @package BuddyPress Core
|
172 |
* @uses bp_core_get_userid_from_user_login() Returns the user id for the username passed
|
173 |
-
* @return
|
174 |
*/
|
175 |
function bp_core_get_displayed_userid( $user_login ) {
|
176 |
return apply_filters( 'bp_core_get_displayed_userid', bp_core_get_userid( $user_login ) );
|
@@ -180,9 +180,10 @@ function bp_core_get_displayed_userid( $user_login ) {
|
|
180 |
* Returns the user_id for a user based on their username.
|
181 |
*
|
182 |
* @package BuddyPress Core
|
183 |
-
* @param
|
184 |
* @global $wpdb WordPress DB access object.
|
185 |
-
* @return
|
|
|
186 |
*/
|
187 |
function bp_core_get_userid( $username ) {
|
188 |
global $wpdb;
|
@@ -197,9 +198,10 @@ function bp_core_get_userid( $username ) {
|
|
197 |
* Returns the user_id for a user based on their user_nicename.
|
198 |
*
|
199 |
* @package BuddyPress Core
|
200 |
-
* @param
|
201 |
* @global $wpdb WordPress DB access object.
|
202 |
-
* @return
|
|
|
203 |
*/
|
204 |
function bp_core_get_userid_from_nicename( $user_nicename ) {
|
205 |
global $wpdb;
|
@@ -207,17 +209,18 @@ function bp_core_get_userid_from_nicename( $user_nicename ) {
|
|
207 |
if ( empty( $user_nicename ) )
|
208 |
return false;
|
209 |
|
210 |
-
return apply_filters( 'bp_core_get_userid_from_nicename', $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM {$wpdb->users} WHERE user_nicename = %s", $user_nicename ) )
|
211 |
}
|
212 |
|
213 |
/**
|
214 |
* Returns the username for a user based on their user id.
|
215 |
*
|
216 |
* @package BuddyPress Core
|
217 |
-
* @param
|
218 |
* @global $userdata WordPress user data for the current logged in user.
|
219 |
* @uses get_userdata() WordPress function to fetch the userdata for a user ID
|
220 |
-
* @return
|
|
|
221 |
*/
|
222 |
function bp_core_get_username( $user_id, $user_nicename = false, $user_login = false ) {
|
223 |
global $bp;
|
@@ -287,10 +290,11 @@ function bp_core_get_username( $user_id, $user_nicename = false, $user_login = f
|
|
287 |
* @since BuddyPress (1.5)
|
288 |
*
|
289 |
* @package BuddyPress Core
|
290 |
-
* @param
|
291 |
* @global $userdata WordPress user data for the current logged in user.
|
292 |
* @uses get_userdata() WordPress function to fetch the userdata for a user ID
|
293 |
-
* @return
|
|
|
294 |
*/
|
295 |
function bp_members_get_user_nicename( $user_id ) {
|
296 |
global $bp;
|
@@ -339,9 +343,10 @@ function bp_members_get_user_nicename( $user_id ) {
|
|
339 |
* Returns the email address for the user based on user ID
|
340 |
*
|
341 |
* @package BuddyPress Core
|
342 |
-
* @param
|
343 |
* @uses get_userdata() WordPress function to fetch the userdata for a user ID
|
344 |
-
* @return
|
|
|
345 |
*/
|
346 |
function bp_core_get_user_email( $uid ) {
|
347 |
|
@@ -366,9 +371,10 @@ function bp_core_get_user_email( $uid ) {
|
|
366 |
* Optional parameters will return just the name or just the URL.
|
367 |
*
|
368 |
* @param int $user_id User ID to check.
|
369 |
-
* @param
|
370 |
-
* @param
|
371 |
-
* @return
|
|
|
372 |
* @todo This function needs to be cleaned up or split into separate functions
|
373 |
*/
|
374 |
function bp_core_get_userlink( $user_id, $no_anchor = false, $just_link = false ) {
|
@@ -400,7 +406,7 @@ function bp_core_get_userlink( $user_id, $no_anchor = false, $just_link = false
|
|
400 |
* @uses get_userdata() Fetches the WP userdata for a specific user.
|
401 |
* @uses xprofile_set_field_data() Will update the field data for a user based on field name and user id.
|
402 |
* @uses wp_cache_set() Adds a value to the cache.
|
403 |
-
* @return
|
404 |
*/
|
405 |
function bp_core_get_user_displayname( $user_id_or_username ) {
|
406 |
global $bp;
|
@@ -456,10 +462,10 @@ add_filter( 'bp_core_get_user_displayname', 'esc_html' );
|
|
456 |
* Returns the user link for the user based on user email address
|
457 |
*
|
458 |
* @package BuddyPress Core
|
459 |
-
* @param
|
460 |
* @uses bp_core_get_userlink() BuddyPress function to get a userlink by user ID.
|
461 |
* @uses get_user_by() WordPress function to get userdata via an email address
|
462 |
-
* @return
|
463 |
*/
|
464 |
function bp_core_get_userlink_by_email( $email ) {
|
465 |
$user = get_user_by( 'email', $email );
|
@@ -469,8 +475,8 @@ function bp_core_get_userlink_by_email( $email ) {
|
|
469 |
/**
|
470 |
* Returns the user link for the user based on the supplied identifier
|
471 |
*
|
472 |
-
* @param
|
473 |
-
* @return
|
474 |
*/
|
475 |
function bp_core_get_userlink_by_username( $username ) {
|
476 |
if ( bp_is_username_compatibility_mode() )
|
@@ -648,29 +654,11 @@ function bp_is_user_spammer( $user_id = 0 ) {
|
|
648 |
if ( empty( $user_id ) )
|
649 |
return false;
|
650 |
|
651 |
-
$bp = buddypress();
|
652 |
-
|
653 |
// Assume user is not spam
|
654 |
$is_spammer = false;
|
655 |
|
656 |
-
//
|
657 |
-
$user =
|
658 |
-
|
659 |
-
// Get locally-cached data if available
|
660 |
-
switch ( $user_id ) {
|
661 |
-
case bp_loggedin_user_id() :
|
662 |
-
$user = ! empty( $bp->loggedin_user->userdata ) ? $bp->loggedin_user->userdata : false;
|
663 |
-
break;
|
664 |
-
|
665 |
-
case bp_displayed_user_id() :
|
666 |
-
$user = ! empty( $bp->displayed_user->userdata ) ? $bp->displayed_user->userdata : false;
|
667 |
-
break;
|
668 |
-
}
|
669 |
-
|
670 |
-
// Manually get userdata if still empty
|
671 |
-
if ( empty( $user ) ) {
|
672 |
-
$user = get_userdata( $user_id );
|
673 |
-
}
|
674 |
|
675 |
// No user found
|
676 |
if ( empty( $user ) ) {
|
@@ -703,29 +691,11 @@ function bp_is_user_deleted( $user_id = 0 ) {
|
|
703 |
if ( empty( $user_id ) )
|
704 |
return false;
|
705 |
|
706 |
-
$bp = buddypress();
|
707 |
-
|
708 |
// Assume user is not deleted
|
709 |
$is_deleted = false;
|
710 |
|
711 |
-
//
|
712 |
-
$user =
|
713 |
-
|
714 |
-
// Get locally-cached data if available
|
715 |
-
switch ( $user_id ) {
|
716 |
-
case bp_loggedin_user_id() :
|
717 |
-
$user = ! empty( $bp->loggedin_user->userdata ) ? $bp->loggedin_user->userdata : false;
|
718 |
-
break;
|
719 |
-
|
720 |
-
case bp_displayed_user_id() :
|
721 |
-
$user = ! empty( $bp->displayed_user->userdata ) ? $bp->displayed_user->userdata : false;
|
722 |
-
break;
|
723 |
-
}
|
724 |
-
|
725 |
-
// Manually get userdata if still empty
|
726 |
-
if ( empty( $user ) ) {
|
727 |
-
$user = get_userdata( $user_id );
|
728 |
-
}
|
729 |
|
730 |
// No user found
|
731 |
if ( empty( $user ) ) {
|
@@ -911,8 +881,8 @@ add_action( 'pre_user_login', 'bp_core_strip_username_spaces' );
|
|
911 |
* When a user logs in, check if they have been marked as a spammer. If yes then simply
|
912 |
* redirect them to the home page and stop them from logging in.
|
913 |
*
|
914 |
-
* @param
|
915 |
-
* @return
|
916 |
*
|
917 |
* @since BuddyPress (1.1.2)
|
918 |
*/
|
@@ -935,7 +905,7 @@ add_filter( 'authenticate', 'bp_core_boot_spammer', 30 );
|
|
935 |
* Deletes usermeta for the user when the user is deleted.
|
936 |
*
|
937 |
* @package BuddyPress Core
|
938 |
-
* @param
|
939 |
* @uses bp_delete_user_meta() deletes a row from the wp_usermeta table based on meta_key
|
940 |
*/
|
941 |
function bp_core_remove_data( $user_id ) {
|
@@ -1092,7 +1062,7 @@ function bp_core_validate_email_address( $user_email ) {
|
|
1092 |
* @since BuddyPress (1.7)
|
1093 |
* @see bp_core_validate_email_address()
|
1094 |
*
|
1095 |
-
* @param
|
1096 |
* @param array $validation_results The return value of a validation function
|
1097 |
* like bp_core_validate_email_address()
|
1098 |
*/
|
@@ -1132,11 +1102,8 @@ function bp_core_validate_user_signup( $user_name, $user_email ) {
|
|
1132 |
|
1133 |
$illegal_names = get_site_option( 'illegal_names' );
|
1134 |
|
1135 |
-
if ( in_array( $user_name, (array) $illegal_names ) )
|
1136 |
-
$errors->add( 'user_name', __( '
|
1137 |
-
|
1138 |
-
if ( ! validate_username( $user_name ) )
|
1139 |
-
$errors->add( 'user_name', __( 'Usernames can contain only letters, numbers, ., -, *, and @', 'buddypress' ) );
|
1140 |
|
1141 |
if( strlen( $user_name ) < 4 )
|
1142 |
$errors->add( 'user_name', __( 'Username must be at least 4 characters', 'buddypress' ) );
|
@@ -1407,8 +1374,8 @@ function bp_core_signup_send_validation_email( $user_id, $user_email, $key ) {
|
|
1407 |
* Multisite has their own DB table - 'wp_signups' - dedicated for unactivated users.
|
1408 |
* See {@link wpmu_signup_user()} and {@link wpmu_validate_user_signup()}.
|
1409 |
*
|
1410 |
-
* @param
|
1411 |
-
* @return
|
1412 |
*
|
1413 |
* @since BuddyPress (1.2.2)
|
1414 |
*/
|
@@ -1446,71 +1413,3 @@ function bp_core_wpsignup_redirect() {
|
|
1446 |
bp_core_redirect( bp_get_signup_page() );
|
1447 |
}
|
1448 |
add_action( 'bp_init', 'bp_core_wpsignup_redirect' );
|
1449 |
-
|
1450 |
-
/**
|
1451 |
-
* Stop a logged-in user who is marked as a spammer.
|
1452 |
-
*
|
1453 |
-
* When an admin marks a live user as a spammer, that user can still surf
|
1454 |
-
* around and cause havoc on the site until that person is logged out.
|
1455 |
-
*
|
1456 |
-
* This code checks to see if a logged-in user is marked as a spammer. If so,
|
1457 |
-
* we redirect the user back to wp-login.php with the 'reauth' parameter.
|
1458 |
-
*
|
1459 |
-
* This clears the logged-in spammer's cookies and will ask the spammer to
|
1460 |
-
* reauthenticate.
|
1461 |
-
*
|
1462 |
-
* Note: A spammer cannot log back in - {@see bp_core_boot_spammer()}.
|
1463 |
-
*
|
1464 |
-
* Runs on 'bp_init' at priority 5 so the members component globals are setup
|
1465 |
-
* before we do our spammer checks.
|
1466 |
-
*
|
1467 |
-
* This is important as the $bp->loggedin_user object is setup at priority 4.
|
1468 |
-
*
|
1469 |
-
* @since BuddyPress (v1.8)
|
1470 |
-
*/
|
1471 |
-
function bp_stop_live_spammer() {
|
1472 |
-
// if we're on the login page, stop now to prevent redirect loop
|
1473 |
-
if ( strpos( $GLOBALS['pagenow'], 'wp-login.php' ) !== false ) {
|
1474 |
-
return;
|
1475 |
-
}
|
1476 |
-
|
1477 |
-
// user isn't logged in, so stop!
|
1478 |
-
if ( ! is_user_logged_in() ) {
|
1479 |
-
return;
|
1480 |
-
}
|
1481 |
-
|
1482 |
-
// if spammer, redirect to wp-login.php and reauthorize
|
1483 |
-
if ( bp_is_user_spammer( bp_loggedin_user_id() ) ) {
|
1484 |
-
// setup login args
|
1485 |
-
$args = array(
|
1486 |
-
// custom action used to throw an error message
|
1487 |
-
'action' => 'bp-spam',
|
1488 |
-
|
1489 |
-
// reauthorize user to login
|
1490 |
-
'reauth' => 1
|
1491 |
-
);
|
1492 |
-
|
1493 |
-
// setup login URL
|
1494 |
-
$login_url = apply_filters( 'bp_live_spammer_redirect', add_query_arg( $args, wp_login_url() ) );
|
1495 |
-
|
1496 |
-
// redirect user to login page
|
1497 |
-
wp_redirect( $login_url );
|
1498 |
-
die();
|
1499 |
-
}
|
1500 |
-
}
|
1501 |
-
add_action( 'bp_init', 'bp_stop_live_spammer', 5 );
|
1502 |
-
|
1503 |
-
/**
|
1504 |
-
* Show a custom error message when a logged-in user is marked as a spammer.
|
1505 |
-
*
|
1506 |
-
* @since BuddyPress (v1.8)
|
1507 |
-
*/
|
1508 |
-
function bp_live_spammer_login_error() {
|
1509 |
-
global $error;
|
1510 |
-
|
1511 |
-
$error = __( '<strong>ERROR</strong>: Your account has been marked as a spammer.', 'buddypress' );
|
1512 |
-
|
1513 |
-
// shake shake shake!
|
1514 |
-
add_action( 'login_head', 'wp_shake_js', 12 );
|
1515 |
-
}
|
1516 |
-
add_action( 'login_form_bp-spam', 'bp_live_spammer_login_error' );
|
120 |
*
|
121 |
* @package BuddyPress Core
|
122 |
* @global $current_user WordPress global variable containing current logged in user information
|
123 |
+
* @param user_id The ID of the user.
|
124 |
*/
|
125 |
function bp_core_get_user_domain( $user_id, $user_nicename = false, $user_login = false ) {
|
126 |
|
150 |
* Fetch everything in the wp_users table for a user, without any usermeta.
|
151 |
*
|
152 |
* @package BuddyPress Core
|
153 |
+
* @param user_id The ID of the user.
|
154 |
* @uses BP_Core_User::get_core_userdata() Performs the query.
|
155 |
*/
|
156 |
function bp_core_get_core_userdata( $user_id ) {
|
170 |
*
|
171 |
* @package BuddyPress Core
|
172 |
* @uses bp_core_get_userid_from_user_login() Returns the user id for the username passed
|
173 |
+
* @return The user id for the user that is currently being displayed, return zero if this is not a user home and just a normal blog.
|
174 |
*/
|
175 |
function bp_core_get_displayed_userid( $user_login ) {
|
176 |
return apply_filters( 'bp_core_get_displayed_userid', bp_core_get_userid( $user_login ) );
|
180 |
* Returns the user_id for a user based on their username.
|
181 |
*
|
182 |
* @package BuddyPress Core
|
183 |
+
* @param $username str Username to check.
|
184 |
* @global $wpdb WordPress DB access object.
|
185 |
+
* @return false on no match
|
186 |
+
* @return int the user ID of the matched user.
|
187 |
*/
|
188 |
function bp_core_get_userid( $username ) {
|
189 |
global $wpdb;
|
198 |
* Returns the user_id for a user based on their user_nicename.
|
199 |
*
|
200 |
* @package BuddyPress Core
|
201 |
+
* @param $username str Username to check.
|
202 |
* @global $wpdb WordPress DB access object.
|
203 |
+
* @return false on no match
|
204 |
+
* @return int the user ID of the matched user.
|
205 |
*/
|
206 |
function bp_core_get_userid_from_nicename( $user_nicename ) {
|
207 |
global $wpdb;
|
209 |
if ( empty( $user_nicename ) )
|
210 |
return false;
|
211 |
|
212 |
+
return apply_filters( 'bp_core_get_userid_from_nicename', $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM {$wpdb->users} WHERE user_nicename = %s", $user_nicename ) ) );
|
213 |
}
|
214 |
|
215 |
/**
|
216 |
* Returns the username for a user based on their user id.
|
217 |
*
|
218 |
* @package BuddyPress Core
|
219 |
+
* @param $uid int User ID to check.
|
220 |
* @global $userdata WordPress user data for the current logged in user.
|
221 |
* @uses get_userdata() WordPress function to fetch the userdata for a user ID
|
222 |
+
* @return false on no match
|
223 |
+
* @return str the username of the matched user.
|
224 |
*/
|
225 |
function bp_core_get_username( $user_id, $user_nicename = false, $user_login = false ) {
|
226 |
global $bp;
|
290 |
* @since BuddyPress (1.5)
|
291 |
*
|
292 |
* @package BuddyPress Core
|
293 |
+
* @param $uid int User ID to check.
|
294 |
* @global $userdata WordPress user data for the current logged in user.
|
295 |
* @uses get_userdata() WordPress function to fetch the userdata for a user ID
|
296 |
+
* @return false on no match
|
297 |
+
* @return str the username of the matched user.
|
298 |
*/
|
299 |
function bp_members_get_user_nicename( $user_id ) {
|
300 |
global $bp;
|
343 |
* Returns the email address for the user based on user ID
|
344 |
*
|
345 |
* @package BuddyPress Core
|
346 |
+
* @param $uid int User ID to check.
|
347 |
* @uses get_userdata() WordPress function to fetch the userdata for a user ID
|
348 |
+
* @return false on no match
|
349 |
+
* @return str The email for the matched user.
|
350 |
*/
|
351 |
function bp_core_get_user_email( $uid ) {
|
352 |
|
371 |
* Optional parameters will return just the name or just the URL.
|
372 |
*
|
373 |
* @param int $user_id User ID to check.
|
374 |
+
* @param $no_anchor bool Disable URL and HTML and just return full name. Default false.
|
375 |
+
* @param $just_link bool Disable full name and HTML and just return the URL text. Default false.
|
376 |
+
* @return false on no match
|
377 |
+
* @return str The link text based on passed parameters.
|
378 |
* @todo This function needs to be cleaned up or split into separate functions
|
379 |
*/
|
380 |
function bp_core_get_userlink( $user_id, $no_anchor = false, $just_link = false ) {
|
406 |
* @uses get_userdata() Fetches the WP userdata for a specific user.
|
407 |
* @uses xprofile_set_field_data() Will update the field data for a user based on field name and user id.
|
408 |
* @uses wp_cache_set() Adds a value to the cache.
|
409 |
+
* @return str The display name for the user in question.
|
410 |
*/
|
411 |
function bp_core_get_user_displayname( $user_id_or_username ) {
|
412 |
global $bp;
|
462 |
* Returns the user link for the user based on user email address
|
463 |
*
|
464 |
* @package BuddyPress Core
|
465 |
+
* @param $email str The email address for the user.
|
466 |
* @uses bp_core_get_userlink() BuddyPress function to get a userlink by user ID.
|
467 |
* @uses get_user_by() WordPress function to get userdata via an email address
|
468 |
+
* @return str The link to the users home base. False on no match.
|
469 |
*/
|
470 |
function bp_core_get_userlink_by_email( $email ) {
|
471 |
$user = get_user_by( 'email', $email );
|
475 |
/**
|
476 |
* Returns the user link for the user based on the supplied identifier
|
477 |
*
|
478 |
+
* @param $username str If BP_ENABLE_USERNAME_COMPATIBILITY_MODE is set, this will be user_login, otherwise it will be user_nicename.
|
479 |
+
* @return str The link to the users home base. False on no match.
|
480 |
*/
|
481 |
function bp_core_get_userlink_by_username( $username ) {
|
482 |
if ( bp_is_username_compatibility_mode() )
|
654 |
if ( empty( $user_id ) )
|
655 |
return false;
|
656 |
|
|
|
|
|
657 |
// Assume user is not spam
|
658 |
$is_spammer = false;
|
659 |
|
660 |
+
// Get user data
|
661 |
+
$user = get_userdata( $user_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
662 |
|
663 |
// No user found
|
664 |
if ( empty( $user ) ) {
|
691 |
if ( empty( $user_id ) )
|
692 |
return false;
|
693 |
|
|
|
|
|
694 |
// Assume user is not deleted
|
695 |
$is_deleted = false;
|
696 |
|
697 |
+
// Get user data
|
698 |
+
$user = get_userdata( $user_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
699 |
|
700 |
// No user found
|
701 |
if ( empty( $user ) ) {
|
881 |
* When a user logs in, check if they have been marked as a spammer. If yes then simply
|
882 |
* redirect them to the home page and stop them from logging in.
|
883 |
*
|
884 |
+
* @param obj $user Either the WP_User object or the WP_Error object
|
885 |
+
* @return obj If the user is not a spammer, return the WP_User object. Otherwise a new WP_Error object.
|
886 |
*
|
887 |
* @since BuddyPress (1.1.2)
|
888 |
*/
|
905 |
* Deletes usermeta for the user when the user is deleted.
|
906 |
*
|
907 |
* @package BuddyPress Core
|
908 |
+
* @param $user_id The user id for the user to delete usermeta for
|
909 |
* @uses bp_delete_user_meta() deletes a row from the wp_usermeta table based on meta_key
|
910 |
*/
|
911 |
function bp_core_remove_data( $user_id ) {
|
1062 |
* @since BuddyPress (1.7)
|
1063 |
* @see bp_core_validate_email_address()
|
1064 |
*
|
1065 |
+
* @param obj $errors WP_Error object
|
1066 |
* @param array $validation_results The return value of a validation function
|
1067 |
* like bp_core_validate_email_address()
|
1068 |
*/
|
1102 |
|
1103 |
$illegal_names = get_site_option( 'illegal_names' );
|
1104 |
|
1105 |
+
if ( !validate_username( $user_name ) || in_array( $user_name, (array) $illegal_names ) )
|
1106 |
+
$errors->add( 'user_name', __( 'Only lowercase letters and numbers allowed', 'buddypress' ) );
|
|
|
|
|
|
|
1107 |
|
1108 |
if( strlen( $user_name ) < 4 )
|
1109 |
$errors->add( 'user_name', __( 'Username must be at least 4 characters', 'buddypress' ) );
|
1374 |
* Multisite has their own DB table - 'wp_signups' - dedicated for unactivated users.
|
1375 |
* See {@link wpmu_signup_user()} and {@link wpmu_validate_user_signup()}.
|
1376 |
*
|
1377 |
+
* @param obj $user Either the WP_User object or the WP_Error object
|
1378 |
+
* @return obj If the user is not a spammer, return the WP_User object. Otherwise a new WP_Error object.
|
1379 |
*
|
1380 |
* @since BuddyPress (1.2.2)
|
1381 |
*/
|
1413 |
bp_core_redirect( bp_get_signup_page() );
|
1414 |
}
|
1415 |
add_action( 'bp_init', 'bp_core_wpsignup_redirect' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bp-members/bp-members-notifications.php
CHANGED
@@ -119,7 +119,7 @@ function bp_core_get_notifications_for_user( $user_id, $format = 'simple' ) {
|
|
119 |
continue;
|
120 |
|
121 |
// Callback function exists
|
122 |
-
if ( isset( $bp->{$component_name}->notification_callback ) &&
|
123 |
|
124 |
// Function should return an object
|
125 |
if ( 'object' == $format ) {
|
119 |
continue;
|
120 |
|
121 |
// Callback function exists
|
122 |
+
if ( isset( $bp->{$component_name}->notification_callback ) && function_exists( $bp->{$component_name}->notification_callback ) ) {
|
123 |
|
124 |
// Function should return an object
|
125 |
if ( 'object' == $format ) {
|
bp-members/bp-members-screens.php
CHANGED
@@ -266,7 +266,7 @@ add_action( 'bp_screens', 'bp_core_screen_activation' );
|
|
266 |
* The main theme compat class for BuddyPress Members.
|
267 |
*
|
268 |
* This class sets up the necessary theme compatability actions to safely output
|
269 |
-
*
|
270 |
*
|
271 |
* @since BuddyPress (1.7)
|
272 |
*/
|
@@ -298,7 +298,6 @@ class BP_Members_Theme_Compat {
|
|
298 |
|
299 |
do_action( 'bp_members_screen_index' );
|
300 |
|
301 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'directory_template_hierarchy' ) );
|
302 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
|
303 |
add_filter( 'bp_replace_the_content', array( $this, 'directory_content' ) );
|
304 |
|
@@ -311,7 +310,6 @@ class BP_Members_Theme_Compat {
|
|
311 |
|
312 |
do_action( 'bp_members_screen_display_profile' );
|
313 |
|
314 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'single_template_hierarchy' ) );
|
315 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'single_dummy_post' ) );
|
316 |
add_filter( 'bp_replace_the_content', array( $this, 'single_dummy_content' ) );
|
317 |
|
@@ -320,29 +318,6 @@ class BP_Members_Theme_Compat {
|
|
320 |
|
321 |
/** Directory *************************************************************/
|
322 |
|
323 |
-
/**
|
324 |
-
* Add template hierarchy to theme compat for the members directory page.
|
325 |
-
*
|
326 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
327 |
-
*
|
328 |
-
* @since BuddyPress (1.8)
|
329 |
-
*
|
330 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
331 |
-
* @return array $templates Array of custom templates to look for.
|
332 |
-
*/
|
333 |
-
public function directory_template_hierarchy( $templates ) {
|
334 |
-
// Setup our templates based on priority
|
335 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_members_directory', array(
|
336 |
-
'members/single/index-directory.php'
|
337 |
-
) );
|
338 |
-
|
339 |
-
// Merge new templates with existing stack
|
340 |
-
// @see bp_get_theme_compat_templates()
|
341 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
342 |
-
|
343 |
-
return $templates;
|
344 |
-
}
|
345 |
-
|
346 |
/**
|
347 |
* Update the global $post with directory data
|
348 |
*
|
@@ -373,36 +348,6 @@ class BP_Members_Theme_Compat {
|
|
373 |
|
374 |
/** Single ****************************************************************/
|
375 |
|
376 |
-
/**
|
377 |
-
* Add custom template hierarchy to theme compat for member pages.
|
378 |
-
*
|
379 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
380 |
-
*
|
381 |
-
* @since BuddyPress (1.8)
|
382 |
-
*
|
383 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
384 |
-
* @return array $templates Array of custom templates to look for.
|
385 |
-
*/
|
386 |
-
public function single_template_hierarchy( $templates ) {
|
387 |
-
// Setup some variables we're going to reference in our custom templates
|
388 |
-
$user_nicename = buddypress()->displayed_user->userdata->user_nicename;
|
389 |
-
|
390 |
-
// Setup our templates based on priority
|
391 |
-
$new_templates = apply_filters( 'bp_template_hierarchy_members_single_item', array(
|
392 |
-
'members/single/index-id-' . sanitize_file_name( bp_displayed_user_id() ) . '.php',
|
393 |
-
'members/single/index-nicename-' . sanitize_file_name( $user_nicename ) . '.php',
|
394 |
-
'members/single/index-action-' . sanitize_file_name( bp_current_action() ) . '.php',
|
395 |
-
'members/single/index-component-' . sanitize_file_name( bp_current_component() ) . '.php',
|
396 |
-
'members/single/index.php'
|
397 |
-
) );
|
398 |
-
|
399 |
-
// Merge new templates with existing stack
|
400 |
-
// @see bp_get_theme_compat_templates()
|
401 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
402 |
-
|
403 |
-
return $templates;
|
404 |
-
}
|
405 |
-
|
406 |
/**
|
407 |
* Update the global $post with the displayed user's data
|
408 |
*
|
@@ -468,38 +413,12 @@ class BP_Registration_Theme_Compat {
|
|
468 |
bp_update_is_directory( false, 'register' );
|
469 |
|
470 |
// Setup actions
|
471 |
-
add_filter( 'bp_get_buddypress_template', array( $this, 'template_hierarchy' ) );
|
472 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'dummy_post' ) );
|
473 |
add_filter( 'bp_replace_the_content', array( $this, 'dummy_content' ) );
|
474 |
}
|
475 |
|
476 |
/** Template ***********************************************************/
|
477 |
|
478 |
-
/**
|
479 |
-
* Add template hierarchy to theme compat for registration / activation pages.
|
480 |
-
*
|
481 |
-
* This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
|
482 |
-
*
|
483 |
-
* @since BuddyPress (1.8)
|
484 |
-
*
|
485 |
-
* @param string $templates The templates from bp_get_theme_compat_templates()
|
486 |
-
* @return array $templates Array of custom templates to look for.
|
487 |
-
*/
|
488 |
-
public function template_hierarchy( $templates ) {
|
489 |
-
$component = sanitize_file_name( bp_current_component() );
|
490 |
-
|
491 |
-
// Setup our templates based on priority
|
492 |
-
$new_templates = apply_filters( "bp_template_hierarchy_{$component}", array(
|
493 |
-
"members/index-{$component}.php"
|
494 |
-
) );
|
495 |
-
|
496 |
-
// Merge new templates with existing stack
|
497 |
-
// @see bp_get_theme_compat_templates()
|
498 |
-
$templates = array_merge( (array) $new_templates, $templates );
|
499 |
-
|
500 |
-
return $templates;
|
501 |
-
}
|
502 |
-
|
503 |
/**
|
504 |
* Update the global $post with dummy data
|
505 |
*
|
@@ -511,7 +430,7 @@ class BP_Registration_Theme_Compat {
|
|
511 |
$title = __( 'Create an Account', 'buddypress' );
|
512 |
|
513 |
if ( 'completed-confirmation' == bp_get_current_signup_step() ) {
|
514 |
-
$title = __( '
|
515 |
}
|
516 |
|
517 |
// Activation page
|
266 |
* The main theme compat class for BuddyPress Members.
|
267 |
*
|
268 |
* This class sets up the necessary theme compatability actions to safely output
|
269 |
+
* group template parts to the_title and the_content areas of a theme.
|
270 |
*
|
271 |
* @since BuddyPress (1.7)
|
272 |
*/
|
298 |
|
299 |
do_action( 'bp_members_screen_index' );
|
300 |
|
|
|
301 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
|
302 |
add_filter( 'bp_replace_the_content', array( $this, 'directory_content' ) );
|
303 |
|
310 |
|
311 |
do_action( 'bp_members_screen_display_profile' );
|
312 |
|
|
|
313 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'single_dummy_post' ) );
|
314 |
add_filter( 'bp_replace_the_content', array( $this, 'single_dummy_content' ) );
|
315 |
|
318 |
|
319 |
/** Directory *************************************************************/
|
320 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
/**
|
322 |
* Update the global $post with directory data
|
323 |
*
|
348 |
|
349 |
/** Single ****************************************************************/
|
350 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
351 |
/**
|
352 |
* Update the global $post with the displayed user's data
|
353 |
*
|
413 |
bp_update_is_directory( false, 'register' );
|
414 |
|
415 |
// Setup actions
|
|
|
416 |
add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'dummy_post' ) );
|
417 |
add_filter( 'bp_replace_the_content', array( $this, 'dummy_content' ) );
|
418 |
}
|
419 |
|
420 |
/** Template ***********************************************************/
|
421 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
422 |
/**
|
423 |
* Update the global $post with dummy data
|
424 |
*
|
430 |
$title = __( 'Create an Account', 'buddypress' );
|
431 |
|
432 |
if ( 'completed-confirmation' == bp_get_current_signup_step() ) {
|
433 |
+
$title = __( 'Sign Up Complete!', 'buddypress' );
|
434 |
}
|
435 |
|
436 |
// Activation page
|
bp-members/bp-members-template.php
CHANGED
@@ -275,9 +275,8 @@ function bp_has_members( $args = '' ) {
|
|
275 |
$search_terms = null;
|
276 |
|
277 |
// User filtering
|
278 |
-
if (
|
279 |
$user_id = bp_displayed_user_id();
|
280 |
-
}
|
281 |
|
282 |
// type: active ( default ) | random | newest | popular | online | alphabetical
|
283 |
$defaults = array(
|
@@ -384,8 +383,8 @@ function bp_member_user_id() {
|
|
384 |
*/
|
385 |
function bp_get_member_user_id() {
|
386 |
global $members_template;
|
387 |
-
|
388 |
-
return apply_filters( 'bp_get_member_user_id', $
|
389 |
}
|
390 |
|
391 |
/**
|
@@ -555,7 +554,7 @@ function bp_member_name() {
|
|
555 |
* @package BuddyPress
|
556 |
*
|
557 |
* @uses apply_filters() Filter bp_get_the_member_name() to alter the function's output
|
558 |
-
* @return
|
559 |
*/
|
560 |
function bp_get_member_name() {
|
561 |
global $members_template;
|
275 |
$search_terms = null;
|
276 |
|
277 |
// User filtering
|
278 |
+
if ( bp_displayed_user_id() )
|
279 |
$user_id = bp_displayed_user_id();
|
|
|
280 |
|
281 |
// type: active ( default ) | random | newest | popular | online | alphabetical
|
282 |
$defaults = array(
|
383 |
*/
|
384 |
function bp_get_member_user_id() {
|
385 |
global $members_template;
|
386 |
+
|
387 |
+
return apply_filters( 'bp_get_member_user_id', $members_template->member->id );
|
388 |
}
|
389 |
|
390 |
/**
|
554 |
* @package BuddyPress
|
555 |
*
|
556 |
* @uses apply_filters() Filter bp_get_the_member_name() to alter the function's output
|
557 |
+
* @return str The user's fullname for display
|
558 |
*/
|
559 |
function bp_get_member_name() {
|
560 |
global $members_template;
|
bp-messages/bp-messages-functions.php
CHANGED
@@ -233,11 +233,11 @@ function messages_is_valid_thread( $thread_id ) {
|
|
233 |
*
|
234 |
* @package BuddyPress
|
235 |
*
|
236 |
-
* @param
|
237 |
* @param int $item_id The primary item id
|
238 |
* @param int $secondary_item_id The secondary item id
|
239 |
* @param int $total_items The total number of messaging-related notifications waiting for the user
|
240 |
-
* @param
|
241 |
*/
|
242 |
function messages_format_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
|
243 |
|
233 |
*
|
234 |
* @package BuddyPress
|
235 |
*
|
236 |
+
* @param str $action The kind of notification being rendered
|
237 |
* @param int $item_id The primary item id
|
238 |
* @param int $secondary_item_id The secondary item id
|
239 |
* @param int $total_items The total number of messaging-related notifications waiting for the user
|
240 |
+
* @param str $format 'string' for BuddyBar-compatible notifications; 'array' for WP Toolbar
|
241 |
*/
|
242 |
function messages_format_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
|
243 |
|
bp-messages/bp-messages-template.php
CHANGED
@@ -383,7 +383,7 @@ function bp_messages_form_action() {
|
|
383 |
*
|
384 |
* @package BuddyPress
|
385 |
*
|
386 |
-
* @return
|
387 |
*/
|
388 |
function bp_get_messages_form_action() {
|
389 |
return apply_filters( 'bp_get_messages_form_action', trailingslashit( bp_loggedin_user_domain() . bp_get_messages_slug() . '/' . bp_current_action() . '/' . bp_action_variable( 0 ) ) );
|
@@ -639,10 +639,8 @@ function bp_send_message_button() {
|
|
639 |
echo bp_get_send_message_button();
|
640 |
}
|
641 |
function bp_get_send_message_button() {
|
642 |
-
// Note: 'bp_get_send_message_button' is a legacy filter. Use
|
643 |
-
// 'bp_get_send_message_button_args' instead. See #4536
|
644 |
return apply_filters( 'bp_get_send_message_button',
|
645 |
-
bp_get_button(
|
646 |
'id' => 'private_message',
|
647 |
'component' => 'messages',
|
648 |
'must_be_logged_in' => true,
|
@@ -652,7 +650,7 @@ function bp_send_message_button() {
|
|
652 |
'link_title' => __( 'Send a private message to this user.', 'buddypress' ),
|
653 |
'link_text' => __( 'Private Message', 'buddypress' ),
|
654 |
'link_class' => 'send-message',
|
655 |
-
) )
|
656 |
);
|
657 |
}
|
658 |
|
383 |
*
|
384 |
* @package BuddyPress
|
385 |
*
|
386 |
+
* @return str The form action
|
387 |
*/
|
388 |
function bp_get_messages_form_action() {
|
389 |
return apply_filters( 'bp_get_messages_form_action', trailingslashit( bp_loggedin_user_domain() . bp_get_messages_slug() . '/' . bp_current_action() . '/' . bp_action_variable( 0 ) ) );
|
639 |
echo bp_get_send_message_button();
|
640 |
}
|
641 |
function bp_get_send_message_button() {
|
|
|
|
|
642 |
return apply_filters( 'bp_get_send_message_button',
|
643 |
+
bp_get_button( array(
|
644 |
'id' => 'private_message',
|
645 |
'component' => 'messages',
|
646 |
'must_be_logged_in' => true,
|
650 |
'link_title' => __( 'Send a private message to this user.', 'buddypress' ),
|
651 |
'link_text' => __( 'Private Message', 'buddypress' ),
|
652 |
'link_class' => 'send-message',
|
653 |
+
) )
|
654 |
);
|
655 |
}
|
656 |
|
bp-messages/js/autocomplete/jquery.autocompletefb.js
CHANGED
@@ -38,8 +38,8 @@ jQuery.fn.autoCompletefb = function(options)
|
|
38 |
return tmp.acfb;
|
39 |
},
|
40 |
removeUsername: function(o){
|
41 |
-
var newID = o.parentNode.id.
|
42 |
-
jQuery('#send-to-usernames').removeClass(newID);
|
43 |
}
|
44 |
}
|
45 |
|
38 |
return tmp.acfb;
|
39 |
},
|
40 |
removeUsername: function(o){
|
41 |
+
var newID = o.parentNode.id.split('-');
|
42 |
+
jQuery('#send-to-usernames').removeClass(newID[1]);
|
43 |
}
|
44 |
}
|
45 |
|
bp-messages/js/autocomplete/jquery.autocompletefb.min.js
CHANGED
@@ -13,4 +13,4 @@
|
|
13 |
* http://www.opensource.org/licenses/mit-license.php
|
14 |
* http://www.gnu.org/licenses/gpl.html
|
15 |
*/
|
16 |
-
jQuery.fn.autoCompletefb=function(b){var c=this;var d={ul:c,urlLookup:[""],acOptions:{},foundClass:".friend-tab",inputClass:".send-to-input"};if(b){jQuery.extend(d,b)}var a={params:d,removeFind:function(e){a.removeUsername(e);jQuery(e).unbind("click").parent().remove();jQuery(d.inputClass,c).focus();return c.acfb},removeUsername:function(f){var e=f.parentNode.id.
|
13 |
* http://www.opensource.org/licenses/mit-license.php
|
14 |
* http://www.gnu.org/licenses/gpl.html
|
15 |
*/
|
16 |
+
jQuery.fn.autoCompletefb=function(b){var c=this;var d={ul:c,urlLookup:[""],acOptions:{},foundClass:".friend-tab",inputClass:".send-to-input"};if(b){jQuery.extend(d,b)}var a={params:d,removeFind:function(e){a.removeUsername(e);jQuery(e).unbind("click").parent().remove();jQuery(d.inputClass,c).focus();return c.acfb},removeUsername:function(f){var e=f.parentNode.id.split("-");jQuery("#send-to-usernames").removeClass(e[1])}};jQuery(d.foundClass+" img.p").click(function(){a.removeFind(this)});jQuery(d.inputClass,c).autocomplete(d.urlLookup,d.acOptions);jQuery(d.inputClass,c).result(function(n,o,m){var m=d.foundClass.replace(/\./,"");var o=String(o).split(" (");var j=o[1].substr(0,o[1].length-1);if(0===jQuery(d.inputClass).siblings("#un-"+j).length){var k="#link-"+j;var h=jQuery(k).attr("href");var i='<li class="'+m+'" id="un-'+j+'"><span><a href="'+h+'">'+o[0]+'</a></span> <span class="p">X</span></li>';var g=jQuery(d.inputClass,c).before(i);jQuery("#send-to-usernames").addClass(j);jQuery(".p",g[0].previousSibling).click(function(){a.removeFind(this)})}jQuery(d.inputClass,c).val("")});jQuery(d.inputClass,c).focus();return a};
|
bp-messages/js/autocomplete/license.bgiframe.txt
CHANGED
@@ -1,20 +1,20 @@
|
|
1 |
-
Copyright 2010, Brandon Aaron (http://brandonaaron.net/)
|
2 |
-
|
3 |
-
Permission is hereby granted, free of charge, to any person obtaining
|
4 |
-
a copy of this software and associated documentation files (the
|
5 |
-
"Software"), to deal in the Software without restriction, including
|
6 |
-
without limitation the rights to use, copy, modify, merge, publish,
|
7 |
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8 |
-
permit persons to whom the Software is furnished to do so, subject to
|
9 |
-
the following conditions:
|
10 |
-
|
11 |
-
The above copyright notice and this permission notice shall be
|
12 |
-
included in all copies or substantial portions of the Software.
|
13 |
-
|
14 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15 |
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16 |
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17 |
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18 |
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19 |
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20 |
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
1 |
+
Copyright 2010, Brandon Aaron (http://brandonaaron.net/)
|
2 |
+
|
3 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
4 |
+
a copy of this software and associated documentation files (the
|
5 |
+
"Software"), to deal in the Software without restriction, including
|
6 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
7 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8 |
+
permit persons to whom the Software is furnished to do so, subject to
|
9 |
+
the following conditions:
|
10 |
+
|
11 |
+
The above copyright notice and this permission notice shall be
|
12 |
+
included in all copies or substantial portions of the Software.
|
13 |
+
|
14 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18 |
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19 |
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20 |
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
bp-settings/bp-settings-actions.php
CHANGED
@@ -23,6 +23,7 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
23 |
* users accounts already, without knowing their existing password.
|
24 |
*
|
25 |
* @global BuddyPress $bp
|
|
|
26 |
*/
|
27 |
function bp_settings_action_general() {
|
28 |
|
@@ -213,6 +214,8 @@ add_action( 'bp_actions', 'bp_settings_action_general' );
|
|
213 |
|
214 |
/**
|
215 |
* Handles the changing and saving of user notification settings
|
|
|
|
|
216 |
*/
|
217 |
function bp_settings_action_notifications() {
|
218 |
|
@@ -257,6 +260,8 @@ add_action( 'bp_actions', 'bp_settings_action_notifications' );
|
|
257 |
|
258 |
/**
|
259 |
* Handles the setting of user capabilities, spamming, hamming, role, etc...
|
|
|
|
|
260 |
*/
|
261 |
function bp_settings_action_capabilities() {
|
262 |
|
@@ -304,6 +309,8 @@ add_action( 'bp_actions', 'bp_settings_action_capabilities' );
|
|
304 |
|
305 |
/**
|
306 |
* Handles the deleting of a user
|
|
|
|
|
307 |
*/
|
308 |
function bp_settings_action_delete_account() {
|
309 |
|
23 |
* users accounts already, without knowing their existing password.
|
24 |
*
|
25 |
* @global BuddyPress $bp
|
26 |
+
* @return If no reason to proceed
|
27 |
*/
|
28 |
function bp_settings_action_general() {
|
29 |
|
214 |
|
215 |
/**
|
216 |
* Handles the changing and saving of user notification settings
|
217 |
+
*
|
218 |
+
* @return If no reason to proceed
|
219 |
*/
|
220 |
function bp_settings_action_notifications() {
|
221 |
|
260 |
|
261 |
/**
|
262 |
* Handles the setting of user capabilities, spamming, hamming, role, etc...
|
263 |
+
*
|
264 |
+
* @return If no reason to proceed
|
265 |
*/
|
266 |
function bp_settings_action_capabilities() {
|
267 |
|
309 |
|
310 |
/**
|
311 |
* Handles the deleting of a user
|
312 |
+
*
|
313 |
+
* @return If no reason to proceed
|
314 |
*/
|
315 |
function bp_settings_action_delete_account() {
|
316 |
|
bp-settings/bp-settings-screens.php
CHANGED
@@ -14,6 +14,8 @@ if ( !defined( 'ABSPATH' ) ) exit;
|
|
14 |
* Show the general settings template
|
15 |
*
|
16 |
* @since BuddyPress (1.5)
|
|
|
|
|
17 |
*/
|
18 |
function bp_settings_screen_general() {
|
19 |
|
@@ -29,6 +31,8 @@ function bp_settings_screen_general() {
|
|
29 |
* Show the notifications settings template
|
30 |
*
|
31 |
* @since BuddyPress (1.5)
|
|
|
|
|
32 |
*/
|
33 |
function bp_settings_screen_notification() {
|
34 |
|
@@ -44,6 +48,8 @@ function bp_settings_screen_notification() {
|
|
44 |
* Show the delete-account settings template
|
45 |
*
|
46 |
* @since BuddyPress (1.5)
|
|
|
|
|
47 |
*/
|
48 |
function bp_settings_screen_delete_account() {
|
49 |
|
@@ -60,6 +66,8 @@ function bp_settings_screen_delete_account() {
|
|
60 |
* Show the capabilities settings template
|
61 |
*
|
62 |
* @since BuddyPress (1.6)
|
|
|
|
|
63 |
*/
|
64 |
function bp_settings_screen_capabilities() {
|
65 |
|
14 |
* Show the general settings template
|
15 |
*
|
16 |
* @since BuddyPress (1.5)
|
17 |
+
*
|
18 |
+
* @return If we shouldn't be here
|
19 |
*/
|
20 |
function bp_settings_screen_general() {
|
21 |
|
31 |
* Show the notifications settings template
|
32 |
*
|
33 |
* @since BuddyPress (1.5)
|
34 |
+
*
|
35 |
+
* @return If we shouldn't be here
|
36 |
*/
|
37 |
function bp_settings_screen_notification() {
|
38 |
|
48 |
* Show the delete-account settings template
|
49 |
*
|
50 |
* @since BuddyPress (1.5)
|
51 |
+
*
|
52 |
+
* @return If we shouldn't be here
|
53 |
*/
|
54 |
function bp_settings_screen_delete_account() {
|
55 |
|
66 |
* Show the capabilities settings template
|
67 |
*
|
68 |
* @since BuddyPress (1.6)
|
69 |
+
*
|
70 |
+
* @return If we shouldn't be here
|
71 |
*/
|
72 |
function bp_settings_screen_capabilities() {
|
73 |
|
bp-templates/bp-legacy/buddypress-functions.php
CHANGED
@@ -99,7 +99,7 @@ class BP_Legacy extends BP_Theme_Compat {
|
|
99 |
add_action( 'bp_member_header_actions', 'bp_add_friend_button', 5 );
|
100 |
|
101 |
// Activity button
|
102 |
-
if ( bp_is_active( 'activity' )
|
103 |
add_action( 'bp_member_header_actions', 'bp_send_public_message_button', 20 );
|
104 |
|
105 |
// Messages button
|
@@ -195,15 +195,26 @@ class BP_Legacy extends BP_Theme_Compat {
|
|
195 |
public function enqueue_styles() {
|
196 |
|
197 |
// LTR or RTL
|
198 |
-
$file = is_rtl() ? 'buddypress-rtl.css' : 'buddypress.css';
|
199 |
|
200 |
-
//
|
201 |
-
|
|
|
|
|
202 |
|
203 |
-
//
|
204 |
-
|
205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
}
|
|
|
|
|
|
|
207 |
}
|
208 |
|
209 |
/**
|
@@ -213,33 +224,42 @@ class BP_Legacy extends BP_Theme_Compat {
|
|
213 |
*/
|
214 |
public function enqueue_scripts() {
|
215 |
|
216 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
|
218 |
-
//
|
219 |
-
|
|
|
|
|
220 |
|
221 |
-
//
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
}
|
226 |
|
|
|
|
|
|
|
227 |
// Add words that we need to use in JS to the end of the page so they can be translated and still used.
|
228 |
$params = array(
|
229 |
'my_favs' => __( 'My Favorites', 'buddypress' ),
|
230 |
'accepted' => __( 'Accepted', 'buddypress' ),
|
231 |
'rejected' => __( 'Rejected', 'buddypress' ),
|
232 |
'show_all_comments' => __( 'Show all comments for this thread', 'buddypress' ),
|
233 |
-
'show_x_comments' => __( 'Show all %d comments', 'buddypress' ),
|
234 |
'show_all' => __( 'Show all', 'buddypress' ),
|
235 |
'comments' => __( 'comments', 'buddypress' ),
|
236 |
'close' => __( 'Close', 'buddypress' ),
|
237 |
'view' => __( 'View', 'buddypress' ),
|
238 |
'mark_as_fav' => __( 'Favorite', 'buddypress' ),
|
239 |
-
'remove_fav' => __( 'Remove Favorite', 'buddypress' )
|
240 |
-
'unsaved_changes' => __( 'Your profile has unsaved changes. If you leave the page, the changes will be lost.', 'buddypress' ),
|
241 |
);
|
242 |
-
wp_localize_script( $
|
243 |
|
244 |
// Maybe enqueue comment reply JS
|
245 |
if ( is_singular() && bp_is_blog_page() && get_option( 'thread_comments' ) ) {
|
@@ -247,80 +267,6 @@ class BP_Legacy extends BP_Theme_Compat {
|
|
247 |
}
|
248 |
}
|
249 |
|
250 |
-
/**
|
251 |
-
* Get the URL and handle of a web-accessible CSS or JS asset
|
252 |
-
*
|
253 |
-
* We provide two levels of customizability with respect to where CSS
|
254 |
-
* and JS files can be stored: (1) the child theme/parent theme/theme
|
255 |
-
* compat hierarchy, and (2) the "template stack" of /buddypress/css/,
|
256 |
-
* /community/css/, and /css/. In this way, CSS and JS assets can be
|
257 |
-
* overloaded, and default versions provided, in exactly the same way
|
258 |
-
* as corresponding PHP templates.
|
259 |
-
*
|
260 |
-
* We are duplicating some of the logic that is currently found in
|
261 |
-
* bp_locate_template() and the _template_stack() functions. Those
|
262 |
-
* functions were built with PHP templates in mind, and will require
|
263 |
-
* refactoring in order to provide "stack" functionality for assets
|
264 |
-
* that must be accessible both using file_exists() (the file path)
|
265 |
-
* and at a public URI.
|
266 |
-
*
|
267 |
-
* This method is marked private, with the understanding that the
|
268 |
-
* implementation is subject to change or removal in an upcoming
|
269 |
-
* release, in favor of a unified _template_stack() system. Plugin
|
270 |
-
* and theme authors should not attempt to use what follows.
|
271 |
-
*
|
272 |
-
* @since BuddyPress (1.8)
|
273 |
-
* @access private
|
274 |
-
* @param string $file A filename like buddypress.cs
|
275 |
-
* @param string $type css|js
|
276 |
-
* @return array An array of data for the wp_enqueue_* function:
|
277 |
-
* 'handle' (eg 'bp-child-css') and a 'location' (the URI of the
|
278 |
-
* asset)
|
279 |
-
*/
|
280 |
-
private function locate_asset_in_stack( $file, $type = 'css' ) {
|
281 |
-
// Child, parent, theme compat
|
282 |
-
$locations = array();
|
283 |
-
|
284 |
-
// No need to check child if template == stylesheet
|
285 |
-
if ( is_child_theme() ) {
|
286 |
-
$locations['bp-child'] = array(
|
287 |
-
'dir' => get_stylesheet_directory(),
|
288 |
-
'uri' => get_stylesheet_directory_uri(),
|
289 |
-
);
|
290 |
-
}
|
291 |
-
|
292 |
-
$locations['bp-parent'] = array(
|
293 |
-
'dir' => get_template_directory(),
|
294 |
-
'uri' => get_template_directory_uri(),
|
295 |
-
);
|
296 |
-
|
297 |
-
$locations['bp-legacy'] = array(
|
298 |
-
'dir' => bp_get_theme_compat_dir(),
|
299 |
-
'uri' => bp_get_theme_compat_url(),
|
300 |
-
);
|
301 |
-
|
302 |
-
// Subdirectories within the top-level $locations directories
|
303 |
-
$subdirs = array(
|
304 |
-
'buddypress/' . $type,
|
305 |
-
'community/' . $type,
|
306 |
-
$type,
|
307 |
-
);
|
308 |
-
|
309 |
-
$retval = array();
|
310 |
-
|
311 |
-
foreach ( $locations as $location_type => $location ) {
|
312 |
-
foreach ( $subdirs as $subdir ) {
|
313 |
-
if ( file_exists( trailingslashit( $location['dir'] ) . trailingslashit( $subdir ) . $file ) ) {
|
314 |
-
$retval['location'] = trailingslashit( $location['uri'] ) . trailingslashit( $subdir ) . $file;
|
315 |
-
$retval['handle'] = $location_type . '-' . $type;
|
316 |
-
break 2;
|
317 |
-
}
|
318 |
-
}
|
319 |
-
}
|
320 |
-
|
321 |
-
return $retval;
|
322 |
-
}
|
323 |
-
|
324 |
/**
|
325 |
* Put some scripts in the header, like AJAX url for wp-lists
|
326 |
*
|
@@ -470,12 +416,6 @@ function bp_legacy_theme_ajax_querystring( $query_string, $object ) {
|
|
470 |
if ( ! empty( $_POST['page'] ) && '-1' != $_POST['page'] )
|
471 |
$qs[] = 'page=' . absint( $_POST['page'] );
|
472 |
|
473 |
-
// exludes activity just posted and avoids duplicate ids
|
474 |
-
if ( ! empty( $_POST['exclude_just_posted'] ) ) {
|
475 |
-
$just_posted = wp_parse_id_list( $_POST['exclude_just_posted'] );
|
476 |
-
$qs[] = 'exclude=' . implode( ',', $just_posted );
|
477 |
-
}
|
478 |
-
|
479 |
$object_search_text = bp_get_search_default_text( $object );
|
480 |
if ( ! empty( $_POST['search_terms'] ) && $object_search_text != $_POST['search_terms'] && 'false' != $_POST['search_terms'] && 'undefined' != $_POST['search_terms'] )
|
481 |
$qs[] = 'search_terms=' . $_POST['search_terms'];
|
@@ -517,26 +457,19 @@ function bp_legacy_theme_object_template_loader() {
|
|
517 |
if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
|
518 |
return;
|
519 |
|
520 |
-
// Bail if no object passed
|
521 |
-
if ( empty( $_POST['object'] ) )
|
522 |
-
return;
|
523 |
-
|
524 |
-
// Sanitize the object
|
525 |
-
$object = sanitize_title( $_POST['object'] );
|
526 |
-
|
527 |
-
// Bail if object is not an active component to prevent arbitrary file inclusion
|
528 |
-
if ( ! bp_is_active( $object ) )
|
529 |
-
return;
|
530 |
-
|
531 |
/**
|
532 |
* AJAX requests happen too early to be seen by bp_update_is_directory()
|
533 |
* so we do it manually here to ensure templates load with the correct
|
534 |
* context. Without this check, templates will load the 'single' version
|
535 |
* of themselves rather than the directory version.
|
536 |
*/
|
|
|
537 |
if ( ! bp_current_action() )
|
538 |
bp_update_is_directory( true, bp_current_component() );
|
539 |
|
|
|
|
|
|
|
540 |
// Locate the object template
|
541 |
bp_get_template_part( "$object/$object-loop" );
|
542 |
exit();
|
@@ -886,6 +819,7 @@ function bp_legacy_theme_get_single_activity_content() {
|
|
886 |
/**
|
887 |
* Invites a friend to join a group via a POST request.
|
888 |
*
|
|
|
889 |
* @since BuddyPress (1.2)
|
890 |
* @todo Audit return types
|
891 |
*/
|
99 |
add_action( 'bp_member_header_actions', 'bp_add_friend_button', 5 );
|
100 |
|
101 |
// Activity button
|
102 |
+
if ( bp_is_active( 'activity' ) )
|
103 |
add_action( 'bp_member_header_actions', 'bp_send_public_message_button', 20 );
|
104 |
|
105 |
// Messages button
|
195 |
public function enqueue_styles() {
|
196 |
|
197 |
// LTR or RTL
|
198 |
+
$file = is_rtl() ? 'css/buddypress-rtl.css' : 'css/buddypress.css';
|
199 |
|
200 |
+
// Check child theme
|
201 |
+
if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $file ) ) {
|
202 |
+
$location = trailingslashit( get_stylesheet_directory_uri() );
|
203 |
+
$handle = 'bp-child-css';
|
204 |
|
205 |
+
// Check parent theme
|
206 |
+
} elseif ( file_exists( trailingslashit( get_template_directory() ) . $file ) ) {
|
207 |
+
$location = trailingslashit( get_template_directory_uri() );
|
208 |
+
$handle = 'bp-parent-css';
|
209 |
+
|
210 |
+
// BuddyPress Theme Compatibility
|
211 |
+
} else {
|
212 |
+
$location = trailingslashit( $this->url );
|
213 |
+
$handle = 'bp-legacy-css';
|
214 |
}
|
215 |
+
|
216 |
+
// Enqueue the BuddyPress styling
|
217 |
+
wp_enqueue_style( $handle, $location . $file, array(), $this->version, 'screen' );
|
218 |
}
|
219 |
|
220 |
/**
|
224 |
*/
|
225 |
public function enqueue_scripts() {
|
226 |
|
227 |
+
// LTR or RTL
|
228 |
+
$file = 'js/buddypress.js';
|
229 |
+
|
230 |
+
// Check child theme
|
231 |
+
if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $file ) ) {
|
232 |
+
$location = trailingslashit( get_stylesheet_directory_uri() );
|
233 |
+
$handle = 'bp-child-js';
|
234 |
|
235 |
+
// Check parent theme
|
236 |
+
} elseif ( file_exists( trailingslashit( get_template_directory() ) . $file ) ) {
|
237 |
+
$location = trailingslashit( get_template_directory_uri() );
|
238 |
+
$handle = 'bp-parent-js';
|
239 |
|
240 |
+
// BuddyPress Theme Compatibility
|
241 |
+
} else {
|
242 |
+
$location = trailingslashit( $this->url );
|
243 |
+
$handle = 'bp-legacy-js';
|
244 |
}
|
245 |
|
246 |
+
// Enqueue the global JS - Ajax will not work without it
|
247 |
+
wp_enqueue_script( $handle, $location . $file, array( 'jquery' ), $this->version );
|
248 |
+
|
249 |
// Add words that we need to use in JS to the end of the page so they can be translated and still used.
|
250 |
$params = array(
|
251 |
'my_favs' => __( 'My Favorites', 'buddypress' ),
|
252 |
'accepted' => __( 'Accepted', 'buddypress' ),
|
253 |
'rejected' => __( 'Rejected', 'buddypress' ),
|
254 |
'show_all_comments' => __( 'Show all comments for this thread', 'buddypress' ),
|
|
|
255 |
'show_all' => __( 'Show all', 'buddypress' ),
|
256 |
'comments' => __( 'comments', 'buddypress' ),
|
257 |
'close' => __( 'Close', 'buddypress' ),
|
258 |
'view' => __( 'View', 'buddypress' ),
|
259 |
'mark_as_fav' => __( 'Favorite', 'buddypress' ),
|
260 |
+
'remove_fav' => __( 'Remove Favorite', 'buddypress' )
|
|
|
261 |
);
|
262 |
+
wp_localize_script( $handle, 'BP_DTheme', $params );
|
263 |
|
264 |
// Maybe enqueue comment reply JS
|
265 |
if ( is_singular() && bp_is_blog_page() && get_option( 'thread_comments' ) ) {
|
267 |
}
|
268 |
}
|
269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
/**
|
271 |
* Put some scripts in the header, like AJAX url for wp-lists
|
272 |
*
|
416 |
if ( ! empty( $_POST['page'] ) && '-1' != $_POST['page'] )
|
417 |
$qs[] = 'page=' . absint( $_POST['page'] );
|
418 |
|
|
|
|
|
|
|
|
|
|
|
|
|
419 |
$object_search_text = bp_get_search_default_text( $object );
|
420 |
if ( ! empty( $_POST['search_terms'] ) && $object_search_text != $_POST['search_terms'] && 'false' != $_POST['search_terms'] && 'undefined' != $_POST['search_terms'] )
|
421 |
$qs[] = 'search_terms=' . $_POST['search_terms'];
|
457 |
if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
|
458 |
return;
|
459 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
/**
|
461 |
* AJAX requests happen too early to be seen by bp_update_is_directory()
|
462 |
* so we do it manually here to ensure templates load with the correct
|
463 |
* context. Without this check, templates will load the 'single' version
|
464 |
* of themselves rather than the directory version.
|
465 |
*/
|
466 |
+
|
467 |
if ( ! bp_current_action() )
|
468 |
bp_update_is_directory( true, bp_current_component() );
|
469 |
|
470 |
+
// Sanitize the post object
|
471 |
+
$object = esc_attr( $_POST['object'] );
|
472 |
+
|
473 |
// Locate the object template
|
474 |
bp_get_template_part( "$object/$object-loop" );
|
475 |
exit();
|
819 |
/**
|
820 |
* Invites a friend to join a group via a POST request.
|
821 |
*
|
822 |
+
* @return unknown
|
823 |
* @since BuddyPress (1.2)
|
824 |
* @todo Audit return types
|
825 |
*/
|
bp-templates/bp-legacy/buddypress/activity/comment.php
CHANGED
@@ -24,7 +24,7 @@
|
|
24 |
<div class="acomment-meta">
|
25 |
<?php
|
26 |
/* translators: 1: user profile link, 2: user name, 3: activity permalink, 4: activity timestamp */
|
27 |
-
printf( __( '<a href="%1$s">%2$s</a> replied <a href="%3$s" class="activity-time-since"><span class="time-since">%4$s</span></a>', 'buddypress' ), bp_get_activity_comment_user_link(), bp_get_activity_comment_name(),
|
28 |
?>
|
29 |
</div>
|
30 |
|
24 |
<div class="acomment-meta">
|
25 |
<?php
|
26 |
/* translators: 1: user profile link, 2: user name, 3: activity permalink, 4: activity timestamp */
|
27 |
+
printf( __( '<a href="%1$s">%2$s</a> replied <a href="%3$s" class="activity-time-since"><span class="time-since">%4$s</span></a>', 'buddypress' ), bp_get_activity_comment_user_link(), bp_get_activity_comment_name(), bp_get_activity_thread_permalink(), bp_get_activity_comment_date_recorded() );
|
28 |
?>
|
29 |
</div>
|
30 |
|
bp-templates/bp-legacy/buddypress/activity/index.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
<ul>
|
17 |
<?php do_action( 'bp_before_activity_type_tab_all' ); ?>
|
18 |
|
19 |
-
<li class="selected" id="activity-all"><a href="<?php bp_activity_directory_permalink(); ?>" title="<?php _e( 'The public activity for everyone on this site.', 'buddypress' ); ?>"><?php printf( __( 'All Members <span>%s</span>', 'buddypress' ),
|
20 |
|
21 |
<?php if ( is_user_logged_in() ) : ?>
|
22 |
|
@@ -26,7 +26,7 @@
|
|
26 |
|
27 |
<?php if ( bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
|
28 |
|
29 |
-
<li id="activity-friends"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/' . bp_get_friends_slug() . '/'; ?>" title="<?php _e( 'The activity of my friends only.', 'buddypress' ); ?>"><?php printf( __( 'My Friends <span>%s</span>', 'buddypress' ),
|
30 |
|
31 |
<?php endif; ?>
|
32 |
|
@@ -38,7 +38,7 @@
|
|
38 |
|
39 |
<?php if ( bp_get_total_group_count_for_user( bp_loggedin_user_id() ) ) : ?>
|
40 |
|
41 |
-
<li id="activity-groups"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/' . bp_get_groups_slug() . '/'; ?>" title="<?php _e( 'The activity of groups I am a member of.', 'buddypress' ); ?>"><?php printf( __( 'My Groups <span>%s</span>', 'buddypress' ),
|
42 |
|
43 |
<?php endif; ?>
|
44 |
|
@@ -48,17 +48,13 @@
|
|
48 |
|
49 |
<?php if ( bp_get_total_favorite_count_for_user( bp_loggedin_user_id() ) ) : ?>
|
50 |
|
51 |
-
<li id="activity-favorites"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/favorites/'; ?>" title="<?php _e( "The activity I've marked as a favorite.", 'buddypress' ); ?>"><?php printf( __( 'My Favorites <span>%s</span>', 'buddypress' ),
|
52 |
|
53 |
<?php endif; ?>
|
54 |
|
55 |
-
<?php
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
<li id="activity-mentions"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/mentions/'; ?>" title="<?php _e( 'Activity that I have been mentioned in.', 'buddypress' ); ?>"><?php _e( 'Mentions', 'buddypress' ); ?><?php if ( bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ) : ?> <strong><span><?php printf( _nx( '%s new', '%s new', bp_get_total_mention_count_for_user( bp_loggedin_user_id() ), 'Number of new activity mentions', 'buddypress' ), number_format_i18n( bp_get_total_mention_count_for_user( bp_loggedin_user_id() )) ); ?></span></strong><?php endif; ?></a></li>
|
60 |
-
|
61 |
-
<?php endif; ?>
|
62 |
|
63 |
<?php endif; ?>
|
64 |
|
16 |
<ul>
|
17 |
<?php do_action( 'bp_before_activity_type_tab_all' ); ?>
|
18 |
|
19 |
+
<li class="selected" id="activity-all"><a href="<?php bp_activity_directory_permalink(); ?>" title="<?php _e( 'The public activity for everyone on this site.', 'buddypress' ); ?>"><?php printf( __( 'All Members <span>%s</span>', 'buddypress' ), bp_get_total_member_count() ); ?></a></li>
|
20 |
|
21 |
<?php if ( is_user_logged_in() ) : ?>
|
22 |
|
26 |
|
27 |
<?php if ( bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
|
28 |
|
29 |
+
<li id="activity-friends"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/' . bp_get_friends_slug() . '/'; ?>" title="<?php _e( 'The activity of my friends only.', 'buddypress' ); ?>"><?php printf( __( 'My Friends <span>%s</span>', 'buddypress' ), bp_get_total_friend_count( bp_loggedin_user_id() ) ); ?></a></li>
|
30 |
|
31 |
<?php endif; ?>
|
32 |
|
38 |
|
39 |
<?php if ( bp_get_total_group_count_for_user( bp_loggedin_user_id() ) ) : ?>
|
40 |
|
41 |
+
<li id="activity-groups"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/' . bp_get_groups_slug() . '/'; ?>" title="<?php _e( 'The activity of groups I am a member of.', 'buddypress' ); ?>"><?php printf( __( 'My Groups <span>%s</span>', 'buddypress' ), bp_get_total_group_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
|
42 |
|
43 |
<?php endif; ?>
|
44 |
|
48 |
|
49 |
<?php if ( bp_get_total_favorite_count_for_user( bp_loggedin_user_id() ) ) : ?>
|
50 |
|
51 |
+
<li id="activity-favorites"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/favorites/'; ?>" title="<?php _e( "The activity I've marked as a favorite.", 'buddypress' ); ?>"><?php printf( __( 'My Favorites <span>%s</span>', 'buddypress' ), bp_get_total_favorite_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
|
52 |
|
53 |
<?php endif; ?>
|
54 |
|
55 |
+
<?php do_action( 'bp_before_activity_type_tab_mentions' ); ?>
|
56 |
|
57 |
+
<li id="activity-mentions"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/mentions/'; ?>" title="<?php _e( 'Activity that I have been mentioned in.', 'buddypress' ); ?>"><?php _e( 'Mentions', 'buddypress' ); ?><?php if ( bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ) : ?> <strong><?php printf( __( '<span>%s new</span>', 'buddypress' ), bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ); ?></strong><?php endif; ?></a></li>
|
|
|
|
|
|
|
|
|
58 |
|
59 |
<?php endif; ?>
|
60 |
|
bp-templates/bp-legacy/buddypress/groups/single/admin.php
CHANGED
@@ -22,9 +22,9 @@
|
|
22 |
<?php do_action( 'groups_custom_group_fields_editable' ); ?>
|
23 |
|
24 |
<p>
|
25 |
-
<label for="group-notifiy-members">
|
26 |
-
|
27 |
-
|
28 |
</p>
|
29 |
|
30 |
<?php do_action( 'bp_after_group_details_admin' ); ?>
|
@@ -87,30 +87,30 @@
|
|
87 |
</label>
|
88 |
</div>
|
89 |
|
90 |
-
<hr />
|
|
|
|
|
91 |
|
92 |
-
<
|
93 |
|
94 |
-
<
|
|
|
|
|
|
|
|
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
<
|
99 |
-
<strong><?php _e( 'All group members', 'buddypress' ); ?></strong>
|
100 |
</label>
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
|
102 |
-
|
103 |
-
<input type="radio" name="group-invite-status" value="mods"<?php bp_group_show_invite_status_setting( 'mods' ); ?> />
|
104 |
-
<strong><?php _e( 'Group admins and mods only', 'buddypress' ); ?></strong>
|
105 |
-
</label>
|
106 |
-
|
107 |
-
<label>
|
108 |
-
<input type="radio" name="group-invite-status" value="admins"<?php bp_group_show_invite_status_setting( 'admins' ); ?> />
|
109 |
-
<strong><?php _e( 'Group admins only', 'buddypress' ); ?></strong>
|
110 |
-
</label>
|
111 |
-
</div>
|
112 |
-
|
113 |
-
<hr />
|
114 |
|
115 |
<?php do_action( 'bp_after_group_settings_admin' ); ?>
|
116 |
|
@@ -172,14 +172,14 @@
|
|
172 |
<?php if ( bp_is_group_admin_screen( 'manage-members' ) ) : ?>
|
173 |
|
174 |
<?php do_action( 'bp_before_group_manage_members_admin' ); ?>
|
175 |
-
|
176 |
<div class="bp-widget">
|
177 |
<h4><?php _e( 'Administrators', 'buddypress' ); ?></h4>
|
178 |
|
179 |
<?php if ( bp_has_members( '&include='. bp_group_admin_ids() ) ) : ?>
|
180 |
-
|
181 |
<ul id="admins-list" class="item-list single-line">
|
182 |
-
|
183 |
<?php while ( bp_members() ) : bp_the_member(); ?>
|
184 |
<li>
|
185 |
<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
|
@@ -188,26 +188,26 @@
|
|
188 |
<?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
|
189 |
<span class="small">
|
190 |
<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>
|
191 |
-
</span>
|
192 |
<?php endif; ?>
|
193 |
-
</h5>
|
194 |
</li>
|
195 |
<?php endwhile; ?>
|
196 |
-
|
197 |
</ul>
|
198 |
-
|
199 |
<?php endif; ?>
|
200 |
|
201 |
</div>
|
202 |
-
|
203 |
<?php if ( bp_group_has_moderators() ) : ?>
|
204 |
<div class="bp-widget">
|
205 |
-
<h4><?php _e( 'Moderators', 'buddypress' ); ?></h4>
|
206 |
-
|
207 |
<?php if ( bp_has_members( '&include=' . bp_group_mod_ids() ) ) : ?>
|
208 |
<ul id="mods-list" class="item-list single-line">
|
209 |
-
|
210 |
-
<?php while ( bp_members() ) : bp_the_member(); ?>
|
211 |
<li>
|
212 |
<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
|
213 |
<h5>
|
@@ -215,13 +215,13 @@
|
|
215 |
<span class="small">
|
216 |
<a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => bp_get_member_user_id() ) ); ?>" class="button confirm mod-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
|
217 |
<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>
|
218 |
-
</span>
|
219 |
-
</h5>
|
220 |
-
</li>
|
221 |
-
<?php endwhile; ?>
|
222 |
-
|
223 |
</ul>
|
224 |
-
|
225 |
<?php endif; ?>
|
226 |
</div>
|
227 |
<?php endif ?>
|
22 |
<?php do_action( 'groups_custom_group_fields_editable' ); ?>
|
23 |
|
24 |
<p>
|
25 |
+
<label for="group-notifiy-members"><?php _e( 'Notify group members of changes via email', 'buddypress' ); ?></label>
|
26 |
+
<input type="radio" name="group-notify-members" value="1" /> <?php _e( 'Yes', 'buddypress' ); ?>
|
27 |
+
<input type="radio" name="group-notify-members" value="0" checked="checked" /> <?php _e( 'No', 'buddypress' ); ?>
|
28 |
</p>
|
29 |
|
30 |
<?php do_action( 'bp_after_group_details_admin' ); ?>
|
87 |
</label>
|
88 |
</div>
|
89 |
|
90 |
+
<hr />
|
91 |
+
|
92 |
+
<h4><?php _e( 'Group Invitations', 'buddypress' ); ?></h4>
|
93 |
|
94 |
+
<p><?php _e( 'Which members of this group are allowed to invite others?', 'buddypress' ); ?></p>
|
95 |
|
96 |
+
<div class="radio">
|
97 |
+
<label>
|
98 |
+
<input type="radio" name="group-invite-status" value="members"<?php bp_group_show_invite_status_setting( 'members' ); ?> />
|
99 |
+
<strong><?php _e( 'All group members', 'buddypress' ); ?></strong>
|
100 |
+
</label>
|
101 |
|
102 |
+
<label>
|
103 |
+
<input type="radio" name="group-invite-status" value="mods"<?php bp_group_show_invite_status_setting( 'mods' ); ?> />
|
104 |
+
<strong><?php _e( 'Group admins and mods only', 'buddypress' ); ?></strong>
|
|
|
105 |
</label>
|
106 |
+
|
107 |
+
<label>
|
108 |
+
<input type="radio" name="group-invite-status" value="admins"<?php bp_group_show_invite_status_setting( 'admins' ); ?> />
|
109 |
+
<strong><?php _e( 'Group admins only', 'buddypress' ); ?></strong>
|
110 |
+
</label>
|
111 |
+
</div>
|
112 |
|
113 |
+
<hr />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
|
115 |
<?php do_action( 'bp_after_group_settings_admin' ); ?>
|
116 |
|
172 |
<?php if ( bp_is_group_admin_screen( 'manage-members' ) ) : ?>
|
173 |
|
174 |
<?php do_action( 'bp_before_group_manage_members_admin' ); ?>
|
175 |
+
|
176 |
<div class="bp-widget">
|
177 |
<h4><?php _e( 'Administrators', 'buddypress' ); ?></h4>
|
178 |
|
179 |
<?php if ( bp_has_members( '&include='. bp_group_admin_ids() ) ) : ?>
|
180 |
+
|
181 |
<ul id="admins-list" class="item-list single-line">
|
182 |
+
|
183 |
<?php while ( bp_members() ) : bp_the_member(); ?>
|
184 |
<li>
|
185 |
<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
|
188 |
<?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
|
189 |
<span class="small">
|
190 |
<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>
|
191 |
+
</span>
|
192 |
<?php endif; ?>
|
193 |
+
</h5>
|
194 |
</li>
|
195 |
<?php endwhile; ?>
|
196 |
+
|
197 |
</ul>
|
198 |
+
|
199 |
<?php endif; ?>
|
200 |
|
201 |
</div>
|
202 |
+
|
203 |
<?php if ( bp_group_has_moderators() ) : ?>
|
204 |
<div class="bp-widget">
|
205 |
+
<h4><?php _e( 'Moderators', 'buddypress' ); ?></h4>
|
206 |
+
|
207 |
<?php if ( bp_has_members( '&include=' . bp_group_mod_ids() ) ) : ?>
|
208 |
<ul id="mods-list" class="item-list single-line">
|
209 |
+
|
210 |
+
<?php while ( bp_members() ) : bp_the_member(); ?>
|
211 |
<li>
|
212 |
<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
|
213 |
<h5>
|
215 |
<span class="small">
|
216 |
<a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => bp_get_member_user_id() ) ); ?>" class="button confirm mod-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
|
217 |
<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>
|
218 |
+
</span>
|
219 |
+
</h5>
|
220 |
+
</li>
|
221 |
+
<?php endwhile; ?>
|
222 |
+
|
223 |
</ul>
|
224 |
+
|
225 |
<?php endif; ?>
|
226 |
</div>
|
227 |
<?php endif ?>
|
bp-templates/bp-legacy/buddypress/members/activate.php
CHANGED
@@ -13,7 +13,7 @@
|
|
13 |
<?php if ( isset( $_GET['e'] ) ) : ?>
|
14 |
<p><?php _e( 'Your account was activated successfully! Your account details have been sent to you in a separate email.', 'buddypress' ); ?></p>
|
15 |
<?php else : ?>
|
16 |
-
<p><?php
|
17 |
<?php endif; ?>
|
18 |
|
19 |
<?php else : ?>
|
13 |
<?php if ( isset( $_GET['e'] ) ) : ?>
|
14 |
<p><?php _e( 'Your account was activated successfully! Your account details have been sent to you in a separate email.', 'buddypress' ); ?></p>
|
15 |
<?php else : ?>
|
16 |
+
<p><?php _e( 'Your account was activated successfully! You can now log in with the username and password you provided when you signed up.', 'buddypress' ); ?></p>
|
17 |
<?php endif; ?>
|
18 |
|
19 |
<?php else : ?>
|
bp-templates/bp-legacy/buddypress/members/index.php
CHANGED
@@ -10,8 +10,6 @@
|
|
10 |
<?php bp_directory_members_search_form(); ?>
|
11 |
</div><!-- #members-dir-search -->
|
12 |
|
13 |
-
<?php do_action( 'bp_before_directory_members_tabs' ); ?>
|
14 |
-
|
15 |
<form action="" method="post" id="members-directory-form" class="dir-form">
|
16 |
|
17 |
<div class="item-list-tabs" role="navigation">
|
10 |
<?php bp_directory_members_search_form(); ?>
|
11 |
</div><!-- #members-dir-search -->
|
12 |
|
|
|
|
|
13 |
<form action="" method="post" id="members-directory-form" class="dir-form">
|
14 |
|
15 |
<div class="item-list-tabs" role="navigation">
|
bp-templates/bp-legacy/buddypress/members/register.php
CHANGED
@@ -69,7 +69,7 @@
|
|
69 |
<?php if ( 'textbox' == bp_get_the_profile_field_type() ) : ?>
|
70 |
|
71 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
72 |
-
<?php do_action(
|
73 |
<input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" />
|
74 |
|
75 |
<?php endif; ?>
|
@@ -77,7 +77,7 @@
|
|
77 |
<?php if ( 'textarea' == bp_get_the_profile_field_type() ) : ?>
|
78 |
|
79 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
80 |
-
<?php do_action(
|
81 |
<textarea rows="5" cols="40" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_edit_value(); ?></textarea>
|
82 |
|
83 |
<?php endif; ?>
|
@@ -85,7 +85,7 @@
|
|
85 |
<?php if ( 'selectbox' == bp_get_the_profile_field_type() ) : ?>
|
86 |
|
87 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
88 |
-
<?php do_action(
|
89 |
<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>">
|
90 |
<?php bp_the_profile_field_options(); ?>
|
91 |
</select>
|
@@ -95,7 +95,7 @@
|
|
95 |
<?php if ( 'multiselectbox' == bp_get_the_profile_field_type() ) : ?>
|
96 |
|
97 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
98 |
-
<?php do_action(
|
99 |
<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" multiple="multiple">
|
100 |
<?php bp_the_profile_field_options(); ?>
|
101 |
</select>
|
@@ -107,7 +107,7 @@
|
|
107 |
<div class="radio">
|
108 |
<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
|
109 |
|
110 |
-
<?php do_action(
|
111 |
<?php bp_the_profile_field_options(); ?>
|
112 |
|
113 |
<?php if ( !bp_get_the_profile_field_is_required() ) : ?>
|
@@ -122,7 +122,7 @@
|
|
122 |
<div class="checkbox">
|
123 |
<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
|
124 |
|
125 |
-
<?php do_action(
|
126 |
<?php bp_the_profile_field_options(); ?>
|
127 |
</div>
|
128 |
|
@@ -132,7 +132,7 @@
|
|
132 |
|
133 |
<div class="datebox">
|
134 |
<label for="<?php bp_the_profile_field_input_name(); ?>_day"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
135 |
-
<?php do_action(
|
136 |
|
137 |
<select name="<?php bp_the_profile_field_input_name(); ?>_day" id="<?php bp_the_profile_field_input_name(); ?>_day">
|
138 |
<?php bp_the_profile_field_options( 'type=day' ); ?>
|
@@ -210,7 +210,7 @@
|
|
210 |
<?php if ( is_subdomain_install() ) : ?>
|
211 |
http:// <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" /> .<?php bp_blogs_subdomain_base(); ?>
|
212 |
<?php else : ?>
|
213 |
-
<?php echo
|
214 |
<?php endif; ?>
|
215 |
|
216 |
<label for="signup_blog_title"><?php _e( 'Site Title', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
|
69 |
<?php if ( 'textbox' == bp_get_the_profile_field_type() ) : ?>
|
70 |
|
71 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
72 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
73 |
<input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" />
|
74 |
|
75 |
<?php endif; ?>
|
77 |
<?php if ( 'textarea' == bp_get_the_profile_field_type() ) : ?>
|
78 |
|
79 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
80 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
81 |
<textarea rows="5" cols="40" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_edit_value(); ?></textarea>
|
82 |
|
83 |
<?php endif; ?>
|
85 |
<?php if ( 'selectbox' == bp_get_the_profile_field_type() ) : ?>
|
86 |
|
87 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
88 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
89 |
<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>">
|
90 |
<?php bp_the_profile_field_options(); ?>
|
91 |
</select>
|
95 |
<?php if ( 'multiselectbox' == bp_get_the_profile_field_type() ) : ?>
|
96 |
|
97 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
98 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
99 |
<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" multiple="multiple">
|
100 |
<?php bp_the_profile_field_options(); ?>
|
101 |
</select>
|
107 |
<div class="radio">
|
108 |
<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
|
109 |
|
110 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
111 |
<?php bp_the_profile_field_options(); ?>
|
112 |
|
113 |
<?php if ( !bp_get_the_profile_field_is_required() ) : ?>
|
122 |
<div class="checkbox">
|
123 |
<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
|
124 |
|
125 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
126 |
<?php bp_the_profile_field_options(); ?>
|
127 |
</div>
|
128 |
|
132 |
|
133 |
<div class="datebox">
|
134 |
<label for="<?php bp_the_profile_field_input_name(); ?>_day"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
135 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
136 |
|
137 |
<select name="<?php bp_the_profile_field_input_name(); ?>_day" id="<?php bp_the_profile_field_input_name(); ?>_day">
|
138 |
<?php bp_the_profile_field_options( 'type=day' ); ?>
|
210 |
<?php if ( is_subdomain_install() ) : ?>
|
211 |
http:// <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" /> .<?php bp_blogs_subdomain_base(); ?>
|
212 |
<?php else : ?>
|
213 |
+
<?php echo site_url(); ?>/ <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" />
|
214 |
<?php endif; ?>
|
215 |
|
216 |
<label for="signup_blog_title"><?php _e( 'Site Title', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
|
bp-templates/bp-legacy/buddypress/members/single/home.php
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
</div>
|
21 |
</div><!-- #item-nav -->
|
22 |
|
23 |
-
<div id="item-body"
|
24 |
|
25 |
<?php do_action( 'bp_before_member_body' );
|
26 |
|
20 |
</div>
|
21 |
</div><!-- #item-nav -->
|
22 |
|
23 |
+
<div id="item-body">
|
24 |
|
25 |
<?php do_action( 'bp_before_member_body' );
|
26 |
|
bp-templates/bp-legacy/buddypress/members/single/member-header.php
CHANGED
@@ -21,10 +21,7 @@
|
|
21 |
|
22 |
<div id="item-header-content">
|
23 |
|
24 |
-
|
25 |
-
<h2 class="user-nicename">@<?php bp_displayed_user_username(); ?></h2>
|
26 |
-
<?php endif; ?>
|
27 |
-
|
28 |
<span class="activity"><?php bp_last_activity( bp_displayed_user_id() ); ?></span>
|
29 |
|
30 |
<?php do_action( 'bp_before_member_header_meta' ); ?>
|
21 |
|
22 |
<div id="item-header-content">
|
23 |
|
24 |
+
<h2 class="user-nicename">@<?php bp_displayed_user_username(); ?></h2>
|
|
|
|
|
|
|
25 |
<span class="activity"><?php bp_last_activity( bp_displayed_user_id() ); ?></span>
|
26 |
|
27 |
<?php do_action( 'bp_before_member_header_meta' ); ?>
|
bp-templates/bp-legacy/buddypress/members/single/profile.php
CHANGED
@@ -9,11 +9,17 @@
|
|
9 |
|
10 |
?>
|
11 |
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
<?php do_action( 'bp_before_profile_content' ); ?>
|
19 |
|
9 |
|
10 |
?>
|
11 |
|
12 |
+
<?php if ( bp_is_my_profile() ) : ?>
|
13 |
+
|
14 |
+
<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
|
15 |
+
<ul>
|
16 |
+
|
17 |
+
<?php bp_get_options_nav(); ?>
|
18 |
+
|
19 |
+
</ul>
|
20 |
+
</div><!-- .item-list-tabs -->
|
21 |
+
|
22 |
+
<?php endif; ?>
|
23 |
|
24 |
<?php do_action( 'bp_before_profile_content' ); ?>
|
25 |
|
bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php
CHANGED
@@ -1,22 +1,34 @@
|
|
1 |
-
|
2 |
|
3 |
-
|
4 |
|
5 |
-
|
6 |
|
7 |
-
|
8 |
-
<input type="checkbox" name="user-spammer" id="user-spammer" value="1" <?php checked( bp_is_user_spammer( bp_displayed_user_id() ) ); ?> />
|
9 |
-
<?php _e( 'This user is a spammer.', 'buddypress' ); ?>
|
10 |
-
</label>
|
11 |
|
12 |
-
|
13 |
-
<input type="submit" value="<?php _e( 'Save', 'buddypress' ); ?>" id="capabilities-submit" name="capabilities-submit" />
|
14 |
-
</div>
|
15 |
|
16 |
-
|
17 |
|
18 |
-
|
|
|
|
|
|
|
19 |
|
20 |
-
|
|
|
|
|
21 |
|
22 |
-
<?php do_action( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="buddypress">
|
2 |
|
3 |
+
<?php do_action( 'bp_before_member_settings_template' ); ?>
|
4 |
|
5 |
+
<div id="item-body" role="main">
|
6 |
|
7 |
+
<?php do_action( 'bp_before_member_body' ); ?>
|
|
|
|
|
|
|
8 |
|
9 |
+
<form action="<?php echo bp_displayed_user_domain() . bp_get_settings_slug() . '/capabilities/'; ?>" name="account-capabilities-form" id="account-capabilities-form" class="standard-form" method="post">
|
|
|
|
|
10 |
|
11 |
+
<?php do_action( 'bp_members_capabilities_account_before_submit' ); ?>
|
12 |
|
13 |
+
<label>
|
14 |
+
<input type="checkbox" name="user-spammer" id="user-spammer" value="1" <?php checked( bp_is_user_spammer( bp_displayed_user_id() ) ); ?> />
|
15 |
+
<?php _e( 'This user is a spammer.', 'buddypress' ); ?>
|
16 |
+
</label>
|
17 |
|
18 |
+
<div class="submit">
|
19 |
+
<input type="submit" value="<?php _e( 'Save', 'buddypress' ); ?>" id="capabilities-submit" name="capabilities-submit" />
|
20 |
+
</div>
|
21 |
|
22 |
+
<?php do_action( 'bp_members_capabilities_account_after_submit' ); ?>
|
23 |
+
|
24 |
+
<?php wp_nonce_field( 'capabilities' ); ?>
|
25 |
+
|
26 |
+
</form>
|
27 |
+
|
28 |
+
<?php do_action( 'bp_after_member_body' ); ?>
|
29 |
+
|
30 |
+
</div><!-- #item-body -->
|
31 |
+
|
32 |
+
<?php do_action( 'bp_after_member_settings_template' ); ?>
|
33 |
+
|
34 |
+
</div><!-- #buddypress -->
|
bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php
CHANGED
@@ -1,36 +1,48 @@
|
|
1 |
-
|
2 |
|
3 |
-
|
4 |
|
5 |
-
|
6 |
|
7 |
-
|
8 |
|
9 |
-
|
10 |
|
11 |
-
|
12 |
|
13 |
-
|
14 |
|
15 |
-
|
16 |
|
17 |
-
<
|
18 |
|
19 |
-
|
20 |
|
21 |
-
|
22 |
-
<input type="checkbox" name="delete-account-understand" id="delete-account-understand" value="1" onclick="if(this.checked) { document.getElementById('delete-account-button').disabled = ''; } else { document.getElementById('delete-account-button').disabled = 'disabled'; }" />
|
23 |
-
<?php _e( 'I understand the consequences.', 'buddypress' ); ?>
|
24 |
-
</label>
|
25 |
|
26 |
-
|
27 |
-
<input type="submit" disabled="disabled" value="<?php _e( 'Delete Account', 'buddypress' ); ?>" id="delete-account-button" name="delete-account-button" />
|
28 |
-
</div>
|
29 |
|
30 |
-
|
31 |
|
32 |
-
|
|
|
|
|
|
|
33 |
|
34 |
-
|
|
|
|
|
35 |
|
36 |
-
<?php do_action( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="buddypress">
|
2 |
|
3 |
+
<?php do_action( 'bp_before_member_settings_template' ); ?>
|
4 |
|
5 |
+
<div id="item-body" role="main">
|
6 |
|
7 |
+
<?php do_action( 'bp_before_member_body' ); ?>
|
8 |
|
9 |
+
<div id="message" class="info">
|
10 |
|
11 |
+
<?php if ( bp_is_my_profile() ) : ?>
|
12 |
|
13 |
+
<p><?php _e( 'Deleting your account will delete all of the content you have created. It will be completely irrecoverable.', 'buddypress' ); ?></p>
|
14 |
|
15 |
+
<?php else : ?>
|
16 |
|
17 |
+
<p><?php _e( 'Deleting this account will delete all of the content it has created. It will be completely irrecoverable.', 'buddypress' ); ?></p>
|
18 |
|
19 |
+
<?php endif; ?>
|
20 |
|
21 |
+
</div>
|
|
|
|
|
|
|
22 |
|
23 |
+
<form action="<?php echo bp_displayed_user_domain() . bp_get_settings_slug() . '/delete-account'; ?>" name="account-delete-form" id="account-delete-form" class="standard-form" method="post">
|
|
|
|
|
24 |
|
25 |
+
<?php do_action( 'bp_members_delete_account_before_submit' ); ?>
|
26 |
|
27 |
+
<label>
|
28 |
+
<input type="checkbox" name="delete-account-understand" id="delete-account-understand" value="1" onclick="if(this.checked) { document.getElementById('delete-account-button').disabled = ''; } else { document.getElementById('delete-account-button').disabled = 'disabled'; }" />
|
29 |
+
<?php _e( 'I understand the consequences.', 'buddypress' ); ?>
|
30 |
+
</label>
|
31 |
|
32 |
+
<div class="submit">
|
33 |
+
<input type="submit" disabled="disabled" value="<?php _e( 'Delete Account', 'buddypress' ); ?>" id="delete-account-button" name="delete-account-button" />
|
34 |
+
</div>
|
35 |
|
36 |
+
<?php do_action( 'bp_members_delete_account_after_submit' ); ?>
|
37 |
+
|
38 |
+
<?php wp_nonce_field( 'delete-account' ); ?>
|
39 |
+
|
40 |
+
</form>
|
41 |
+
|
42 |
+
<?php do_action( 'bp_after_member_body' ); ?>
|
43 |
+
|
44 |
+
</div><!-- #item-body -->
|
45 |
+
|
46 |
+
<?php do_action( 'bp_after_member_settings_template' ); ?>
|
47 |
+
|
48 |
+
</div><!-- #buddypress -->
|
bp-templates/bp-legacy/buddypress/members/single/settings/general.php
CHANGED
@@ -1,31 +1,45 @@
|
|
1 |
-
|
2 |
|
3 |
-
|
4 |
|
5 |
-
|
6 |
|
7 |
-
|
8 |
-
<input type="password" name="pwd" id="pwd" size="16" value="" class="settings-input small" /> <a href="<?php echo wp_lostpassword_url(); ?>" title="<?php _e( 'Password Lost and Found', 'buddypress' ); ?>"><?php _e( 'Lost your password?', 'buddypress' ); ?></a>
|
9 |
|
10 |
-
|
11 |
|
12 |
-
|
13 |
-
<input type="text" name="email" id="email" value="<?php echo bp_get_displayed_user_email(); ?>" class="settings-input" />
|
14 |
|
15 |
-
|
16 |
-
<input type="password" name="pass1" id="pass1" size="16" value="" class="settings-input small" /> <?php _e( 'New Password', 'buddypress' ); ?><br />
|
17 |
-
<input type="password" name="pass2" id="pass2" size="16" value="" class="settings-input small" /> <?php _e( 'Repeat New Password', 'buddypress' ); ?>
|
18 |
|
19 |
-
|
|
|
20 |
|
21 |
-
|
22 |
-
<input type="submit" name="submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" id="submit" class="auto" />
|
23 |
-
</div>
|
24 |
|
25 |
-
|
|
|
26 |
|
27 |
-
|
|
|
|
|
28 |
|
29 |
-
|
30 |
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="buddypress">
|
2 |
|
3 |
+
<?php do_action( 'bp_before_member_settings_template' ); ?>
|
4 |
|
5 |
+
<div id="item-body" role="main">
|
6 |
|
7 |
+
<?php do_action( 'bp_before_member_body' ); ?>
|
|
|
8 |
|
9 |
+
<?php do_action( 'bp_template_content' ); ?>
|
10 |
|
11 |
+
<form action="<?php echo bp_displayed_user_domain() . bp_get_settings_slug() . '/general'; ?>" method="post" class="standard-form" id="settings-form">
|
|
|
12 |
|
13 |
+
<?php if ( !is_super_admin() ) : ?>
|
|
|
|
|
14 |
|
15 |
+
<label for="pwd"><?php _e( 'Current Password <span>(required to update email or change current password)</span>', 'buddypress' ); ?></label>
|
16 |
+
<input type="password" name="pwd" id="pwd" size="16" value="" class="settings-input small" /> <a href="<?php echo site_url( add_query_arg( array( 'action' => 'lostpassword' ), 'wp-login.php' ), 'login' ); ?>" title="<?php _e( 'Password Lost and Found', 'buddypress' ); ?>"><?php _e( 'Lost your password?', 'buddypress' ); ?></a>
|
17 |
|
18 |
+
<?php endif; ?>
|
|
|
|
|
19 |
|
20 |
+
<label for="email"><?php _e( 'Account Email', 'buddypress' ); ?></label>
|
21 |
+
<input type="text" name="email" id="email" value="<?php echo bp_get_displayed_user_email(); ?>" class="settings-input" />
|
22 |
|
23 |
+
<label for="pass1"><?php _e( 'Change Password <span>(leave blank for no change)</span>', 'buddypress' ); ?></label>
|
24 |
+
<input type="password" name="pass1" id="pass1" size="16" value="" class="settings-input small" /> <?php _e( 'New Password', 'buddypress' ); ?><br />
|
25 |
+
<input type="password" name="pass2" id="pass2" size="16" value="" class="settings-input small" /> <?php _e( 'Repeat New Password', 'buddypress' ); ?>
|
26 |
|
27 |
+
<?php do_action( 'bp_core_general_settings_before_submit' ); ?>
|
28 |
|
29 |
+
<div class="submit">
|
30 |
+
<input type="submit" name="submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" id="submit" class="auto" />
|
31 |
+
</div>
|
32 |
+
|
33 |
+
<?php do_action( 'bp_core_general_settings_after_submit' ); ?>
|
34 |
+
|
35 |
+
<?php wp_nonce_field( 'bp_settings_general' ); ?>
|
36 |
+
|
37 |
+
</form>
|
38 |
+
|
39 |
+
<?php do_action( 'bp_after_member_body' ); ?>
|
40 |
+
|
41 |
+
</div><!-- #item-body -->
|
42 |
+
|
43 |
+
<?php do_action( 'bp_after_member_settings_template' ); ?>
|
44 |
+
|
45 |
+
</div><!-- #buddypress -->
|
bp-templates/bp-legacy/buddypress/members/single/settings/notifications.php
CHANGED
@@ -1,20 +1,34 @@
|
|
1 |
-
|
2 |
|
3 |
-
|
4 |
-
<p><?php _e( 'Send a notification by email when:', 'buddypress' ); ?></p>
|
5 |
|
6 |
-
|
7 |
|
8 |
-
|
9 |
|
10 |
-
|
11 |
-
<input type="submit" name="submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" id="submit" class="auto" />
|
12 |
-
</div>
|
13 |
|
14 |
-
|
|
|
15 |
|
16 |
-
|
17 |
|
18 |
-
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="buddypress">
|
2 |
|
3 |
+
<?php do_action( 'bp_before_member_settings_template' ); ?>
|
|
|
4 |
|
5 |
+
<div id="item-body" role="main">
|
6 |
|
7 |
+
<?php do_action( 'bp_before_member_body' ); ?>
|
8 |
|
9 |
+
<?php do_action( 'bp_template_content' ); ?>
|
|
|
|
|
10 |
|
11 |
+
<form action="<?php echo bp_displayed_user_domain() . bp_get_settings_slug() . '/notifications'; ?>" method="post" class="standard-form" id="settings-form">
|
12 |
+
<p><?php _e( 'Send a notification by email when:', 'buddypress' ); ?></p>
|
13 |
|
14 |
+
<?php do_action( 'bp_notification_settings' ); ?>
|
15 |
|
16 |
+
<?php do_action( 'bp_members_notification_settings_before_submit' ); ?>
|
17 |
|
18 |
+
<div class="submit">
|
19 |
+
<input type="submit" name="submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" id="submit" class="auto" />
|
20 |
+
</div>
|
21 |
+
|
22 |
+
<?php do_action( 'bp_members_notification_settings_after_submit' ); ?>
|
23 |
+
|
24 |
+
<?php wp_nonce_field('bp_settings_notifications' ); ?>
|
25 |
+
|
26 |
+
</form>
|
27 |
+
|
28 |
+
<?php do_action( 'bp_after_member_body' ); ?>
|
29 |
+
|
30 |
+
</div><!-- #item-body -->
|
31 |
+
|
32 |
+
<?php do_action( 'bp_after_member_settings_template' ); ?>
|
33 |
+
|
34 |
+
</div><!-- #buddypress -->
|
bp-templates/bp-legacy/css/buddypress-rtl.css
CHANGED
@@ -1,38 +1,39 @@
|
|
1 |
/*--------------------------------------------------------------
|
2 |
-
Hello, this is the BuddyPress Legacy stylesheet.
|
3 |
|
4 |
----------------------------------------------------------------
|
5 |
>>> TABLE OF CONTENTS:
|
6 |
----------------------------------------------------------------
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
3
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
3
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
29 |
--------------------------------------------------------------*/
|
30 |
|
31 |
/*--------------------------------------------------------------
|
32 |
-
1 -
|
33 |
-
--------------------------------------------------------------*/
|
34 |
-
/*--------------------------------------------------------------
|
35 |
-
1.1 - Pagination
|
36 |
--------------------------------------------------------------*/
|
37 |
#buddypress div.pagination {
|
38 |
background: transparent;
|
@@ -71,11 +72,9 @@ Hello, this is the BuddyPress Legacy stylesheet.
|
|
71 |
#buddypress .paged #nav-above {
|
72 |
display: block;
|
73 |
}
|
|
|
74 |
/*--------------------------------------------------------------
|
75 |
-
|
76 |
-
--------------------------------------------------------------*/
|
77 |
-
/*--------------------------------------------------------------
|
78 |
-
2.1 - Images
|
79 |
--------------------------------------------------------------*/
|
80 |
#buddypress img.wp-smiley {
|
81 |
border: none !important;
|
@@ -86,10 +85,10 @@ Hello, this is the BuddyPress Legacy stylesheet.
|
|
86 |
}
|
87 |
|
88 |
/*--------------------------------------------------------------
|
89 |
-
|
90 |
--------------------------------------------------------------*/
|
91 |
/*--------------------------------------------------------------
|
92 |
-
|
93 |
--------------------------------------------------------------*/
|
94 |
#buddypress #activity-stream {
|
95 |
margin-top: -5px;
|
@@ -112,7 +111,7 @@ Hello, this is the BuddyPress Legacy stylesheet.
|
|
112 |
}
|
113 |
#buddypress form#whats-new-form #whats-new-content {
|
114 |
margin-right: 55px;
|
115 |
-
padding: 0
|
116 |
}
|
117 |
#buddypress form#whats-new-form p.activity-greeting {
|
118 |
line-height: 0.5em;
|
@@ -121,6 +120,10 @@ Hello, this is the BuddyPress Legacy stylesheet.
|
|
121 |
}
|
122 |
#buddypress form#whats-new-form textarea {
|
123 |
background: #fff;
|
|
|
|
|
|
|
|
|
124 |
color: #555;
|
125 |
font-family: inherit;
|
126 |
font-size: 90%;
|
@@ -149,10 +152,13 @@ body.no-js #buddypress #whats-new-options {
|
|
149 |
#buddypress #whats-new:focus {
|
150 |
border-color: rgba(31, 179, 221, 0.9) !important;
|
151 |
outline-color: rgba(31, 179, 221, 0.9);
|
|
|
|
|
|
|
152 |
}
|
153 |
|
154 |
/*--------------------------------------------------------------
|
155 |
-
|
156 |
--------------------------------------------------------------*/
|
157 |
#buddypress ul.activity-list li {
|
158 |
overflow: hidden;
|
@@ -263,7 +269,7 @@ body.activity-permalink #buddypress .activity-list li .activity-header > p {
|
|
263 |
}
|
264 |
#buddypress .activity-list li.new_forum_post .activity-content .activity-inner,
|
265 |
#buddypress .activity-list li.new_forum_topic .activity-content .activity-inner {
|
266 |
-
border-
|
267 |
margin-right: 5px;
|
268 |
padding-right: 10px;
|
269 |
}
|
@@ -303,7 +309,7 @@ body.activity-permalink #buddypress .activity-content blockquote {
|
|
303 |
|
304 |
|
305 |
/*--------------------------------------------------------------
|
306 |
-
|
307 |
--------------------------------------------------------------*/
|
308 |
#buddypress div.activity-meta {
|
309 |
margin: 18px 0 0;
|
@@ -312,6 +318,7 @@ body.activity-permalink #buddypress div.activity-meta {
|
|
312 |
margin-bottom: 6px;
|
313 |
}
|
314 |
#buddypress div.activity-meta a {
|
|
|
315 |
padding: 4px 8px;
|
316 |
}
|
317 |
#buddypress a.activity-time-since {
|
@@ -331,6 +338,7 @@ body.activity-permalink #buddypress div.activity-meta {
|
|
331 |
#buddypress a.bp-primary-action span,
|
332 |
#buddypress #reply-title small a span {
|
333 |
background: #999;
|
|
|
334 |
color: #fff;
|
335 |
font-size: 90%;
|
336 |
margin-right: 2px;
|
@@ -435,6 +443,7 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
435 |
#buddypress div.activity-comments form .ac-textarea {
|
436 |
background: #fff;
|
437 |
border: 1px inset #ccc;
|
|
|
438 |
margin-bottom: 10px;
|
439 |
padding: 8px;
|
440 |
}
|
@@ -480,7 +489,7 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
480 |
}
|
481 |
|
482 |
/*--------------------------------------------------------------
|
483 |
-
|
484 |
--------------------------------------------------------------*/
|
485 |
#buddypress div.dir-search {
|
486 |
float: left;
|
@@ -496,7 +505,7 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
496 |
}
|
497 |
|
498 |
/*--------------------------------------------------------------
|
499 |
-
|
500 |
--------------------------------------------------------------*/
|
501 |
#buddypress div#message {
|
502 |
margin: 0 0 15px;
|
@@ -514,19 +523,22 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
514 |
padding: 10px 15px;
|
515 |
}
|
516 |
#buddypress div#message.error p {
|
517 |
-
background-color: #
|
518 |
-
border:
|
519 |
clear: right;
|
520 |
-
color: #
|
521 |
}
|
522 |
#buddypress div#message.updated p {
|
523 |
-
background-color: #
|
524 |
-
border:
|
525 |
-
color: #
|
526 |
}
|
527 |
#buddypress .standard-form#signup_form div div.error {
|
528 |
-
background: #
|
529 |
-
|
|
|
|
|
|
|
530 |
margin: 0 0 10px 0;
|
531 |
padding: 6px;
|
532 |
width: 90%;
|
@@ -545,7 +557,7 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
545 |
font-weight: bold;
|
546 |
}
|
547 |
#sitewide-notice #message {
|
548 |
-
|
549 |
position: fixed;
|
550 |
top: 1em;
|
551 |
width: 96%;
|
@@ -560,31 +572,15 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
560 |
}
|
561 |
|
562 |
/*--------------------------------------------------------------
|
563 |
-
|
564 |
--------------------------------------------------------------*/
|
565 |
#buddypress .standard-form textarea,
|
566 |
#buddypress .standard-form input[type=text],
|
567 |
-
#buddypress .standard-form input[type=text],
|
568 |
-
#buddypress .standard-form input[type=color],
|
569 |
-
#buddypress .standard-form input[type=date],
|
570 |
-
#buddypress .standard-form input[type=datetime],
|
571 |
-
#buddypress .standard-form input[type=datetime-local],
|
572 |
-
#buddypress .standard-form input[type=email],
|
573 |
-
#buddypress .standard-form input[type=month],
|
574 |
-
#buddypress .standard-form input[type=number],
|
575 |
-
#buddypress .standard-form input[type=range],
|
576 |
-
#buddypress .standard-form input[type=search],
|
577 |
-
#buddypress .standard-form input[type=tel],
|
578 |
-
#buddypress .standard-form input[type=time],
|
579 |
-
#buddypress .standard-form input[type=url],
|
580 |
-
#buddypress .standard-form input[type=week],
|
581 |
#buddypress .standard-form select,
|
582 |
#buddypress .standard-form input[type=password],
|
583 |
-
#buddypress .dir-search input[type=search],
|
584 |
#buddypress .dir-search input[type=text] {
|
585 |
-
border: 1px
|
586 |
-
|
587 |
-
border-radius: 0;
|
588 |
color: #888;
|
589 |
font: inherit;
|
590 |
font-size: 100%;
|
@@ -714,14 +710,25 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
714 |
#buddypress .comment-reply-link,
|
715 |
a.bp-title-button {
|
716 |
background: #fff; /* Old browsers */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
717 |
border: 1px solid #ccc;
|
|
|
|
|
|
|
718 |
color: #777;
|
719 |
-
font-size: .8rem;
|
720 |
cursor: pointer;
|
|
|
721 |
outline: none;
|
722 |
padding: 4px 10px;
|
723 |
text-align: center;
|
724 |
text-decoration: none;
|
|
|
725 |
}
|
726 |
#buddypress button:hover,
|
727 |
#buddypress a.button:hover,
|
@@ -734,45 +741,30 @@ a.bp-title-button {
|
|
734 |
#buddypress div.generic-button a:hover,
|
735 |
#buddypress .comment-reply-link:hover {
|
736 |
background: #ededed;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
737 |
border: 1px solid #bbb;
|
738 |
color: #555;
|
739 |
outline: none;
|
740 |
text-decoration: none;
|
741 |
}
|
742 |
|
743 |
-
#buddypress form.standard-form .right-menu {
|
744 |
-
float: right;
|
745 |
-
}
|
746 |
-
|
747 |
-
#buddypress form.standard-form .right-menu #invite-list ul{
|
748 |
-
margin: 1%;
|
749 |
-
list-style: none;
|
750 |
-
}
|
751 |
-
|
752 |
-
#buddypress form.standard-form .right-menu #invite-list ul li {
|
753 |
-
margin: 0 1% 0 0;
|
754 |
-
}
|
755 |
-
|
756 |
-
#buddypress form.standard-form .main-column {
|
757 |
-
margin-right: 190px;
|
758 |
-
}
|
759 |
-
|
760 |
-
#buddypress form.standard-form .main-column ul#friend-list {
|
761 |
-
clear:none;
|
762 |
-
}
|
763 |
-
|
764 |
-
#buddypress form.standard-form .main-column ul#friend-list h4 {
|
765 |
-
clear:none;
|
766 |
-
}
|
767 |
-
|
768 |
/*--------------------------------------------------------------
|
769 |
-
|
770 |
--------------------------------------------------------------*/
|
771 |
#buddypress a.loading,
|
772 |
#buddypress input.loading {
|
773 |
-webkit-animation: loader-pulsate .5s infinite ease-in-out alternate;
|
774 |
-moz-animation: loader-pulsate .5s infinite ease-in-out alternate;
|
775 |
border-color: #aaa;
|
|
|
|
|
|
|
776 |
}
|
777 |
@-webkit-keyframes loader-pulsate {
|
778 |
from {
|
@@ -827,12 +819,19 @@ a.bp-title-button {
|
|
827 |
#buddypress button.disabled:hover,
|
828 |
#buddypress div.pending a:hover,
|
829 |
#buddypress a.disabled:hover {
|
830 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
831 |
color: #bbb;
|
832 |
}
|
833 |
|
834 |
/*--------------------------------------------------------------
|
835 |
-
|
836 |
--------------------------------------------------------------*/
|
837 |
#buddypress ul#topic-post-list {
|
838 |
margin: 0;
|
@@ -860,7 +859,7 @@ a.bp-title-button {
|
|
860 |
font-size: 80%;
|
861 |
position: absolute;
|
862 |
top: 15px;
|
863 |
-
|
864 |
}
|
865 |
#buddypress div#topic-meta {
|
866 |
margin: 0;
|
@@ -868,7 +867,7 @@ a.bp-title-button {
|
|
868 |
position: relative;
|
869 |
}
|
870 |
#buddypress div#topic-meta div.admin-links {
|
871 |
-
|
872 |
top: -36px;
|
873 |
}
|
874 |
#buddypress div#topic-meta h3 {
|
@@ -908,7 +907,7 @@ a.bp-title-button {
|
|
908 |
vertical-align: middle;
|
909 |
}
|
910 |
#buddypress table tr td.label {
|
911 |
-
border-
|
912 |
font-weight: bold;
|
913 |
width: 25%;
|
914 |
}
|
@@ -1012,7 +1011,7 @@ a.bp-title-button {
|
|
1012 |
}
|
1013 |
|
1014 |
/*-------------------------------------------------------------------------
|
1015 |
-
|
1016 |
-------------------------------------------------------------------------*/
|
1017 |
#buddypress .item-body {
|
1018 |
margin: 20px 0;
|
@@ -1031,10 +1030,20 @@ a.bp-title-button {
|
|
1031 |
}
|
1032 |
#buddypress div#message p,
|
1033 |
#sitewide-notice p {
|
|
|
|
|
|
|
|
|
1034 |
font-weight: normal;
|
1035 |
margin-top: 3px;
|
1036 |
text-decoration: none;
|
1037 |
-
background: #
|
|
|
|
|
|
|
|
|
|
|
|
|
1038 |
}
|
1039 |
#buddypress div#item-header {
|
1040 |
overflow: hidden;
|
@@ -1067,6 +1076,9 @@ a.bp-title-button {
|
|
1067 |
}
|
1068 |
#buddypress div#item-header h2 span.highlight span {
|
1069 |
background: #a1dcfa;
|
|
|
|
|
|
|
1070 |
color: #fff;
|
1071 |
cursor: pointer;
|
1072 |
font-weight: bold;
|
@@ -1074,7 +1086,7 @@ a.bp-title-button {
|
|
1074 |
margin-bottom: 2px;
|
1075 |
padding: 1px 4px;
|
1076 |
position: relative;
|
1077 |
-
|
1078 |
top: -2px;
|
1079 |
vertical-align: middle;
|
1080 |
}
|
@@ -1167,7 +1179,7 @@ body.activity-permalink #buddypress ul.item-list li.activity-item {
|
|
1167 |
#buddypress ul.item-list li div.action {
|
1168 |
position: absolute;
|
1169 |
top: 15px;
|
1170 |
-
|
1171 |
text-align: left;
|
1172 |
}
|
1173 |
#buddypress ul.item-list li div.meta {
|
@@ -1262,7 +1274,7 @@ body.activity-permalink #buddypress ul.item-list li.activity-item {
|
|
1262 |
|
1263 |
|
1264 |
/*--------------------------------------------------------------
|
1265 |
-
|
1266 |
--------------------------------------------------------------*/
|
1267 |
#buddypress table#message-threads tr.unread td {
|
1268 |
background: #fff9db;
|
@@ -1273,6 +1285,7 @@ body.activity-permalink #buddypress ul.item-list li.activity-item {
|
|
1273 |
#buddypress li span.unread-count,
|
1274 |
#buddypress tr.unread span.unread-count {
|
1275 |
background: #dd0000;
|
|
|
1276 |
color: #fff;
|
1277 |
font-weight: bold;
|
1278 |
padding: 2px 8px;
|
@@ -1300,7 +1313,7 @@ body.activity-permalink #buddypress ul.item-list li.activity-item {
|
|
1300 |
}
|
1301 |
#buddypress div#message-thread img.avatar {
|
1302 |
float: right;
|
1303 |
-
margin: 0
|
1304 |
vertical-align: middle;
|
1305 |
}
|
1306 |
#buddypress div#message-thread strong {
|
@@ -1331,7 +1344,7 @@ body.activity-permalink #buddypress ul.item-list li.activity-item {
|
|
1331 |
}
|
1332 |
|
1333 |
/*--------------------------------------------------------------
|
1334 |
-
|
1335 |
--------------------------------------------------------------*/
|
1336 |
|
1337 |
#buddypress div.profile h4 {
|
@@ -1378,7 +1391,7 @@ body.register #buddypress div.page ul {
|
|
1378 |
}
|
1379 |
|
1380 |
/*--------------------------------------------------------------
|
1381 |
-
|
1382 |
--------------------------------------------------------------*/
|
1383 |
|
1384 |
.widget.buddypress div.item-avatar img.avatar {
|
@@ -1425,10 +1438,10 @@ body.register #buddypress div.page ul {
|
|
1425 |
}
|
1426 |
|
1427 |
/*--------------------------------------------------------------
|
1428 |
-
|
1429 |
--------------------------------------------------------------*/
|
1430 |
/*--------------------------------------------------------------
|
1431 |
-
|
1432 |
--------------------------------------------------------------*/
|
1433 |
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
|
1434 |
-webkit-text-size-adjust: none;
|
@@ -1446,17 +1459,10 @@ body.register #buddypress div.page ul {
|
|
1446 |
a.bp-title-button {
|
1447 |
margin-right: 10px;
|
1448 |
}
|
1449 |
-
#buddypress form.standard-form .main-column div.action{
|
1450 |
-
position: relative;
|
1451 |
-
margin-bottom:1em;
|
1452 |
-
}
|
1453 |
-
#buddypress form.standard-form .main-column ul#friend-list h4{
|
1454 |
-
width:100%;
|
1455 |
-
}
|
1456 |
}
|
1457 |
|
1458 |
/*--------------------------------------------------------------
|
1459 |
-
|
1460 |
--------------------------------------------------------------*/
|
1461 |
@media only screen and (max-width: 320px) {
|
1462 |
#buddypress div.dir-search {
|
@@ -1476,7 +1482,7 @@ body.register #buddypress div.page ul {
|
|
1476 |
margin-right: 70px;
|
1477 |
position: relative;
|
1478 |
top: 0;
|
1479 |
-
|
1480 |
text-align: right;
|
1481 |
}
|
1482 |
#buddypress ul.item-list li div.item-desc {
|
@@ -1501,7 +1507,7 @@ body.register #buddypress div.page ul {
|
|
1501 |
}
|
1502 |
|
1503 |
/*--------------------------------------------------------------
|
1504 |
-
|
1505 |
--------------------------------------------------------------*/
|
1506 |
@media only screen and (max-width: 240px) {
|
1507 |
#buddypress div.dir-search {
|
@@ -1527,4 +1533,4 @@ body.register #buddypress div.page ul {
|
|
1527 |
float: right;
|
1528 |
margin: 10px 0 20px;
|
1529 |
}
|
1530 |
-
}
|
1 |
/*--------------------------------------------------------------
|
2 |
+
Hello, this is the BuddyPress Legacy (RTL) stylesheet.
|
3 |
|
4 |
----------------------------------------------------------------
|
5 |
>>> TABLE OF CONTENTS:
|
6 |
----------------------------------------------------------------
|
7 |
+
4.0 - Navigation
|
8 |
+
4.1 - Pagination
|
9 |
+
5.0 - WordPress
|
10 |
+
5.1 - Alignments
|
11 |
+
5.2 - Comments
|
12 |
+
5.3 - Gallery
|
13 |
+
5.4 - Images
|
14 |
+
5.5 - Posts
|
15 |
+
6.0 - BuddyPress
|
16 |
+
6.1 - Activity
|
17 |
+
6.1.1 - Activity Listing
|
18 |
+
6.1.2 - Activity Comments
|
19 |
+
6.2 - Toolbar
|
20 |
+
6.3 - Directories - Members, Groups, Blogs, Forums
|
21 |
+
6.4 - Error / Success Messages
|
22 |
+
6.5 - Forms
|
23 |
+
6.6 - Ajax Loading
|
24 |
+
6.7 - Topics and Tables - Forums and General
|
25 |
+
6.8 - Headers, Lists and Tabs - Activity, Groups, Blogs, Forums
|
26 |
+
6.9 - Private Messaging Threads
|
27 |
+
6.10 - Extended Profiles
|
28 |
+
6.11 - Widgets
|
29 |
+
7.0 - Media Queries
|
30 |
+
7.1 - Smartphones Landscape
|
31 |
+
7.2 - Smartphones Portrait
|
32 |
+
7.3 - Smartphones - smaller screen sizes
|
33 |
--------------------------------------------------------------*/
|
34 |
|
35 |
/*--------------------------------------------------------------
|
36 |
+
4.1 - Pagination
|
|
|
|
|
|
|
37 |
--------------------------------------------------------------*/
|
38 |
#buddypress div.pagination {
|
39 |
background: transparent;
|
72 |
#buddypress .paged #nav-above {
|
73 |
display: block;
|
74 |
}
|
75 |
+
|
76 |
/*--------------------------------------------------------------
|
77 |
+
5.4 - Images
|
|
|
|
|
|
|
78 |
--------------------------------------------------------------*/
|
79 |
#buddypress img.wp-smiley {
|
80 |
border: none !important;
|
85 |
}
|
86 |
|
87 |
/*--------------------------------------------------------------
|
88 |
+
6.0 - BuddyPress
|
89 |
--------------------------------------------------------------*/
|
90 |
/*--------------------------------------------------------------
|
91 |
+
6.1 - Activity
|
92 |
--------------------------------------------------------------*/
|
93 |
#buddypress #activity-stream {
|
94 |
margin-top: -5px;
|
111 |
}
|
112 |
#buddypress form#whats-new-form #whats-new-content {
|
113 |
margin-right: 55px;
|
114 |
+
padding: 0 20px 20px 0;
|
115 |
}
|
116 |
#buddypress form#whats-new-form p.activity-greeting {
|
117 |
line-height: 0.5em;
|
120 |
}
|
121 |
#buddypress form#whats-new-form textarea {
|
122 |
background: #fff;
|
123 |
+
border: 1px inset #ccc;
|
124 |
+
-moz-border-radius: 3px;
|
125 |
+
-webkit-border-radius: 3px;
|
126 |
+
border-radius: 3px;
|
127 |
color: #555;
|
128 |
font-family: inherit;
|
129 |
font-size: 90%;
|
152 |
#buddypress #whats-new:focus {
|
153 |
border-color: rgba(31, 179, 221, 0.9) !important;
|
154 |
outline-color: rgba(31, 179, 221, 0.9);
|
155 |
+
box-shadow: 0 0 7px rgba(31, 179, 221, 0.7);
|
156 |
+
-moz-box-shadow: 0 0 7px rgba(31, 179, 221, 0.7);
|
157 |
+
-webkit-box-shadow: 0 0 7px rgba(31, 179, 221, 0.7);
|
158 |
}
|
159 |
|
160 |
/*--------------------------------------------------------------
|
161 |
+
6.1.1 - Activity Listing
|
162 |
--------------------------------------------------------------*/
|
163 |
#buddypress ul.activity-list li {
|
164 |
overflow: hidden;
|
269 |
}
|
270 |
#buddypress .activity-list li.new_forum_post .activity-content .activity-inner,
|
271 |
#buddypress .activity-list li.new_forum_topic .activity-content .activity-inner {
|
272 |
+
border-left: 2px solid #EAEAEA;
|
273 |
margin-right: 5px;
|
274 |
padding-right: 10px;
|
275 |
}
|
309 |
|
310 |
|
311 |
/*--------------------------------------------------------------
|
312 |
+
6.1.2 - Activity Comments
|
313 |
--------------------------------------------------------------*/
|
314 |
#buddypress div.activity-meta {
|
315 |
margin: 18px 0 0;
|
318 |
margin-bottom: 6px;
|
319 |
}
|
320 |
#buddypress div.activity-meta a {
|
321 |
+
font: normal 11px/20px Arial, Tahoma, Verdana, sans-serif;
|
322 |
padding: 4px 8px;
|
323 |
}
|
324 |
#buddypress a.activity-time-since {
|
338 |
#buddypress a.bp-primary-action span,
|
339 |
#buddypress #reply-title small a span {
|
340 |
background: #999;
|
341 |
+
border-radius: 3px;
|
342 |
color: #fff;
|
343 |
font-size: 90%;
|
344 |
margin-right: 2px;
|
443 |
#buddypress div.activity-comments form .ac-textarea {
|
444 |
background: #fff;
|
445 |
border: 1px inset #ccc;
|
446 |
+
border-radius: 3px;
|
447 |
margin-bottom: 10px;
|
448 |
padding: 8px;
|
449 |
}
|
489 |
}
|
490 |
|
491 |
/*--------------------------------------------------------------
|
492 |
+
6.3 - Directories - Members, Groups, Blogs, Forums
|
493 |
--------------------------------------------------------------*/
|
494 |
#buddypress div.dir-search {
|
495 |
float: left;
|
505 |
}
|
506 |
|
507 |
/*--------------------------------------------------------------
|
508 |
+
6.4 - Errors / Success Messages
|
509 |
--------------------------------------------------------------*/
|
510 |
#buddypress div#message {
|
511 |
margin: 0 0 15px;
|
523 |
padding: 10px 15px;
|
524 |
}
|
525 |
#buddypress div#message.error p {
|
526 |
+
background-color: #db1717;
|
527 |
+
border-color: #a71a1a;
|
528 |
clear: right;
|
529 |
+
color: #fff;
|
530 |
}
|
531 |
#buddypress div#message.updated p {
|
532 |
+
background-color: #8ff57a;
|
533 |
+
border-color: #80cf70;
|
534 |
+
color: #1a6a00;
|
535 |
}
|
536 |
#buddypress .standard-form#signup_form div div.error {
|
537 |
+
background: #e41717;
|
538 |
+
-moz-border-radius: 3px;
|
539 |
+
-webkit-border-radius: 3px;
|
540 |
+
border-radius: 3px;
|
541 |
+
color: #fff;
|
542 |
margin: 0 0 10px 0;
|
543 |
padding: 6px;
|
544 |
width: 90%;
|
557 |
font-weight: bold;
|
558 |
}
|
559 |
#sitewide-notice #message {
|
560 |
+
left: 2%;
|
561 |
position: fixed;
|
562 |
top: 1em;
|
563 |
width: 96%;
|
572 |
}
|
573 |
|
574 |
/*--------------------------------------------------------------
|
575 |
+
6.5 - Forms
|
576 |
--------------------------------------------------------------*/
|
577 |
#buddypress .standard-form textarea,
|
578 |
#buddypress .standard-form input[type=text],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
#buddypress .standard-form select,
|
580 |
#buddypress .standard-form input[type=password],
|
|
|
581 |
#buddypress .dir-search input[type=text] {
|
582 |
+
border: 1px inset #ccc;
|
583 |
+
border-radius: 3px;
|
|
|
584 |
color: #888;
|
585 |
font: inherit;
|
586 |
font-size: 100%;
|
710 |
#buddypress .comment-reply-link,
|
711 |
a.bp-title-button {
|
712 |
background: #fff; /* Old browsers */
|
713 |
+
background: -moz-linear-gradient(top, #ffffff 0%, #ededed 100%); /* FF3.6+ */
|
714 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ededed)); /* Chrome,Safari4+ */
|
715 |
+
background: -webkit-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Chrome10+,Safari5.1+ */
|
716 |
+
background: -o-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Opera11.10+ */
|
717 |
+
background: -ms-linear-gradient(top, #ffffff 0%,#ededed 100%); /* IE10+ */
|
718 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
|
719 |
+
background: linear-gradient(top, #ffffff 0%,#ededed 100%); /* W3C */
|
720 |
border: 1px solid #ccc;
|
721 |
+
-moz-border-radius: 3px;
|
722 |
+
-webkit-border-radius: 3px;
|
723 |
+
border-radius: 3px;
|
724 |
color: #777;
|
|
|
725 |
cursor: pointer;
|
726 |
+
font: normal 12px/20px Arial, Tahoma, Verdana, sans-serif;
|
727 |
outline: none;
|
728 |
padding: 4px 10px;
|
729 |
text-align: center;
|
730 |
text-decoration: none;
|
731 |
+
line-height: 14px;
|
732 |
}
|
733 |
#buddypress button:hover,
|
734 |
#buddypress a.button:hover,
|
741 |
#buddypress div.generic-button a:hover,
|
742 |
#buddypress .comment-reply-link:hover {
|
743 |
background: #ededed;
|
744 |
+
background: -moz-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); /* FF3.6+ */
|
745 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e0e0e0)); /* Chrome,Safari4+ */
|
746 |
+
background: -webkit-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* Chrome10+,Safari5.1+ */
|
747 |
+
background: -o-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* Opera11.10+ */
|
748 |
+
background: -ms-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* IE10+ */
|
749 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e0e0e0',GradientType=0 ); /* IE6-9 */
|
750 |
+
background: linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* W3C */
|
751 |
border: 1px solid #bbb;
|
752 |
color: #555;
|
753 |
outline: none;
|
754 |
text-decoration: none;
|
755 |
}
|
756 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
757 |
/*--------------------------------------------------------------
|
758 |
+
6.6 - Ajax Loading
|
759 |
--------------------------------------------------------------*/
|
760 |
#buddypress a.loading,
|
761 |
#buddypress input.loading {
|
762 |
-webkit-animation: loader-pulsate .5s infinite ease-in-out alternate;
|
763 |
-moz-animation: loader-pulsate .5s infinite ease-in-out alternate;
|
764 |
border-color: #aaa;
|
765 |
+
-moz-box-shadow: 0 0 6px #ccc;
|
766 |
+
-webkit-box-shadow: 0 0 6px #ccc;
|
767 |
+
box-shadow: 0 0 6px #ccc;
|
768 |
}
|
769 |
@-webkit-keyframes loader-pulsate {
|
770 |
from {
|
819 |
#buddypress button.disabled:hover,
|
820 |
#buddypress div.pending a:hover,
|
821 |
#buddypress a.disabled:hover {
|
822 |
+
background: -moz-linear-gradient(top, #ffffff 0%, #ededed 100%); /* FF3.6+ */
|
823 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ededed)); /* Chrome,Safari4+ */
|
824 |
+
background: -webkit-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Chrome10+,Safari5.1+ */
|
825 |
+
background: -o-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Opera11.10+ */
|
826 |
+
background: -ms-linear-gradient(top, #ffffff 0%,#ededed 100%); /* IE10+ */
|
827 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
|
828 |
+
background: linear-gradient(top, #ffffff 0%,#ededed 100%); /* W3C */
|
829 |
+
border-color: #eee;
|
830 |
color: #bbb;
|
831 |
}
|
832 |
|
833 |
/*--------------------------------------------------------------
|
834 |
+
6.7 - Forums, Tables and Topics
|
835 |
--------------------------------------------------------------*/
|
836 |
#buddypress ul#topic-post-list {
|
837 |
margin: 0;
|
859 |
font-size: 80%;
|
860 |
position: absolute;
|
861 |
top: 15px;
|
862 |
+
right: 25px;
|
863 |
}
|
864 |
#buddypress div#topic-meta {
|
865 |
margin: 0;
|
867 |
position: relative;
|
868 |
}
|
869 |
#buddypress div#topic-meta div.admin-links {
|
870 |
+
right: 19px;
|
871 |
top: -36px;
|
872 |
}
|
873 |
#buddypress div#topic-meta h3 {
|
907 |
vertical-align: middle;
|
908 |
}
|
909 |
#buddypress table tr td.label {
|
910 |
+
border-right: 1px solid #eaeaea;
|
911 |
font-weight: bold;
|
912 |
width: 25%;
|
913 |
}
|
1011 |
}
|
1012 |
|
1013 |
/*-------------------------------------------------------------------------
|
1014 |
+
6.8 - Headers, Lists and Tabs - Activity, Groups, Blogs, Forums, Profiles
|
1015 |
-------------------------------------------------------------------------*/
|
1016 |
#buddypress .item-body {
|
1017 |
margin: 20px 0;
|
1030 |
}
|
1031 |
#buddypress div#message p,
|
1032 |
#sitewide-notice p {
|
1033 |
+
border: 1px solid #e1ca82;
|
1034 |
+
-moz-border-radius: 3px;
|
1035 |
+
-webkit-border-radius: 3px;
|
1036 |
+
border-radius: 3px;
|
1037 |
font-weight: normal;
|
1038 |
margin-top: 3px;
|
1039 |
text-decoration: none;
|
1040 |
+
background: #ffeaa6;
|
1041 |
+
background-image: -webkit-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1042 |
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255, 255, 255, .5)), color-stop(100%,rgba(255, 255, 255, 0))); /* Chrome,Safari4+ */
|
1043 |
+
background-image: -moz-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1044 |
+
background-image: -ms-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1045 |
+
background-image: -o-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1046 |
+
background-image: linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1047 |
}
|
1048 |
#buddypress div#item-header {
|
1049 |
overflow: hidden;
|
1076 |
}
|
1077 |
#buddypress div#item-header h2 span.highlight span {
|
1078 |
background: #a1dcfa;
|
1079 |
+
-moz-border-radius: 3px;
|
1080 |
+
-webkit-border-radius: 3px;
|
1081 |
+
border-radius: 3px;
|
1082 |
color: #fff;
|
1083 |
cursor: pointer;
|
1084 |
font-weight: bold;
|
1086 |
margin-bottom: 2px;
|
1087 |
padding: 1px 4px;
|
1088 |
position: relative;
|
1089 |
+
right: -2px;
|
1090 |
top: -2px;
|
1091 |
vertical-align: middle;
|
1092 |
}
|
1179 |
#buddypress ul.item-list li div.action {
|
1180 |
position: absolute;
|
1181 |
top: 15px;
|
1182 |
+
right: 0;
|
1183 |
text-align: left;
|
1184 |
}
|
1185 |
#buddypress ul.item-list li div.meta {
|
1274 |
|
1275 |
|
1276 |
/*--------------------------------------------------------------
|
1277 |
+
6.9 - Private Messaging Threads
|
1278 |
--------------------------------------------------------------*/
|
1279 |
#buddypress table#message-threads tr.unread td {
|
1280 |
background: #fff9db;
|
1285 |
#buddypress li span.unread-count,
|
1286 |
#buddypress tr.unread span.unread-count {
|
1287 |
background: #dd0000;
|
1288 |
+
border-radius: 3px;
|
1289 |
color: #fff;
|
1290 |
font-weight: bold;
|
1291 |
padding: 2px 8px;
|
1313 |
}
|
1314 |
#buddypress div#message-thread img.avatar {
|
1315 |
float: right;
|
1316 |
+
margin: 0 0 0 10px;
|
1317 |
vertical-align: middle;
|
1318 |
}
|
1319 |
#buddypress div#message-thread strong {
|
1344 |
}
|
1345 |
|
1346 |
/*--------------------------------------------------------------
|
1347 |
+
6.10 - Extended Profiles
|
1348 |
--------------------------------------------------------------*/
|
1349 |
|
1350 |
#buddypress div.profile h4 {
|
1391 |
}
|
1392 |
|
1393 |
/*--------------------------------------------------------------
|
1394 |
+
6.11 - Widgets
|
1395 |
--------------------------------------------------------------*/
|
1396 |
|
1397 |
.widget.buddypress div.item-avatar img.avatar {
|
1438 |
}
|
1439 |
|
1440 |
/*--------------------------------------------------------------
|
1441 |
+
7.0 - Media Queries
|
1442 |
--------------------------------------------------------------*/
|
1443 |
/*--------------------------------------------------------------
|
1444 |
+
7.1 - Smartphones - landscape
|
1445 |
--------------------------------------------------------------*/
|
1446 |
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
|
1447 |
-webkit-text-size-adjust: none;
|
1459 |
a.bp-title-button {
|
1460 |
margin-right: 10px;
|
1461 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1462 |
}
|
1463 |
|
1464 |
/*--------------------------------------------------------------
|
1465 |
+
7.2 - Smartphones - portrait
|
1466 |
--------------------------------------------------------------*/
|
1467 |
@media only screen and (max-width: 320px) {
|
1468 |
#buddypress div.dir-search {
|
1482 |
margin-right: 70px;
|
1483 |
position: relative;
|
1484 |
top: 0;
|
1485 |
+
right: 0;
|
1486 |
text-align: right;
|
1487 |
}
|
1488 |
#buddypress ul.item-list li div.item-desc {
|
1507 |
}
|
1508 |
|
1509 |
/*--------------------------------------------------------------
|
1510 |
+
7.2 - Smartphones - smaller screen sizes
|
1511 |
--------------------------------------------------------------*/
|
1512 |
@media only screen and (max-width: 240px) {
|
1513 |
#buddypress div.dir-search {
|
1533 |
float: right;
|
1534 |
margin: 10px 0 20px;
|
1535 |
}
|
1536 |
+
}
|
bp-templates/bp-legacy/css/buddypress.css
CHANGED
@@ -4,35 +4,36 @@ Hello, this is the BuddyPress Legacy stylesheet.
|
|
4 |
----------------------------------------------------------------
|
5 |
>>> TABLE OF CONTENTS:
|
6 |
----------------------------------------------------------------
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
3
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
3
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
29 |
--------------------------------------------------------------*/
|
30 |
|
31 |
/*--------------------------------------------------------------
|
32 |
-
1 -
|
33 |
-
--------------------------------------------------------------*/
|
34 |
-
/*--------------------------------------------------------------
|
35 |
-
1.1 - Pagination
|
36 |
--------------------------------------------------------------*/
|
37 |
#buddypress div.pagination {
|
38 |
background: transparent;
|
@@ -71,11 +72,9 @@ Hello, this is the BuddyPress Legacy stylesheet.
|
|
71 |
#buddypress .paged #nav-above {
|
72 |
display: block;
|
73 |
}
|
|
|
74 |
/*--------------------------------------------------------------
|
75 |
-
|
76 |
-
--------------------------------------------------------------*/
|
77 |
-
/*--------------------------------------------------------------
|
78 |
-
2.1 - Images
|
79 |
--------------------------------------------------------------*/
|
80 |
#buddypress img.wp-smiley {
|
81 |
border: none !important;
|
@@ -86,10 +85,10 @@ Hello, this is the BuddyPress Legacy stylesheet.
|
|
86 |
}
|
87 |
|
88 |
/*--------------------------------------------------------------
|
89 |
-
|
90 |
--------------------------------------------------------------*/
|
91 |
/*--------------------------------------------------------------
|
92 |
-
|
93 |
--------------------------------------------------------------*/
|
94 |
#buddypress #activity-stream {
|
95 |
margin-top: -5px;
|
@@ -121,6 +120,10 @@ Hello, this is the BuddyPress Legacy stylesheet.
|
|
121 |
}
|
122 |
#buddypress form#whats-new-form textarea {
|
123 |
background: #fff;
|
|
|
|
|
|
|
|
|
124 |
color: #555;
|
125 |
font-family: inherit;
|
126 |
font-size: 90%;
|
@@ -149,10 +152,13 @@ body.no-js #buddypress #whats-new-options {
|
|
149 |
#buddypress #whats-new:focus {
|
150 |
border-color: rgba(31, 179, 221, 0.9) !important;
|
151 |
outline-color: rgba(31, 179, 221, 0.9);
|
|
|
|
|
|
|
152 |
}
|
153 |
|
154 |
/*--------------------------------------------------------------
|
155 |
-
|
156 |
--------------------------------------------------------------*/
|
157 |
#buddypress ul.activity-list li {
|
158 |
overflow: hidden;
|
@@ -303,7 +309,7 @@ body.activity-permalink #buddypress .activity-content blockquote {
|
|
303 |
|
304 |
|
305 |
/*--------------------------------------------------------------
|
306 |
-
|
307 |
--------------------------------------------------------------*/
|
308 |
#buddypress div.activity-meta {
|
309 |
margin: 18px 0 0;
|
@@ -312,6 +318,7 @@ body.activity-permalink #buddypress div.activity-meta {
|
|
312 |
margin-bottom: 6px;
|
313 |
}
|
314 |
#buddypress div.activity-meta a {
|
|
|
315 |
padding: 4px 8px;
|
316 |
}
|
317 |
#buddypress a.activity-time-since {
|
@@ -331,6 +338,7 @@ body.activity-permalink #buddypress div.activity-meta {
|
|
331 |
#buddypress a.bp-primary-action span,
|
332 |
#buddypress #reply-title small a span {
|
333 |
background: #999;
|
|
|
334 |
color: #fff;
|
335 |
font-size: 90%;
|
336 |
margin-left: 2px;
|
@@ -435,6 +443,7 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
435 |
#buddypress div.activity-comments form .ac-textarea {
|
436 |
background: #fff;
|
437 |
border: 1px inset #ccc;
|
|
|
438 |
margin-bottom: 10px;
|
439 |
padding: 8px;
|
440 |
}
|
@@ -480,7 +489,7 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
480 |
}
|
481 |
|
482 |
/*--------------------------------------------------------------
|
483 |
-
|
484 |
--------------------------------------------------------------*/
|
485 |
#buddypress div.dir-search {
|
486 |
float: right;
|
@@ -496,7 +505,7 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
496 |
}
|
497 |
|
498 |
/*--------------------------------------------------------------
|
499 |
-
|
500 |
--------------------------------------------------------------*/
|
501 |
#buddypress div#message {
|
502 |
margin: 0 0 15px;
|
@@ -514,19 +523,22 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
514 |
padding: 10px 15px;
|
515 |
}
|
516 |
#buddypress div#message.error p {
|
517 |
-
background-color: #
|
518 |
-
border:
|
519 |
clear: left;
|
520 |
-
color: #
|
521 |
}
|
522 |
#buddypress div#message.updated p {
|
523 |
-
background-color: #
|
524 |
-
border:
|
525 |
-
color: #
|
526 |
}
|
527 |
#buddypress .standard-form#signup_form div div.error {
|
528 |
-
background: #
|
529 |
-
|
|
|
|
|
|
|
530 |
margin: 0 0 10px 0;
|
531 |
padding: 6px;
|
532 |
width: 90%;
|
@@ -560,31 +572,15 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
560 |
}
|
561 |
|
562 |
/*--------------------------------------------------------------
|
563 |
-
|
564 |
--------------------------------------------------------------*/
|
565 |
#buddypress .standard-form textarea,
|
566 |
#buddypress .standard-form input[type=text],
|
567 |
-
#buddypress .standard-form input[type=text],
|
568 |
-
#buddypress .standard-form input[type=color],
|
569 |
-
#buddypress .standard-form input[type=date],
|
570 |
-
#buddypress .standard-form input[type=datetime],
|
571 |
-
#buddypress .standard-form input[type=datetime-local],
|
572 |
-
#buddypress .standard-form input[type=email],
|
573 |
-
#buddypress .standard-form input[type=month],
|
574 |
-
#buddypress .standard-form input[type=number],
|
575 |
-
#buddypress .standard-form input[type=range],
|
576 |
-
#buddypress .standard-form input[type=search],
|
577 |
-
#buddypress .standard-form input[type=tel],
|
578 |
-
#buddypress .standard-form input[type=time],
|
579 |
-
#buddypress .standard-form input[type=url],
|
580 |
-
#buddypress .standard-form input[type=week],
|
581 |
#buddypress .standard-form select,
|
582 |
#buddypress .standard-form input[type=password],
|
583 |
-
#buddypress .dir-search input[type=search],
|
584 |
#buddypress .dir-search input[type=text] {
|
585 |
-
border: 1px
|
586 |
-
|
587 |
-
border-radius: 0;
|
588 |
color: #888;
|
589 |
font: inherit;
|
590 |
font-size: 100%;
|
@@ -714,14 +710,25 @@ body.activity-permalink #buddypress div.activity-comments div.acomment-content {
|
|
714 |
#buddypress .comment-reply-link,
|
715 |
a.bp-title-button {
|
716 |
background: #fff; /* Old browsers */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
717 |
border: 1px solid #ccc;
|
|
|
|
|
|
|
718 |
color: #777;
|
719 |
-
font-size: .8rem;
|
720 |
cursor: pointer;
|
|
|
721 |
outline: none;
|
722 |
padding: 4px 10px;
|
723 |
text-align: center;
|
724 |
text-decoration: none;
|
|
|
725 |
}
|
726 |
#buddypress button:hover,
|
727 |
#buddypress a.button:hover,
|
@@ -734,45 +741,30 @@ a.bp-title-button {
|
|
734 |
#buddypress div.generic-button a:hover,
|
735 |
#buddypress .comment-reply-link:hover {
|
736 |
background: #ededed;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
737 |
border: 1px solid #bbb;
|
738 |
color: #555;
|
739 |
outline: none;
|
740 |
text-decoration: none;
|
741 |
}
|
742 |
|
743 |
-
#buddypress form.standard-form .left-menu {
|
744 |
-
float: left;
|
745 |
-
}
|
746 |
-
|
747 |
-
#buddypress form.standard-form .left-menu #invite-list ul{
|
748 |
-
margin:1%;
|
749 |
-
list-style: none;
|
750 |
-
}
|
751 |
-
|
752 |
-
#buddypress form.standard-form .left-menu #invite-list ul li {
|
753 |
-
margin:0 0 0 1%;
|
754 |
-
}
|
755 |
-
|
756 |
-
#buddypress form.standard-form .main-column {
|
757 |
-
margin-left: 190px;
|
758 |
-
}
|
759 |
-
|
760 |
-
#buddypress form.standard-form .main-column ul#friend-list {
|
761 |
-
clear:none;
|
762 |
-
}
|
763 |
-
|
764 |
-
#buddypress form.standard-form .main-column ul#friend-list h4 {
|
765 |
-
clear:none;
|
766 |
-
}
|
767 |
-
|
768 |
/*--------------------------------------------------------------
|
769 |
-
|
770 |
--------------------------------------------------------------*/
|
771 |
#buddypress a.loading,
|
772 |
#buddypress input.loading {
|
773 |
-webkit-animation: loader-pulsate .5s infinite ease-in-out alternate;
|
774 |
-moz-animation: loader-pulsate .5s infinite ease-in-out alternate;
|
775 |
border-color: #aaa;
|
|
|
|
|
|
|
776 |
}
|
777 |
@-webkit-keyframes loader-pulsate {
|
778 |
from {
|
@@ -827,12 +819,19 @@ a.bp-title-button {
|
|
827 |
#buddypress button.disabled:hover,
|
828 |
#buddypress div.pending a:hover,
|
829 |
#buddypress a.disabled:hover {
|
830 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
831 |
color: #bbb;
|
832 |
}
|
833 |
|
834 |
/*--------------------------------------------------------------
|
835 |
-
|
836 |
--------------------------------------------------------------*/
|
837 |
#buddypress ul#topic-post-list {
|
838 |
margin: 0;
|
@@ -1012,7 +1011,7 @@ a.bp-title-button {
|
|
1012 |
}
|
1013 |
|
1014 |
/*-------------------------------------------------------------------------
|
1015 |
-
|
1016 |
-------------------------------------------------------------------------*/
|
1017 |
#buddypress .item-body {
|
1018 |
margin: 20px 0;
|
@@ -1031,10 +1030,20 @@ a.bp-title-button {
|
|
1031 |
}
|
1032 |
#buddypress div#message p,
|
1033 |
#sitewide-notice p {
|
|
|
|
|
|
|
|
|
1034 |
font-weight: normal;
|
1035 |
margin-top: 3px;
|
1036 |
text-decoration: none;
|
1037 |
-
background: #
|
|
|
|
|
|
|
|
|
|
|
|
|
1038 |
}
|
1039 |
#buddypress div#item-header {
|
1040 |
overflow: hidden;
|
@@ -1067,6 +1076,9 @@ a.bp-title-button {
|
|
1067 |
}
|
1068 |
#buddypress div#item-header h2 span.highlight span {
|
1069 |
background: #a1dcfa;
|
|
|
|
|
|
|
1070 |
color: #fff;
|
1071 |
cursor: pointer;
|
1072 |
font-weight: bold;
|
@@ -1262,7 +1274,7 @@ body.activity-permalink #buddypress ul.item-list li.activity-item {
|
|
1262 |
|
1263 |
|
1264 |
/*--------------------------------------------------------------
|
1265 |
-
|
1266 |
--------------------------------------------------------------*/
|
1267 |
#buddypress table#message-threads tr.unread td {
|
1268 |
background: #fff9db;
|
@@ -1273,6 +1285,7 @@ body.activity-permalink #buddypress ul.item-list li.activity-item {
|
|
1273 |
#buddypress li span.unread-count,
|
1274 |
#buddypress tr.unread span.unread-count {
|
1275 |
background: #dd0000;
|
|
|
1276 |
color: #fff;
|
1277 |
font-weight: bold;
|
1278 |
padding: 2px 8px;
|
@@ -1331,7 +1344,7 @@ body.activity-permalink #buddypress ul.item-list li.activity-item {
|
|
1331 |
}
|
1332 |
|
1333 |
/*--------------------------------------------------------------
|
1334 |
-
|
1335 |
--------------------------------------------------------------*/
|
1336 |
|
1337 |
#buddypress div.profile h4 {
|
@@ -1378,7 +1391,7 @@ body.register #buddypress div.page ul {
|
|
1378 |
}
|
1379 |
|
1380 |
/*--------------------------------------------------------------
|
1381 |
-
|
1382 |
--------------------------------------------------------------*/
|
1383 |
|
1384 |
.widget.buddypress div.item-avatar img.avatar {
|
@@ -1425,10 +1438,10 @@ body.register #buddypress div.page ul {
|
|
1425 |
}
|
1426 |
|
1427 |
/*--------------------------------------------------------------
|
1428 |
-
|
1429 |
--------------------------------------------------------------*/
|
1430 |
/*--------------------------------------------------------------
|
1431 |
-
|
1432 |
--------------------------------------------------------------*/
|
1433 |
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
|
1434 |
-webkit-text-size-adjust: none;
|
@@ -1446,17 +1459,10 @@ body.register #buddypress div.page ul {
|
|
1446 |
a.bp-title-button {
|
1447 |
margin-left: 10px;
|
1448 |
}
|
1449 |
-
#buddypress form.standard-form .main-column div.action{
|
1450 |
-
position: relative;
|
1451 |
-
margin-bottom:1em;
|
1452 |
-
}
|
1453 |
-
#buddypress form.standard-form .main-column ul#friend-list h4{
|
1454 |
-
width:100%;
|
1455 |
-
}
|
1456 |
}
|
1457 |
|
1458 |
/*--------------------------------------------------------------
|
1459 |
-
|
1460 |
--------------------------------------------------------------*/
|
1461 |
@media only screen and (max-width: 320px) {
|
1462 |
#buddypress div.dir-search {
|
@@ -1501,7 +1507,7 @@ body.register #buddypress div.page ul {
|
|
1501 |
}
|
1502 |
|
1503 |
/*--------------------------------------------------------------
|
1504 |
-
|
1505 |
--------------------------------------------------------------*/
|
1506 |
@media only screen and (max-width: 240px) {
|
1507 |
#buddypress div.dir-search {
|
@@ -1519,7 +1525,7 @@ body.register #buddypress div.page ul {
|
|
1519 |
height: auto;
|
1520 |
}
|
1521 |
#buddypress ul.item-list li div.action,
|
1522 |
-
#buddypress li div.item{
|
1523 |
margin-left: 45px;
|
1524 |
}
|
1525 |
h1 a.bp-title-button {
|
@@ -1527,4 +1533,4 @@ body.register #buddypress div.page ul {
|
|
1527 |
float: left;
|
1528 |
margin: 10px 0 20px;
|
1529 |
}
|
1530 |
-
}
|
4 |
----------------------------------------------------------------
|
5 |
>>> TABLE OF CONTENTS:
|
6 |
----------------------------------------------------------------
|
7 |
+
4.0 - Navigation
|
8 |
+
4.1 - Pagination
|
9 |
+
5.0 - WordPress
|
10 |
+
5.1 - Alignments
|
11 |
+
5.2 - Comments
|
12 |
+
5.3 - Gallery
|
13 |
+
5.4 - Images
|
14 |
+
5.5 - Posts
|
15 |
+
6.0 - BuddyPress
|
16 |
+
6.1 - Activity
|
17 |
+
6.1.1 - Activity Listing
|
18 |
+
6.1.2 - Activity Comments
|
19 |
+
6.2 - Toolbar
|
20 |
+
6.3 - Directories - Members, Groups, Blogs, Forums
|
21 |
+
6.4 - Error / Success Messages
|
22 |
+
6.5 - Forms
|
23 |
+
6.6 - Ajax Loading
|
24 |
+
6.7 - Topics and Tables - Forums and General
|
25 |
+
6.8 - Headers, Lists and Tabs - Activity, Groups, Blogs, Forums
|
26 |
+
6.9 - Private Messaging Threads
|
27 |
+
6.10 - Extended Profiles
|
28 |
+
6.11 - Widgets
|
29 |
+
7.0 - Media Queries
|
30 |
+
7.1 - Smartphones Landscape
|
31 |
+
7.2 - Smartphones Portrait
|
32 |
+
7.3 - Smartphones - smaller screen sizes
|
33 |
--------------------------------------------------------------*/
|
34 |
|
35 |
/*--------------------------------------------------------------
|
36 |
+
4.1 - Pagination
|
|
|
|
|
|
|
37 |
--------------------------------------------------------------*/
|
38 |
#buddypress div.pagination {
|
39 |
background: transparent;
|
72 |
#buddypress .paged #nav-above {
|
73 |
display: block;
|
74 |
}
|
75 |
+
|
76 |
/*--------------------------------------------------------------
|
77 |
+
5.4 - Images
|
|
|
|
|
|
|
78 |
--------------------------------------------------------------*/
|
79 |
#buddypress img.wp-smiley {
|
80 |
border: none !important;
|
85 |
}
|
86 |
|
87 |
/*--------------------------------------------------------------
|
88 |
+
6.0 - BuddyPress
|
89 |
--------------------------------------------------------------*/
|
90 |
/*--------------------------------------------------------------
|
91 |
+
6.1 - Activity
|
92 |
--------------------------------------------------------------*/
|
93 |
#buddypress #activity-stream {
|
94 |
margin-top: -5px;
|
120 |
}
|
121 |
#buddypress form#whats-new-form textarea {
|
122 |
background: #fff;
|
123 |
+
border: 1px inset #ccc;
|
124 |
+
-moz-border-radius: 3px;
|
125 |
+
-webkit-border-radius: 3px;
|
126 |
+
border-radius: 3px;
|
127 |
color: #555;
|
128 |
font-family: inherit;
|
129 |
font-size: 90%;
|
152 |
#buddypress #whats-new:focus {
|
153 |
border-color: rgba(31, 179, 221, 0.9) !important;
|
154 |
outline-color: rgba(31, 179, 221, 0.9);
|
155 |
+
box-shadow: 0 0 7px rgba(31, 179, 221, 0.7);
|
156 |
+
-moz-box-shadow: 0 0 7px rgba(31, 179, 221, 0.7);
|
157 |
+
-webkit-box-shadow: 0 0 7px rgba(31, 179, 221, 0.7);
|
158 |
}
|
159 |
|
160 |
/*--------------------------------------------------------------
|
161 |
+
6.1.1 - Activity Listing
|
162 |
--------------------------------------------------------------*/
|
163 |
#buddypress ul.activity-list li {
|
164 |
overflow: hidden;
|
309 |
|
310 |
|
311 |
/*--------------------------------------------------------------
|
312 |
+
6.1.2 - Activity Comments
|
313 |
--------------------------------------------------------------*/
|
314 |
#buddypress div.activity-meta {
|
315 |
margin: 18px 0 0;
|
318 |
margin-bottom: 6px;
|
319 |
}
|
320 |
#buddypress div.activity-meta a {
|
321 |
+
font: normal 11px/20px Arial, Tahoma, Verdana, sans-serif;
|
322 |
padding: 4px 8px;
|
323 |
}
|
324 |
#buddypress a.activity-time-since {
|
338 |
#buddypress a.bp-primary-action span,
|
339 |
#buddypress #reply-title small a span {
|
340 |
background: #999;
|
341 |
+
border-radius: 3px;
|
342 |
color: #fff;
|
343 |
font-size: 90%;
|
344 |
margin-left: 2px;
|
443 |
#buddypress div.activity-comments form .ac-textarea {
|
444 |
background: #fff;
|
445 |
border: 1px inset #ccc;
|
446 |
+
border-radius: 3px;
|
447 |
margin-bottom: 10px;
|
448 |
padding: 8px;
|
449 |
}
|
489 |
}
|
490 |
|
491 |
/*--------------------------------------------------------------
|
492 |
+
6.3 - Directories - Members, Groups, Blogs, Forums
|
493 |
--------------------------------------------------------------*/
|
494 |
#buddypress div.dir-search {
|
495 |
float: right;
|
505 |
}
|
506 |
|
507 |
/*--------------------------------------------------------------
|
508 |
+
6.4 - Errors / Success Messages
|
509 |
--------------------------------------------------------------*/
|
510 |
#buddypress div#message {
|
511 |
margin: 0 0 15px;
|
523 |
padding: 10px 15px;
|
524 |
}
|
525 |
#buddypress div#message.error p {
|
526 |
+
background-color: #db1717;
|
527 |
+
border-color: #a71a1a;
|
528 |
clear: left;
|
529 |
+
color: #fff;
|
530 |
}
|
531 |
#buddypress div#message.updated p {
|
532 |
+
background-color: #8ff57a;
|
533 |
+
border-color: #80cf70;
|
534 |
+
color: #1a6a00;
|
535 |
}
|
536 |
#buddypress .standard-form#signup_form div div.error {
|
537 |
+
background: #e41717;
|
538 |
+
-moz-border-radius: 3px;
|
539 |
+
-webkit-border-radius: 3px;
|
540 |
+
border-radius: 3px;
|
541 |
+
color: #fff;
|
542 |
margin: 0 0 10px 0;
|
543 |
padding: 6px;
|
544 |
width: 90%;
|
572 |
}
|
573 |
|
574 |
/*--------------------------------------------------------------
|
575 |
+
6.5 - Forms
|
576 |
--------------------------------------------------------------*/
|
577 |
#buddypress .standard-form textarea,
|
578 |
#buddypress .standard-form input[type=text],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
#buddypress .standard-form select,
|
580 |
#buddypress .standard-form input[type=password],
|
|
|
581 |
#buddypress .dir-search input[type=text] {
|
582 |
+
border: 1px inset #ccc;
|
583 |
+
border-radius: 3px;
|
|
|
584 |
color: #888;
|
585 |
font: inherit;
|
586 |
font-size: 100%;
|
710 |
#buddypress .comment-reply-link,
|
711 |
a.bp-title-button {
|
712 |
background: #fff; /* Old browsers */
|
713 |
+
background: -moz-linear-gradient(top, #ffffff 0%, #ededed 100%); /* FF3.6+ */
|
714 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ededed)); /* Chrome,Safari4+ */
|
715 |
+
background: -webkit-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Chrome10+,Safari5.1+ */
|
716 |
+
background: -o-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Opera11.10+ */
|
717 |
+
background: -ms-linear-gradient(top, #ffffff 0%,#ededed 100%); /* IE10+ */
|
718 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
|
719 |
+
background: linear-gradient(top, #ffffff 0%,#ededed 100%); /* W3C */
|
720 |
border: 1px solid #ccc;
|
721 |
+
-moz-border-radius: 3px;
|
722 |
+
-webkit-border-radius: 3px;
|
723 |
+
border-radius: 3px;
|
724 |
color: #777;
|
|
|
725 |
cursor: pointer;
|
726 |
+
font: normal 12px/20px Arial, Tahoma, Verdana, sans-serif;
|
727 |
outline: none;
|
728 |
padding: 4px 10px;
|
729 |
text-align: center;
|
730 |
text-decoration: none;
|
731 |
+
line-height: 14px;
|
732 |
}
|
733 |
#buddypress button:hover,
|
734 |
#buddypress a.button:hover,
|
741 |
#buddypress div.generic-button a:hover,
|
742 |
#buddypress .comment-reply-link:hover {
|
743 |
background: #ededed;
|
744 |
+
background: -moz-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); /* FF3.6+ */
|
745 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e0e0e0)); /* Chrome,Safari4+ */
|
746 |
+
background: -webkit-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* Chrome10+,Safari5.1+ */
|
747 |
+
background: -o-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* Opera11.10+ */
|
748 |
+
background: -ms-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* IE10+ */
|
749 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e0e0e0',GradientType=0 ); /* IE6-9 */
|
750 |
+
background: linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* W3C */
|
751 |
border: 1px solid #bbb;
|
752 |
color: #555;
|
753 |
outline: none;
|
754 |
text-decoration: none;
|
755 |
}
|
756 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
757 |
/*--------------------------------------------------------------
|
758 |
+
6.6 - Ajax Loading
|
759 |
--------------------------------------------------------------*/
|
760 |
#buddypress a.loading,
|
761 |
#buddypress input.loading {
|
762 |
-webkit-animation: loader-pulsate .5s infinite ease-in-out alternate;
|
763 |
-moz-animation: loader-pulsate .5s infinite ease-in-out alternate;
|
764 |
border-color: #aaa;
|
765 |
+
-moz-box-shadow: 0 0 6px #ccc;
|
766 |
+
-webkit-box-shadow: 0 0 6px #ccc;
|
767 |
+
box-shadow: 0 0 6px #ccc;
|
768 |
}
|
769 |
@-webkit-keyframes loader-pulsate {
|
770 |
from {
|
819 |
#buddypress button.disabled:hover,
|
820 |
#buddypress div.pending a:hover,
|
821 |
#buddypress a.disabled:hover {
|
822 |
+
background: -moz-linear-gradient(top, #ffffff 0%, #ededed 100%); /* FF3.6+ */
|
823 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ededed)); /* Chrome,Safari4+ */
|
824 |
+
background: -webkit-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Chrome10+,Safari5.1+ */
|
825 |
+
background: -o-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Opera11.10+ */
|
826 |
+
background: -ms-linear-gradient(top, #ffffff 0%,#ededed 100%); /* IE10+ */
|
827 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
|
828 |
+
background: linear-gradient(top, #ffffff 0%,#ededed 100%); /* W3C */
|
829 |
+
border-color: #eee;
|
830 |
color: #bbb;
|
831 |
}
|
832 |
|
833 |
/*--------------------------------------------------------------
|
834 |
+
6.7 - Forums, Tables and Topics
|
835 |
--------------------------------------------------------------*/
|
836 |
#buddypress ul#topic-post-list {
|
837 |
margin: 0;
|
1011 |
}
|
1012 |
|
1013 |
/*-------------------------------------------------------------------------
|
1014 |
+
6.8 - Headers, Lists and Tabs - Activity, Groups, Blogs, Forums, Profiles
|
1015 |
-------------------------------------------------------------------------*/
|
1016 |
#buddypress .item-body {
|
1017 |
margin: 20px 0;
|
1030 |
}
|
1031 |
#buddypress div#message p,
|
1032 |
#sitewide-notice p {
|
1033 |
+
border: 1px solid #e1ca82;
|
1034 |
+
-moz-border-radius: 3px;
|
1035 |
+
-webkit-border-radius: 3px;
|
1036 |
+
border-radius: 3px;
|
1037 |
font-weight: normal;
|
1038 |
margin-top: 3px;
|
1039 |
text-decoration: none;
|
1040 |
+
background: #ffeaa6;
|
1041 |
+
background-image: -webkit-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1042 |
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255, 255, 255, .5)), color-stop(100%,rgba(255, 255, 255, 0))); /* Chrome,Safari4+ */
|
1043 |
+
background-image: -moz-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1044 |
+
background-image: -ms-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1045 |
+
background-image: -o-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1046 |
+
background-image: linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
|
1047 |
}
|
1048 |
#buddypress div#item-header {
|
1049 |
overflow: hidden;
|
1076 |
}
|
1077 |
#buddypress div#item-header h2 span.highlight span {
|
1078 |
background: #a1dcfa;
|
1079 |
+
-moz-border-radius: 3px;
|
1080 |
+
-webkit-border-radius: 3px;
|
1081 |
+
border-radius: 3px;
|
1082 |
color: #fff;
|
1083 |
cursor: pointer;
|
1084 |
font-weight: bold;
|
1274 |
|
1275 |
|
1276 |
/*--------------------------------------------------------------
|
1277 |
+
6.9 - Private Messaging Threads
|
1278 |
--------------------------------------------------------------*/
|
1279 |
#buddypress table#message-threads tr.unread td {
|
1280 |
background: #fff9db;
|
1285 |
#buddypress li span.unread-count,
|
1286 |
#buddypress tr.unread span.unread-count {
|
1287 |
background: #dd0000;
|
1288 |
+
border-radius: 3px;
|
1289 |
color: #fff;
|
1290 |
font-weight: bold;
|
1291 |
padding: 2px 8px;
|
1344 |
}
|
1345 |
|
1346 |
/*--------------------------------------------------------------
|
1347 |
+
6.10 - Extended Profiles
|
1348 |
--------------------------------------------------------------*/
|
1349 |
|
1350 |
#buddypress div.profile h4 {
|
1391 |
}
|
1392 |
|
1393 |
/*--------------------------------------------------------------
|
1394 |
+
6.11 - Widgets
|
1395 |
--------------------------------------------------------------*/
|
1396 |
|
1397 |
.widget.buddypress div.item-avatar img.avatar {
|
1438 |
}
|
1439 |
|
1440 |
/*--------------------------------------------------------------
|
1441 |
+
7.0 - Media Queries
|
1442 |
--------------------------------------------------------------*/
|
1443 |
/*--------------------------------------------------------------
|
1444 |
+
7.1 - Smartphones - landscape
|
1445 |
--------------------------------------------------------------*/
|
1446 |
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
|
1447 |
-webkit-text-size-adjust: none;
|
1459 |
a.bp-title-button {
|
1460 |
margin-left: 10px;
|
1461 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1462 |
}
|
1463 |
|
1464 |
/*--------------------------------------------------------------
|
1465 |
+
7.2 - Smartphones - portrait
|
1466 |
--------------------------------------------------------------*/
|
1467 |
@media only screen and (max-width: 320px) {
|
1468 |
#buddypress div.dir-search {
|
1507 |
}
|
1508 |
|
1509 |
/*--------------------------------------------------------------
|
1510 |
+
7.2 - Smartphones - smaller screen sizes
|
1511 |
--------------------------------------------------------------*/
|
1512 |
@media only screen and (max-width: 240px) {
|
1513 |
#buddypress div.dir-search {
|
1525 |
height: auto;
|
1526 |
}
|
1527 |
#buddypress ul.item-list li div.action,
|
1528 |
+
#buddypress li div.item{
|
1529 |
margin-left: 45px;
|
1530 |
}
|
1531 |
h1 a.bp-title-button {
|
1533 |
float: left;
|
1534 |
margin: 10px 0 20px;
|
1535 |
}
|
1536 |
+
}
|
bp-templates/bp-legacy/js/buddypress.js
CHANGED
@@ -21,26 +21,24 @@ jq(document).ready( function() {
|
|
21 |
bp_init_objects( objects );
|
22 |
|
23 |
/* @mention Compose Scrolling */
|
24 |
-
|
25 |
-
if ( jq.query.get('r') && $whats_new.length ) {
|
26 |
jq('#whats-new-options').animate({
|
27 |
height:'40px'
|
28 |
});
|
29 |
jq("#whats-new-form textarea").animate({
|
30 |
height:'50px'
|
31 |
});
|
32 |
-
jq.scrollTo(
|
33 |
offset:-125,
|
34 |
easing:'easeOutQuad'
|
35 |
} );
|
36 |
-
|
37 |
-
$whats_new.val('').focus().val(whats_new_content);
|
38 |
}
|
39 |
|
40 |
/**** Activity Posting ********************************************************/
|
41 |
|
42 |
/* Textarea focus */
|
43 |
-
|
44 |
jq("#whats-new-options").animate({
|
45 |
height:'40px'
|
46 |
});
|
@@ -48,31 +46,12 @@ jq(document).ready( function() {
|
|
48 |
height:'50px'
|
49 |
});
|
50 |
jq("#aw-whats-new-submit").prop("disabled", false);
|
51 |
-
|
52 |
-
var $whats_new_form = jq("form#whats-new-form");
|
53 |
-
if ( $whats_new_form.hasClass("submitted") ) {
|
54 |
-
$whats_new_form.removeClass("submitted");
|
55 |
-
}
|
56 |
-
});
|
57 |
-
|
58 |
-
/* On blur, shrink if it's empty */
|
59 |
-
$whats_new.blur( function(){
|
60 |
-
if (!this.value.match(/\S+/)) {
|
61 |
-
this.value = "";
|
62 |
-
jq("#whats-new-options").animate({
|
63 |
-
height:'40px'
|
64 |
-
});
|
65 |
-
jq("form#whats-new-form textarea").animate({
|
66 |
-
height:'20px'
|
67 |
-
});
|
68 |
-
jq("#aw-whats-new-submit").prop("disabled", true);
|
69 |
-
}
|
70 |
});
|
71 |
|
72 |
/* New posts */
|
73 |
jq("#aw-whats-new-submit").on( 'click', function() {
|
74 |
var button = jq(this);
|
75 |
-
var form = button.
|
76 |
|
77 |
form.children().each( function() {
|
78 |
if ( jq.nodeName(this, "textarea") || jq.nodeName(this, "input") )
|
@@ -83,7 +62,6 @@ jq(document).ready( function() {
|
|
83 |
jq('div.error').remove();
|
84 |
button.addClass('loading');
|
85 |
button.prop('disabled', true);
|
86 |
-
form.addClass("submitted");
|
87 |
|
88 |
/* Default POST values */
|
89 |
var object = '';
|
@@ -97,7 +75,7 @@ jq(document).ready( function() {
|
|
97 |
|
98 |
jq.post( ajaxurl, {
|
99 |
action: 'post_update',
|
100 |
-
'cookie':
|
101 |
'_wpnonce_post_update': jq("#_wpnonce_post_update").val(),
|
102 |
'content': content,
|
103 |
'object': object,
|
@@ -124,7 +102,7 @@ jq(document).ready( function() {
|
|
124 |
}
|
125 |
|
126 |
jq("#activity-stream").prepend(response);
|
127 |
-
jq("#activity-stream li:first").addClass('new-update
|
128 |
|
129 |
if ( 0 != jq("#latest-update").length ) {
|
130 |
var l = jq("#activity-stream li.new-update .activity-content .activity-inner p").html();
|
@@ -217,7 +195,7 @@ jq(document).ready( function() {
|
|
217 |
|
218 |
jq.post( ajaxurl, {
|
219 |
action: 'activity_mark_' + type,
|
220 |
-
'cookie':
|
221 |
'id': parent_id
|
222 |
},
|
223 |
function(response) {
|
@@ -274,7 +252,7 @@ jq(document).ready( function() {
|
|
274 |
|
275 |
jq.post( ajaxurl, {
|
276 |
action: 'delete_activity',
|
277 |
-
'cookie':
|
278 |
'id': id,
|
279 |
'_wpnonce': nonce
|
280 |
},
|
@@ -326,17 +304,10 @@ jq(document).ready( function() {
|
|
326 |
|
327 |
var oldest_page = ( jq.cookie('bp-activity-oldestpage') * 1 ) + 1;
|
328 |
|
329 |
-
var just_posted = [];
|
330 |
-
|
331 |
-
jq('.activity-list li.just-posted').each( function(){
|
332 |
-
just_posted.push( jq(this).attr('id').replace( 'activity-','' ) );
|
333 |
-
});
|
334 |
-
|
335 |
jq.post( ajaxurl, {
|
336 |
action: 'activity_get_older_updates',
|
337 |
-
'cookie':
|
338 |
-
'page': oldest_page
|
339 |
-
'exclude_just_posted': just_posted.join(',')
|
340 |
},
|
341 |
function(response)
|
342 |
{
|
@@ -451,7 +422,7 @@ jq(document).ready( function() {
|
|
451 |
|
452 |
var ajaxdata = {
|
453 |
action: 'new_activity_comment',
|
454 |
-
'cookie':
|
455 |
'_wpnonce_new_activity_comment': jq("#_wpnonce_new_activity_comment").val(),
|
456 |
'comment_id': comment_id,
|
457 |
'form_id': form_id[2],
|
@@ -472,34 +443,26 @@ jq(document).ready( function() {
|
|
472 |
if ( response[0] + response[1] == '-1' ) {
|
473 |
form.append( jq( response.substr( 2, response.length ) ).hide().fadeIn( 200 ) );
|
474 |
} else {
|
475 |
-
var activity_comments = form.parent();
|
476 |
form.fadeOut( 200, function() {
|
477 |
-
if ( 0 ==
|
478 |
-
if (
|
479 |
-
|
480 |
} else {
|
481 |
-
|
482 |
}
|
483 |
}
|
484 |
|
485 |
/* Preceeding whitespace breaks output with jQuery 1.9.0 */
|
486 |
var the_comment = jq.trim( response );
|
487 |
|
488 |
-
|
489 |
form.children('textarea').val('');
|
490 |
-
|
491 |
} );
|
492 |
jq( '#' + form.attr('id') + ' textarea').val('');
|
493 |
|
494 |
/* Increase the "Reply (X)" button count */
|
495 |
jq('#activity-' + form_id[2] + ' a.acomment-reply span').html( Number( jq('#activity-' + form_id[2] + ' a.acomment-reply span').html() ) + 1 );
|
496 |
-
|
497 |
-
// Increment the 'Show all x comments' string, if present
|
498 |
-
var show_all_a = activity_comments.find('.show-all').find('a');
|
499 |
-
if ( show_all_a ) {
|
500 |
-
var new_count = jq('li#activity-' + form_id[2] + ' a.acomment-reply span').html();
|
501 |
-
show_all_a.html( BP_DTheme.show_x_comments.replace( '%d', new_count ) );
|
502 |
-
}
|
503 |
}
|
504 |
|
505 |
jq(target).prop("disabled", false);
|
@@ -532,7 +495,7 @@ jq(document).ready( function() {
|
|
532 |
|
533 |
jq.post( ajaxurl, {
|
534 |
action: 'delete_activity_comment',
|
535 |
-
'cookie':
|
536 |
'_wpnonce': nonce,
|
537 |
'id': comment_id
|
538 |
},
|
@@ -547,20 +510,12 @@ jq(document).ready( function() {
|
|
547 |
if ( !jq(this).is(':hidden') )
|
548 |
child_count++;
|
549 |
});
|
550 |
-
comment_li.fadeOut(200
|
551 |
-
comment_li.remove();
|
552 |
-
});
|
553 |
|
554 |
/* Decrease the "Reply (X)" button count */
|
555 |
var count_span = jq('#' + comment_li.parents('#activity-stream > li').attr('id') + ' a.acomment-reply span');
|
556 |
var new_count = count_span.html() - ( 1 + child_count );
|
557 |
count_span.html(new_count);
|
558 |
-
|
559 |
-
// Change the 'Show all x comments' text
|
560 |
-
var show_all_a = comment_li.siblings('.show-all').find('a');
|
561 |
-
if ( show_all_a ) {
|
562 |
-
show_all_a.html( BP_DTheme.show_x_comments.replace( '%d', new_count ) );
|
563 |
-
}
|
564 |
|
565 |
/* If that was the last comment for the item, remove the has-comments class to clean up the styling */
|
566 |
if ( 0 == new_count ) {
|
@@ -817,7 +772,7 @@ jq(document).ready( function() {
|
|
817 |
jq.post( ajaxurl, {
|
818 |
action: 'groups_invite_user',
|
819 |
'friend_action': friend_action,
|
820 |
-
'cookie':
|
821 |
'_wpnonce': jq("#_wpnonce_invite_uninvite_user").val(),
|
822 |
'friend_id': friend_id,
|
823 |
'group_id': jq("#group_id").val()
|
@@ -850,7 +805,7 @@ jq(document).ready( function() {
|
|
850 |
jq.post( ajaxurl, {
|
851 |
action: 'groups_invite_user',
|
852 |
'friend_action': 'uninvite',
|
853 |
-
'cookie':
|
854 |
'_wpnonce': jq("#_wpnonce_invite_uninvite_user").val(),
|
855 |
'friend_id': friend_id,
|
856 |
'group_id': jq("#group_id").val()
|
@@ -879,29 +834,14 @@ jq(document).ready( function() {
|
|
879 |
|
880 |
jq('.field-visibility-settings-close').on( 'click', function() {
|
881 |
var settings_div = jq(this).parent();
|
882 |
-
var vis_setting_text = settings_div.find('input:checked').parent().text();
|
883 |
|
884 |
-
settings_div.slideUp( 400, function()
|
885 |
-
settings_div.siblings('.field-visibility-settings-toggle').fadeIn(800);
|
886 |
-
|
887 |
-
} );
|
888 |
|
889 |
return false;
|
890 |
} );
|
891 |
|
892 |
-
jq("#profile-edit-form input:not(:submit), #profile-edit-form textarea, #profile-edit-form select, #signup_form input:not(:submit), #signup_form textarea, #signup_form select").change( function() {
|
893 |
-
var shouldconfirm = true;
|
894 |
-
|
895 |
-
jq('#profile-edit-form input:submit, #signup_form input:submit').on( 'click', function() {
|
896 |
-
shouldconfirm = false;
|
897 |
-
});
|
898 |
-
|
899 |
-
window.onbeforeunload = function(e) {
|
900 |
-
if ( shouldconfirm ) {
|
901 |
-
return BP_DTheme.unsaved_changes;
|
902 |
-
}
|
903 |
-
};
|
904 |
-
});
|
905 |
|
906 |
/** Friendship Requests **************************************/
|
907 |
|
@@ -932,7 +872,7 @@ jq(document).ready( function() {
|
|
932 |
|
933 |
jq.post( ajaxurl, {
|
934 |
action: action,
|
935 |
-
'cookie':
|
936 |
'id': id,
|
937 |
'_wpnonce': nonce
|
938 |
},
|
@@ -974,7 +914,7 @@ jq(document).ready( function() {
|
|
974 |
|
975 |
jq.post( ajaxurl, {
|
976 |
action: 'addremove_friend',
|
977 |
-
'cookie':
|
978 |
'fid': fid,
|
979 |
'_wpnonce': nonce
|
980 |
},
|
@@ -1023,7 +963,7 @@ jq(document).ready( function() {
|
|
1023 |
|
1024 |
jq.post( ajaxurl, {
|
1025 |
action: 'joinleave_group',
|
1026 |
-
'cookie':
|
1027 |
'gid': gid,
|
1028 |
'_wpnonce': nonce
|
1029 |
},
|
@@ -1046,7 +986,7 @@ jq(document).ready( function() {
|
|
1046 |
|
1047 |
/** Button disabling ************************************************/
|
1048 |
|
1049 |
-
jq('
|
1050 |
return false;
|
1051 |
});
|
1052 |
|
@@ -1080,7 +1020,7 @@ jq(document).ready( function() {
|
|
1080 |
|
1081 |
jq.post( ajaxurl, {
|
1082 |
action: 'messages_send_reply',
|
1083 |
-
'cookie':
|
1084 |
'_wpnonce': jq("#send_message_nonce").val(),
|
1085 |
|
1086 |
'content': jq("#message_content").val(),
|
@@ -1366,7 +1306,7 @@ function bp_filter_request( object, filter, scope, target, search_terms, page, e
|
|
1366 |
|
1367 |
bp_ajax_request = jq.post( ajaxurl, {
|
1368 |
action: object + '_filter',
|
1369 |
-
'cookie':
|
1370 |
'object': object,
|
1371 |
'filter': filter,
|
1372 |
'search_terms': search_terms,
|
@@ -1414,7 +1354,7 @@ function bp_activity_request(scope, filter) {
|
|
1414 |
|
1415 |
bp_ajax_request = jq.post( ajaxurl, {
|
1416 |
action: 'activity_widget_filter',
|
1417 |
-
'cookie':
|
1418 |
'_wpnonce_activity_filter': jq("#_wpnonce_activity_filter").val(),
|
1419 |
'scope': scope,
|
1420 |
'filter': filter
|
@@ -1464,8 +1404,8 @@ function bp_legacy_theme_hide_comments() {
|
|
1464 |
jq(this).addClass('hidden');
|
1465 |
jq(this).toggle();
|
1466 |
|
1467 |
-
if ( !i )
|
1468 |
-
jq(this).before( '<li class="show-all"><a href="#' + parent_li.attr('id') + '/show-all/" title="' + BP_DTheme.show_all_comments + '">' + BP_DTheme.
|
1469 |
}
|
1470 |
});
|
1471 |
|
@@ -1508,31 +1448,6 @@ function clear(container) {
|
|
1508 |
return;
|
1509 |
}
|
1510 |
|
1511 |
-
/* Returns a querystring of BP cookies (cookies beginning with 'bp-') */
|
1512 |
-
function bp_get_cookies() {
|
1513 |
-
// get all cookies and split into an array
|
1514 |
-
var allCookies = document.cookie.split(";");
|
1515 |
-
|
1516 |
-
var bpCookies = {};
|
1517 |
-
var cookiePrefix = 'bp-';
|
1518 |
-
|
1519 |
-
// loop through cookies
|
1520 |
-
for (var i = 0; i < allCookies.length; i++) {
|
1521 |
-
var cookie = allCookies[i];
|
1522 |
-
var delimiter = cookie.indexOf("=");
|
1523 |
-
var name = unescape( cookie.slice(0, delimiter) ).trim();
|
1524 |
-
var value = unescape( cookie.slice(delimiter + 1) );
|
1525 |
-
|
1526 |
-
// if BP cookie, store it
|
1527 |
-
if ( name.indexOf(cookiePrefix) == 0 ) {
|
1528 |
-
bpCookies[name] = value;
|
1529 |
-
}
|
1530 |
-
}
|
1531 |
-
|
1532 |
-
// returns BP cookies as querystring
|
1533 |
-
return encodeURIComponent( jq.param(bpCookies) );
|
1534 |
-
}
|
1535 |
-
|
1536 |
/* ScrollTo plugin - just inline and minified */
|
1537 |
;(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(e==null)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
|
1538 |
|
21 |
bp_init_objects( objects );
|
22 |
|
23 |
/* @mention Compose Scrolling */
|
24 |
+
if ( jq.query.get('r') && jq('#whats-new').length ) {
|
|
|
25 |
jq('#whats-new-options').animate({
|
26 |
height:'40px'
|
27 |
});
|
28 |
jq("#whats-new-form textarea").animate({
|
29 |
height:'50px'
|
30 |
});
|
31 |
+
jq.scrollTo( jq('#whats-new'), 500, {
|
32 |
offset:-125,
|
33 |
easing:'easeOutQuad'
|
34 |
} );
|
35 |
+
jq('#whats-new').focus();
|
|
|
36 |
}
|
37 |
|
38 |
/**** Activity Posting ********************************************************/
|
39 |
|
40 |
/* Textarea focus */
|
41 |
+
jq('#whats-new').focus( function(){
|
42 |
jq("#whats-new-options").animate({
|
43 |
height:'40px'
|
44 |
});
|
46 |
height:'50px'
|
47 |
});
|
48 |
jq("#aw-whats-new-submit").prop("disabled", false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
});
|
50 |
|
51 |
/* New posts */
|
52 |
jq("#aw-whats-new-submit").on( 'click', function() {
|
53 |
var button = jq(this);
|
54 |
+
var form = button.parent().parent().parent().parent();
|
55 |
|
56 |
form.children().each( function() {
|
57 |
if ( jq.nodeName(this, "textarea") || jq.nodeName(this, "input") )
|
62 |
jq('div.error').remove();
|
63 |
button.addClass('loading');
|
64 |
button.prop('disabled', true);
|
|
|
65 |
|
66 |
/* Default POST values */
|
67 |
var object = '';
|
75 |
|
76 |
jq.post( ajaxurl, {
|
77 |
action: 'post_update',
|
78 |
+
'cookie': encodeURIComponent(document.cookie),
|
79 |
'_wpnonce_post_update': jq("#_wpnonce_post_update").val(),
|
80 |
'content': content,
|
81 |
'object': object,
|
102 |
}
|
103 |
|
104 |
jq("#activity-stream").prepend(response);
|
105 |
+
jq("#activity-stream li:first").addClass('new-update');
|
106 |
|
107 |
if ( 0 != jq("#latest-update").length ) {
|
108 |
var l = jq("#activity-stream li.new-update .activity-content .activity-inner p").html();
|
195 |
|
196 |
jq.post( ajaxurl, {
|
197 |
action: 'activity_mark_' + type,
|
198 |
+
'cookie': encodeURIComponent(document.cookie),
|
199 |
'id': parent_id
|
200 |
},
|
201 |
function(response) {
|
252 |
|
253 |
jq.post( ajaxurl, {
|
254 |
action: 'delete_activity',
|
255 |
+
'cookie': encodeURIComponent(document.cookie),
|
256 |
'id': id,
|
257 |
'_wpnonce': nonce
|
258 |
},
|
304 |
|
305 |
var oldest_page = ( jq.cookie('bp-activity-oldestpage') * 1 ) + 1;
|
306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
jq.post( ajaxurl, {
|
308 |
action: 'activity_get_older_updates',
|
309 |
+
'cookie': encodeURIComponent(document.cookie),
|
310 |
+
'page': oldest_page
|
|
|
311 |
},
|
312 |
function(response)
|
313 |
{
|
422 |
|
423 |
var ajaxdata = {
|
424 |
action: 'new_activity_comment',
|
425 |
+
'cookie': encodeURIComponent(document.cookie),
|
426 |
'_wpnonce_new_activity_comment': jq("#_wpnonce_new_activity_comment").val(),
|
427 |
'comment_id': comment_id,
|
428 |
'form_id': form_id[2],
|
443 |
if ( response[0] + response[1] == '-1' ) {
|
444 |
form.append( jq( response.substr( 2, response.length ) ).hide().fadeIn( 200 ) );
|
445 |
} else {
|
|
|
446 |
form.fadeOut( 200, function() {
|
447 |
+
if ( 0 == form.parent().children('ul').length ) {
|
448 |
+
if ( form.parent().hasClass('activity-comments') ) {
|
449 |
+
form.parent().prepend('<ul></ul>');
|
450 |
} else {
|
451 |
+
form.parent().append('<ul></ul>');
|
452 |
}
|
453 |
}
|
454 |
|
455 |
/* Preceeding whitespace breaks output with jQuery 1.9.0 */
|
456 |
var the_comment = jq.trim( response );
|
457 |
|
458 |
+
form.parent().children('ul').append( jq( the_comment ).hide().fadeIn( 200 ) );
|
459 |
form.children('textarea').val('');
|
460 |
+
form.parent().parent().addClass('has-comments');
|
461 |
} );
|
462 |
jq( '#' + form.attr('id') + ' textarea').val('');
|
463 |
|
464 |
/* Increase the "Reply (X)" button count */
|
465 |
jq('#activity-' + form_id[2] + ' a.acomment-reply span').html( Number( jq('#activity-' + form_id[2] + ' a.acomment-reply span').html() ) + 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
}
|
467 |
|
468 |
jq(target).prop("disabled", false);
|
495 |
|
496 |
jq.post( ajaxurl, {
|
497 |
action: 'delete_activity_comment',
|
498 |
+
'cookie': encodeURIComponent(document.cookie),
|
499 |
'_wpnonce': nonce,
|
500 |
'id': comment_id
|
501 |
},
|
510 |
if ( !jq(this).is(':hidden') )
|
511 |
child_count++;
|
512 |
});
|
513 |
+
comment_li.fadeOut(200);
|
|
|
|
|
514 |
|
515 |
/* Decrease the "Reply (X)" button count */
|
516 |
var count_span = jq('#' + comment_li.parents('#activity-stream > li').attr('id') + ' a.acomment-reply span');
|
517 |
var new_count = count_span.html() - ( 1 + child_count );
|
518 |
count_span.html(new_count);
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
|
520 |
/* If that was the last comment for the item, remove the has-comments class to clean up the styling */
|
521 |
if ( 0 == new_count ) {
|
772 |
jq.post( ajaxurl, {
|
773 |
action: 'groups_invite_user',
|
774 |
'friend_action': friend_action,
|
775 |
+
'cookie': encodeURIComponent(document.cookie),
|
776 |
'_wpnonce': jq("#_wpnonce_invite_uninvite_user").val(),
|
777 |
'friend_id': friend_id,
|
778 |
'group_id': jq("#group_id").val()
|
805 |
jq.post( ajaxurl, {
|
806 |
action: 'groups_invite_user',
|
807 |
'friend_action': 'uninvite',
|
808 |
+
'cookie': encodeURIComponent(document.cookie),
|
809 |
'_wpnonce': jq("#_wpnonce_invite_uninvite_user").val(),
|
810 |
'friend_id': friend_id,
|
811 |
'group_id': jq("#group_id").val()
|
834 |
|
835 |
jq('.field-visibility-settings-close').on( 'click', function() {
|
836 |
var settings_div = jq(this).parent();
|
|
|
837 |
|
838 |
+
jq(settings_div).slideUp( 400, function(){
|
839 |
+
jq(settings_div).siblings('.field-visibility-settings-toggle').fadeIn(800);
|
840 |
+
});
|
|
|
841 |
|
842 |
return false;
|
843 |
} );
|
844 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
845 |
|
846 |
/** Friendship Requests **************************************/
|
847 |
|
872 |
|
873 |
jq.post( ajaxurl, {
|
874 |
action: action,
|
875 |
+
'cookie': encodeURIComponent(document.cookie),
|
876 |
'id': id,
|
877 |
'_wpnonce': nonce
|
878 |
},
|
914 |
|
915 |
jq.post( ajaxurl, {
|
916 |
action: 'addremove_friend',
|
917 |
+
'cookie': encodeURIComponent(document.cookie),
|
918 |
'fid': fid,
|
919 |
'_wpnonce': nonce
|
920 |
},
|
963 |
|
964 |
jq.post( ajaxurl, {
|
965 |
action: 'joinleave_group',
|
966 |
+
'cookie': encodeURIComponent(document.cookie),
|
967 |
'gid': gid,
|
968 |
'_wpnonce': nonce
|
969 |
},
|
986 |
|
987 |
/** Button disabling ************************************************/
|
988 |
|
989 |
+
jq('.pending').click(function() {
|
990 |
return false;
|
991 |
});
|
992 |
|
1020 |
|
1021 |
jq.post( ajaxurl, {
|
1022 |
action: 'messages_send_reply',
|
1023 |
+
'cookie': encodeURIComponent(document.cookie),
|
1024 |
'_wpnonce': jq("#send_message_nonce").val(),
|
1025 |
|
1026 |
'content': jq("#message_content").val(),
|
1306 |
|
1307 |
bp_ajax_request = jq.post( ajaxurl, {
|
1308 |
action: object + '_filter',
|
1309 |
+
'cookie': encodeURIComponent(document.cookie),
|
1310 |
'object': object,
|
1311 |
'filter': filter,
|
1312 |
'search_terms': search_terms,
|
1354 |
|
1355 |
bp_ajax_request = jq.post( ajaxurl, {
|
1356 |
action: 'activity_widget_filter',
|
1357 |
+
'cookie': encodeURIComponent(document.cookie),
|
1358 |
'_wpnonce_activity_filter': jq("#_wpnonce_activity_filter").val(),
|
1359 |
'scope': scope,
|
1360 |
'filter': filter
|
1404 |
jq(this).addClass('hidden');
|
1405 |
jq(this).toggle();
|
1406 |
|
1407 |
+
if ( !i )
|
1408 |
+
jq(this).before( '<li class="show-all"><a href="#' + parent_li.attr('id') + '/show-all/" title="' + BP_DTheme.show_all_comments + '">' + BP_DTheme.show_all + ' ' + comment_count + ' ' + BP_DTheme.comments + '</a></li>' );
|
1409 |
}
|
1410 |
});
|
1411 |
|
1448 |
return;
|
1449 |
}
|
1450 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1451 |
/* ScrollTo plugin - just inline and minified */
|
1452 |
;(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(e==null)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
|
1453 |
|
bp-themes/bp-default/_inc/ajax.php
CHANGED
@@ -126,12 +126,6 @@ function bp_dtheme_ajax_querystring( $query_string, $object ) {
|
|
126 |
if ( ! empty( $_POST['page'] ) && '-1' != $_POST['page'] )
|
127 |
$qs[] = 'page=' . absint( $_POST['page'] );
|
128 |
|
129 |
-
// exludes activity just posted and avoids duplicate ids
|
130 |
-
if ( ! empty( $_POST['exclude_just_posted'] ) ) {
|
131 |
-
$just_posted = wp_parse_id_list( $_POST['exclude_just_posted'] );
|
132 |
-
$qs[] = 'exclude=' . implode( ',', $just_posted );
|
133 |
-
}
|
134 |
-
|
135 |
$object_search_text = bp_get_search_default_text( $object );
|
136 |
if ( ! empty( $_POST['search_terms'] ) && $object_search_text != $_POST['search_terms'] && 'false' != $_POST['search_terms'] && 'undefined' != $_POST['search_terms'] )
|
137 |
$qs[] = 'search_terms=' . $_POST['search_terms'];
|
@@ -174,26 +168,19 @@ function bp_dtheme_object_template_loader() {
|
|
174 |
if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
|
175 |
return;
|
176 |
|
177 |
-
// Bail if no object passed
|
178 |
-
if ( empty( $_POST['object'] ) )
|
179 |
-
return;
|
180 |
-
|
181 |
-
// Sanitize the object
|
182 |
-
$object = sanitize_title( $_POST['object'] );
|
183 |
-
|
184 |
-
// Bail if object is not an active component
|
185 |
-
if ( ! bp_is_active( $object ) )
|
186 |
-
return;
|
187 |
-
|
188 |
/**
|
189 |
* AJAX requests happen too early to be seen by bp_update_is_directory()
|
190 |
* so we do it manually here to ensure templates load with the correct
|
191 |
* context. Without this check, templates will load the 'single' version
|
192 |
* of themselves rather than the directory version.
|
193 |
*/
|
|
|
194 |
if ( ! bp_current_action() )
|
195 |
bp_update_is_directory( true, bp_current_component() );
|
196 |
|
|
|
|
|
|
|
197 |
// Locate the object template
|
198 |
locate_template( array( "$object/$object-loop.php" ), true );
|
199 |
exit;
|
@@ -549,6 +536,7 @@ function bp_dtheme_get_single_activity_content() {
|
|
549 |
/**
|
550 |
* Invites a friend to join a group via a POST request.
|
551 |
*
|
|
|
552 |
* @since BuddyPress (1.2)
|
553 |
* @todo Audit return types
|
554 |
*/
|
126 |
if ( ! empty( $_POST['page'] ) && '-1' != $_POST['page'] )
|
127 |
$qs[] = 'page=' . absint( $_POST['page'] );
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
$object_search_text = bp_get_search_default_text( $object );
|
130 |
if ( ! empty( $_POST['search_terms'] ) && $object_search_text != $_POST['search_terms'] && 'false' != $_POST['search_terms'] && 'undefined' != $_POST['search_terms'] )
|
131 |
$qs[] = 'search_terms=' . $_POST['search_terms'];
|
168 |
if ( 'POST' !== strtoupper( $_SERVER['REQUEST_METHOD'] ) )
|
169 |
return;
|
170 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
/**
|
172 |
* AJAX requests happen too early to be seen by bp_update_is_directory()
|
173 |
* so we do it manually here to ensure templates load with the correct
|
174 |
* context. Without this check, templates will load the 'single' version
|
175 |
* of themselves rather than the directory version.
|
176 |
*/
|
177 |
+
|
178 |
if ( ! bp_current_action() )
|
179 |
bp_update_is_directory( true, bp_current_component() );
|
180 |
|
181 |
+
// Sanitize the post object
|
182 |
+
$object = esc_attr( $_POST['object'] );
|
183 |
+
|
184 |
// Locate the object template
|
185 |
locate_template( array( "$object/$object-loop.php" ), true );
|
186 |
exit;
|
536 |
/**
|
537 |
* Invites a friend to join a group via a POST request.
|
538 |
*
|
539 |
+
* @return unknown
|
540 |
* @since BuddyPress (1.2)
|
541 |
* @todo Audit return types
|
542 |
*/
|
bp-themes/bp-default/_inc/css/default.css
CHANGED
@@ -1573,22 +1573,8 @@ ul.button-nav li.current a {
|
|
1573 |
--------------------------------------------------------------*/
|
1574 |
.standard-form textarea,
|
1575 |
.standard-form input[type=text],
|
1576 |
-
.standard-form input[type=color],
|
1577 |
-
.standard-form input[type=date],
|
1578 |
-
.standard-form input[type=datetime],
|
1579 |
-
.standard-form input[type=datetime-local],
|
1580 |
-
.standard-form input[type=email],
|
1581 |
-
.standard-form input[type=month],
|
1582 |
-
.standard-form input[type=number],
|
1583 |
-
.standard-form input[type=range],
|
1584 |
-
.standard-form input[type=search],
|
1585 |
-
.standard-form input[type=tel],
|
1586 |
-
.standard-form input[type=time],
|
1587 |
-
.standard-form input[type=url],
|
1588 |
-
.standard-form input[type=week],
|
1589 |
.standard-form select,
|
1590 |
.standard-form input[type=password],
|
1591 |
-
.dir-search input[type=search]
|
1592 |
.dir-search input[type=text] {
|
1593 |
border: 1px inset #ccc;
|
1594 |
-moz-border-radius: 3px;
|
1573 |
--------------------------------------------------------------*/
|
1574 |
.standard-form textarea,
|
1575 |
.standard-form input[type=text],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1576 |
.standard-form select,
|
1577 |
.standard-form input[type=password],
|
|
|
1578 |
.dir-search input[type=text] {
|
1579 |
border: 1px inset #ccc;
|
1580 |
-moz-border-radius: 3px;
|
bp-themes/bp-default/_inc/global.js
CHANGED
@@ -46,31 +46,12 @@ jq(document).ready( function() {
|
|
46 |
height:'50px'
|
47 |
});
|
48 |
jq("#aw-whats-new-submit").prop("disabled", false);
|
49 |
-
|
50 |
-
var $whats_new_form = jq("form#whats-new-form");
|
51 |
-
if ( $whats_new_form.hasClass("submitted") ) {
|
52 |
-
$whats_new_form.removeClass("submitted");
|
53 |
-
}
|
54 |
-
});
|
55 |
-
|
56 |
-
/* On blur, shrink if it's empty */
|
57 |
-
jq('#whats-new').blur( function(){
|
58 |
-
if (!this.value.match(/\S+/)) {
|
59 |
-
this.value = "";
|
60 |
-
jq("#whats-new-options").animate({
|
61 |
-
height:'40px'
|
62 |
-
});
|
63 |
-
jq("form#whats-new-form textarea").animate({
|
64 |
-
height:'20px'
|
65 |
-
});
|
66 |
-
jq("#aw-whats-new-submit").prop("disabled", true);
|
67 |
-
}
|
68 |
});
|
69 |
|
70 |
/* New posts */
|
71 |
jq("input#aw-whats-new-submit").click( function() {
|
72 |
var button = jq(this);
|
73 |
-
var form = button.
|
74 |
|
75 |
form.children().each( function() {
|
76 |
if ( jq.nodeName(this, "textarea") || jq.nodeName(this, "input") )
|
@@ -81,7 +62,6 @@ jq(document).ready( function() {
|
|
81 |
jq('div.error').remove();
|
82 |
button.addClass('loading');
|
83 |
button.prop('disabled', true);
|
84 |
-
form.addClass("submitted");
|
85 |
|
86 |
/* Default POST values */
|
87 |
var object = '';
|
@@ -95,7 +75,7 @@ jq(document).ready( function() {
|
|
95 |
|
96 |
jq.post( ajaxurl, {
|
97 |
action: 'post_update',
|
98 |
-
'cookie':
|
99 |
'_wpnonce_post_update': jq("input#_wpnonce_post_update").val(),
|
100 |
'content': content,
|
101 |
'object': object,
|
@@ -122,7 +102,7 @@ jq(document).ready( function() {
|
|
122 |
}
|
123 |
|
124 |
jq("ul#activity-stream").prepend(response);
|
125 |
-
jq("ul#activity-stream li:first").addClass('new-update
|
126 |
|
127 |
if ( 0 != jq("#latest-update").length ) {
|
128 |
var l = jq("ul#activity-stream li.new-update .activity-content .activity-inner p").html();
|
@@ -215,7 +195,7 @@ jq(document).ready( function() {
|
|
215 |
|
216 |
jq.post( ajaxurl, {
|
217 |
action: 'activity_mark_' + type,
|
218 |
-
'cookie':
|
219 |
'id': parent_id
|
220 |
},
|
221 |
function(response) {
|
@@ -269,7 +249,7 @@ jq(document).ready( function() {
|
|
269 |
|
270 |
jq.post( ajaxurl, {
|
271 |
action: 'delete_activity',
|
272 |
-
'cookie':
|
273 |
'id': id,
|
274 |
'_wpnonce': nonce
|
275 |
},
|
@@ -321,17 +301,10 @@ jq(document).ready( function() {
|
|
321 |
|
322 |
var oldest_page = ( jq.cookie('bp-activity-oldestpage') * 1 ) + 1;
|
323 |
|
324 |
-
var just_posted = [];
|
325 |
-
|
326 |
-
jq('.activity-list li.just-posted').each( function(){
|
327 |
-
just_posted.push( jq(this).attr('id').replace( 'activity-','' ) );
|
328 |
-
});
|
329 |
-
|
330 |
jq.post( ajaxurl, {
|
331 |
action: 'activity_get_older_updates',
|
332 |
-
'cookie':
|
333 |
-
'page': oldest_page
|
334 |
-
'exclude_just_posted': just_posted.join(',')
|
335 |
},
|
336 |
function(response)
|
337 |
{
|
@@ -443,7 +416,7 @@ jq(document).ready( function() {
|
|
443 |
|
444 |
var ajaxdata = {
|
445 |
action: 'new_activity_comment',
|
446 |
-
'cookie':
|
447 |
'_wpnonce_new_activity_comment': jq("input#_wpnonce_new_activity_comment").val(),
|
448 |
'comment_id': comment_id,
|
449 |
'form_id': form_id[2],
|
@@ -463,35 +436,27 @@ jq(document).ready( function() {
|
|
463 |
if ( response[0] + response[1] == '-1' ) {
|
464 |
form.append( jq( response.substr( 2, response.length ) ).hide().fadeIn( 200 ) );
|
465 |
} else {
|
466 |
-
var activity_comments = form.parent();
|
467 |
form.fadeOut( 200, function() {
|
468 |
-
if ( 0 ==
|
469 |
-
if (
|
470 |
-
|
471 |
} else {
|
472 |
-
|
473 |
}
|
474 |
}
|
475 |
|
476 |
/* Preceeding whitespace breaks output with jQuery 1.9.0 */
|
477 |
var the_comment = jq.trim( response );
|
478 |
|
479 |
-
|
480 |
form.children('textarea').val('');
|
481 |
-
|
482 |
} );
|
483 |
|
484 |
jq( 'form#' + form.attr('id') + ' textarea').val('');
|
485 |
|
486 |
/* Increase the "Reply (X)" button count */
|
487 |
jq('li#activity-' + form_id[2] + ' a.acomment-reply span').html( Number( jq('li#activity-' + form_id[2] + ' a.acomment-reply span').html() ) + 1 );
|
488 |
-
|
489 |
-
// Increment the 'Show all x comments' string, if present
|
490 |
-
var show_all_a = activity_comments.find('.show-all').find('a');
|
491 |
-
if ( show_all_a ) {
|
492 |
-
var new_count = jq('li#activity-' + form_id[2] + ' a.acomment-reply span').html();
|
493 |
-
show_all_a.html( BP_DTheme.show_x_comments.replace( '%d', new_count ) );
|
494 |
-
}
|
495 |
}
|
496 |
|
497 |
jq(target).prop("disabled", false);
|
@@ -523,7 +488,7 @@ jq(document).ready( function() {
|
|
523 |
|
524 |
jq.post( ajaxurl, {
|
525 |
action: 'delete_activity_comment',
|
526 |
-
'cookie':
|
527 |
'_wpnonce': nonce,
|
528 |
'id': comment_id
|
529 |
},
|
@@ -539,20 +504,12 @@ jq(document).ready( function() {
|
|
539 |
if ( !jq(this).is(':hidden') )
|
540 |
child_count++;
|
541 |
});
|
542 |
-
comment_li.fadeOut(200
|
543 |
-
comment_li.remove();
|
544 |
-
});
|
545 |
|
546 |
/* Decrease the "Reply (X)" button count */
|
547 |
var count_span = jq('li#' + comment_li.parents('ul#activity-stream > li').attr('id') + ' a.acomment-reply span');
|
548 |
var new_count = count_span.html() - ( 1 + child_count );
|
549 |
count_span.html(new_count);
|
550 |
-
|
551 |
-
// Change the 'Show all x comments' text
|
552 |
-
var show_all_a = comment_li.siblings('.show-all').find('a');
|
553 |
-
if ( show_all_a ) {
|
554 |
-
show_all_a.html( BP_DTheme.show_x_comments.replace( '%d', new_count ) );
|
555 |
-
}
|
556 |
|
557 |
/* If that was the last comment for the item, remove the has-comments class to clean up the styling */
|
558 |
if ( 0 == new_count ) {
|
@@ -803,7 +760,7 @@ jq(document).ready( function() {
|
|
803 |
jq.post( ajaxurl, {
|
804 |
action: 'groups_invite_user',
|
805 |
'friend_action': friend_action,
|
806 |
-
'cookie':
|
807 |
'_wpnonce': jq("input#_wpnonce_invite_uninvite_user").val(),
|
808 |
'friend_id': friend_id,
|
809 |
'group_id': jq("input#group_id").val()
|
@@ -826,7 +783,7 @@ jq(document).ready( function() {
|
|
826 |
});
|
827 |
|
828 |
/* Remove a user from the list of users to invite to a group */
|
829 |
-
jq("#friend-list").on('click',
|
830 |
jq('.ajax-loader').toggle();
|
831 |
|
832 |
var friend_id = jq(this).attr('id');
|
@@ -836,7 +793,7 @@ jq(document).ready( function() {
|
|
836 |
jq.post( ajaxurl, {
|
837 |
action: 'groups_invite_user',
|
838 |
'friend_action': 'uninvite',
|
839 |
-
'cookie':
|
840 |
'_wpnonce': jq("input#_wpnonce_invite_uninvite_user").val(),
|
841 |
'friend_id': friend_id,
|
842 |
'group_id': jq("input#group_id").val()
|
@@ -903,7 +860,7 @@ jq(document).ready( function() {
|
|
903 |
|
904 |
jq.post( ajaxurl, {
|
905 |
action: action,
|
906 |
-
'cookie':
|
907 |
'id': id,
|
908 |
'_wpnonce': nonce
|
909 |
},
|
@@ -945,7 +902,7 @@ jq(document).ready( function() {
|
|
945 |
|
946 |
jq.post( ajaxurl, {
|
947 |
action: 'addremove_friend',
|
948 |
-
'cookie':
|
949 |
'fid': fid,
|
950 |
'_wpnonce': nonce
|
951 |
},
|
@@ -994,7 +951,7 @@ jq(document).ready( function() {
|
|
994 |
|
995 |
jq.post( ajaxurl, {
|
996 |
action: 'joinleave_group',
|
997 |
-
'cookie':
|
998 |
'gid': gid,
|
999 |
'_wpnonce': nonce
|
1000 |
},
|
@@ -1051,7 +1008,7 @@ jq(document).ready( function() {
|
|
1051 |
|
1052 |
jq.post( ajaxurl, {
|
1053 |
action: 'messages_send_reply',
|
1054 |
-
'cookie':
|
1055 |
'_wpnonce': jq("input#send_message_nonce").val(),
|
1056 |
|
1057 |
'content': jq("#message_content").val(),
|
@@ -1332,7 +1289,7 @@ function bp_filter_request( object, filter, scope, target, search_terms, page, e
|
|
1332 |
|
1333 |
bp_ajax_request = jq.post( ajaxurl, {
|
1334 |
action: object + '_filter',
|
1335 |
-
'cookie':
|
1336 |
'object': object,
|
1337 |
'filter': filter,
|
1338 |
'search_terms': search_terms,
|
@@ -1380,7 +1337,7 @@ function bp_activity_request(scope, filter) {
|
|
1380 |
|
1381 |
bp_ajax_request = jq.post( ajaxurl, {
|
1382 |
action: 'activity_widget_filter',
|
1383 |
-
'cookie':
|
1384 |
'_wpnonce_activity_filter': jq("input#_wpnonce_activity_filter").val(),
|
1385 |
'scope': scope,
|
1386 |
'filter': filter
|
@@ -1431,7 +1388,7 @@ function bp_dtheme_hide_comments() {
|
|
1431 |
jq(this).toggle();
|
1432 |
|
1433 |
if ( !i )
|
1434 |
-
jq(this).before( '<li class="show-all"><a href="#' + parent_li.attr('id') + '/show-all/" title="' + BP_DTheme.show_all_comments + '">' + BP_DTheme.
|
1435 |
}
|
1436 |
});
|
1437 |
|
@@ -1474,31 +1431,6 @@ function clear(container) {
|
|
1474 |
return;
|
1475 |
}
|
1476 |
|
1477 |
-
/* Returns a querystring of BP cookies (cookies beginning with 'bp-') */
|
1478 |
-
function bp_get_cookies() {
|
1479 |
-
// get all cookies and split into an array
|
1480 |
-
var allCookies = document.cookie.split(";");
|
1481 |
-
|
1482 |
-
var bpCookies = {};
|
1483 |
-
var cookiePrefix = 'bp-';
|
1484 |
-
|
1485 |
-
// loop through cookies
|
1486 |
-
for (var i = 0; i < allCookies.length; i++) {
|
1487 |
-
var cookie = allCookies[i];
|
1488 |
-
var delimiter = cookie.indexOf("=");
|
1489 |
-
var name = unescape( cookie.slice(0, delimiter) ).trim();
|
1490 |
-
var value = unescape( cookie.slice(delimiter + 1) );
|
1491 |
-
|
1492 |
-
// if BP cookie, store it
|
1493 |
-
if ( name.indexOf(cookiePrefix) == 0 ) {
|
1494 |
-
bpCookies[name] = value;
|
1495 |
-
}
|
1496 |
-
}
|
1497 |
-
|
1498 |
-
// returns BP cookies as querystring
|
1499 |
-
return encodeURIComponent( jq.param(bpCookies) );
|
1500 |
-
}
|
1501 |
-
|
1502 |
/* ScrollTo plugin - just inline and minified */
|
1503 |
;(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(e==null)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
|
1504 |
|
46 |
height:'50px'
|
47 |
});
|
48 |
jq("#aw-whats-new-submit").prop("disabled", false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
});
|
50 |
|
51 |
/* New posts */
|
52 |
jq("input#aw-whats-new-submit").click( function() {
|
53 |
var button = jq(this);
|
54 |
+
var form = button.parent().parent().parent().parent();
|
55 |
|
56 |
form.children().each( function() {
|
57 |
if ( jq.nodeName(this, "textarea") || jq.nodeName(this, "input") )
|
62 |
jq('div.error').remove();
|
63 |
button.addClass('loading');
|
64 |
button.prop('disabled', true);
|
|
|
65 |
|
66 |
/* Default POST values */
|
67 |
var object = '';
|
75 |
|
76 |
jq.post( ajaxurl, {
|
77 |
action: 'post_update',
|
78 |
+
'cookie': encodeURIComponent(document.cookie),
|
79 |
'_wpnonce_post_update': jq("input#_wpnonce_post_update").val(),
|
80 |
'content': content,
|
81 |
'object': object,
|
102 |
}
|
103 |
|
104 |
jq("ul#activity-stream").prepend(response);
|
105 |
+
jq("ul#activity-stream li:first").addClass('new-update');
|
106 |
|
107 |
if ( 0 != jq("#latest-update").length ) {
|
108 |
var l = jq("ul#activity-stream li.new-update .activity-content .activity-inner p").html();
|
195 |
|
196 |
jq.post( ajaxurl, {
|
197 |
action: 'activity_mark_' + type,
|
198 |
+
'cookie': encodeURIComponent(document.cookie),
|
199 |
'id': parent_id
|
200 |
},
|
201 |
function(response) {
|
249 |
|
250 |
jq.post( ajaxurl, {
|
251 |
action: 'delete_activity',
|
252 |
+
'cookie': encodeURIComponent(document.cookie),
|
253 |
'id': id,
|
254 |
'_wpnonce': nonce
|
255 |
},
|
301 |
|
302 |
var oldest_page = ( jq.cookie('bp-activity-oldestpage') * 1 ) + 1;
|
303 |
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
jq.post( ajaxurl, {
|
305 |
action: 'activity_get_older_updates',
|
306 |
+
'cookie': encodeURIComponent(document.cookie),
|
307 |
+
'page': oldest_page
|
|
|
308 |
},
|
309 |
function(response)
|
310 |
{
|
416 |
|
417 |
var ajaxdata = {
|
418 |
action: 'new_activity_comment',
|
419 |
+
'cookie': encodeURIComponent(document.cookie),
|
420 |
'_wpnonce_new_activity_comment': jq("input#_wpnonce_new_activity_comment").val(),
|
421 |
'comment_id': comment_id,
|
422 |
'form_id': form_id[2],
|
436 |
if ( response[0] + response[1] == '-1' ) {
|
437 |
form.append( jq( response.substr( 2, response.length ) ).hide().fadeIn( 200 ) );
|
438 |
} else {
|
|
|
439 |
form.fadeOut( 200, function() {
|
440 |
+
if ( 0 == form.parent().children('ul').length ) {
|
441 |
+
if ( form.parent().hasClass('activity-comments') ) {
|
442 |
+
form.parent().prepend('<ul></ul>');
|
443 |
} else {
|
444 |
+
form.parent().append('<ul></ul>');
|
445 |
}
|
446 |
}
|
447 |
|
448 |
/* Preceeding whitespace breaks output with jQuery 1.9.0 */
|
449 |
var the_comment = jq.trim( response );
|
450 |
|
451 |
+
form.parent().children('ul').append( jq( the_comment ).hide().fadeIn( 200 ) );
|
452 |
form.children('textarea').val('');
|
453 |
+
form.parent().parent().addClass('has-comments');
|
454 |
} );
|
455 |
|
456 |
jq( 'form#' + form.attr('id') + ' textarea').val('');
|
457 |
|
458 |
/* Increase the "Reply (X)" button count */
|
459 |
jq('li#activity-' + form_id[2] + ' a.acomment-reply span').html( Number( jq('li#activity-' + form_id[2] + ' a.acomment-reply span').html() ) + 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
}
|
461 |
|
462 |
jq(target).prop("disabled", false);
|
488 |
|
489 |
jq.post( ajaxurl, {
|
490 |
action: 'delete_activity_comment',
|
491 |
+
'cookie': encodeURIComponent(document.cookie),
|
492 |
'_wpnonce': nonce,
|
493 |
'id': comment_id
|
494 |
},
|
504 |
if ( !jq(this).is(':hidden') )
|
505 |
child_count++;
|
506 |
});
|
507 |
+
comment_li.fadeOut(200);
|
|
|
|
|
508 |
|
509 |
/* Decrease the "Reply (X)" button count */
|
510 |
var count_span = jq('li#' + comment_li.parents('ul#activity-stream > li').attr('id') + ' a.acomment-reply span');
|
511 |
var new_count = count_span.html() - ( 1 + child_count );
|
512 |
count_span.html(new_count);
|
|
|
|
|
|
|
|
|
|
|
|
|
513 |
|
514 |
/* If that was the last comment for the item, remove the has-comments class to clean up the styling */
|
515 |
if ( 0 == new_count ) {
|
760 |
jq.post( ajaxurl, {
|
761 |
action: 'groups_invite_user',
|
762 |
'friend_action': friend_action,
|
763 |
+
'cookie': encodeURIComponent(document.cookie),
|
764 |
'_wpnonce': jq("input#_wpnonce_invite_uninvite_user").val(),
|
765 |
'friend_id': friend_id,
|
766 |
'group_id': jq("input#group_id").val()
|
783 |
});
|
784 |
|
785 |
/* Remove a user from the list of users to invite to a group */
|
786 |
+
jq("#friend-list li a.remove").on('click', function() {
|
787 |
jq('.ajax-loader').toggle();
|
788 |
|
789 |
var friend_id = jq(this).attr('id');
|
793 |
jq.post( ajaxurl, {
|
794 |
action: 'groups_invite_user',
|
795 |
'friend_action': 'uninvite',
|
796 |
+
'cookie': encodeURIComponent(document.cookie),
|
797 |
'_wpnonce': jq("input#_wpnonce_invite_uninvite_user").val(),
|
798 |
'friend_id': friend_id,
|
799 |
'group_id': jq("input#group_id").val()
|
860 |
|
861 |
jq.post( ajaxurl, {
|
862 |
action: action,
|
863 |
+
'cookie': encodeURIComponent(document.cookie),
|
864 |
'id': id,
|
865 |
'_wpnonce': nonce
|
866 |
},
|
902 |
|
903 |
jq.post( ajaxurl, {
|
904 |
action: 'addremove_friend',
|
905 |
+
'cookie': encodeURIComponent(document.cookie),
|
906 |
'fid': fid,
|
907 |
'_wpnonce': nonce
|
908 |
},
|
951 |
|
952 |
jq.post( ajaxurl, {
|
953 |
action: 'joinleave_group',
|
954 |
+
'cookie': encodeURIComponent(document.cookie),
|
955 |
'gid': gid,
|
956 |
'_wpnonce': nonce
|
957 |
},
|
1008 |
|
1009 |
jq.post( ajaxurl, {
|
1010 |
action: 'messages_send_reply',
|
1011 |
+
'cookie': encodeURIComponent(document.cookie),
|
1012 |
'_wpnonce': jq("input#send_message_nonce").val(),
|
1013 |
|
1014 |
'content': jq("#message_content").val(),
|
1289 |
|
1290 |
bp_ajax_request = jq.post( ajaxurl, {
|
1291 |
action: object + '_filter',
|
1292 |
+
'cookie': encodeURIComponent(document.cookie),
|
1293 |
'object': object,
|
1294 |
'filter': filter,
|
1295 |
'search_terms': search_terms,
|
1337 |
|
1338 |
bp_ajax_request = jq.post( ajaxurl, {
|
1339 |
action: 'activity_widget_filter',
|
1340 |
+
'cookie': encodeURIComponent(document.cookie),
|
1341 |
'_wpnonce_activity_filter': jq("input#_wpnonce_activity_filter").val(),
|
1342 |
'scope': scope,
|
1343 |
'filter': filter
|
1388 |
jq(this).toggle();
|
1389 |
|
1390 |
if ( !i )
|
1391 |
+
jq(this).before( '<li class="show-all"><a href="#' + parent_li.attr('id') + '/show-all/" title="' + BP_DTheme.show_all_comments + '">' + BP_DTheme.show_all + ' ' + comment_count + ' ' + BP_DTheme.comments + '</a></li>' );
|
1392 |
}
|
1393 |
});
|
1394 |
|
1431 |
return;
|
1432 |
}
|
1433 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1434 |
/* ScrollTo plugin - just inline and minified */
|
1435 |
;(function($){var h=$.scrollTo=function(a,b,c){$(window).scrollTo(a,b,c)};h.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};h.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(e,f,g){if(typeof f=='object'){g=f;f=0}if(typeof g=='function')g={onAfter:g};if(e=='max')e=9e9;g=$.extend({},h.defaults,g);f=f||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=both(g.offset);g.over=both(g.over);return this._scrollable().each(function(){if(e==null)return;var d=this,$elem=$(d),targ=e,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(g.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=h.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(g.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=g.offset[pos]||0;if(g.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*g.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(g.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&g.queue){if(old!=attr[key])animate(g.onAfterFirst);delete attr[key]}});animate(g.onAfter);function animate(a){$elem.animate(attr,f,g.easing,a&&function(){a.call(this,e,g)})}}).end()};h.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
|
1436 |
|
bp-themes/bp-default/activity/comment.php
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
<div class="acomment-meta">
|
28 |
<?php
|
29 |
/* translators: 1: user profile link, 2: user name, 3: activity permalink, 4: activity timestamp */
|
30 |
-
printf( __( '<a href="%1$s">%2$s</a> replied <a href="%3$s" class="activity-time-since"><span class="time-since">%4$s</span></a>', 'buddypress' ), bp_get_activity_comment_user_link(), bp_get_activity_comment_name(),
|
31 |
?>
|
32 |
</div>
|
33 |
|
27 |
<div class="acomment-meta">
|
28 |
<?php
|
29 |
/* translators: 1: user profile link, 2: user name, 3: activity permalink, 4: activity timestamp */
|
30 |
+
printf( __( '<a href="%1$s">%2$s</a> replied <a href="%3$s" class="activity-time-since"><span class="time-since">%4$s</span></a>', 'buddypress' ), bp_get_activity_comment_user_link(), bp_get_activity_comment_name(), bp_get_activity_thread_permalink(), bp_get_activity_comment_date_recorded() );
|
31 |
?>
|
32 |
</div>
|
33 |
|
bp-themes/bp-default/activity/index.php
CHANGED
@@ -72,13 +72,9 @@ get_header( 'buddypress' ); ?>
|
|
72 |
|
73 |
<?php endif; ?>
|
74 |
|
75 |
-
<?php
|
76 |
|
77 |
-
|
78 |
-
|
79 |
-
<li id="activity-mentions"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/mentions/'; ?>" title="<?php _e( 'Activity that I have been mentioned in.', 'buddypress' ); ?>"><?php _e( 'Mentions', 'buddypress' ); ?><?php if ( bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ) : ?> <strong><span><?php printf( _nx( '%s new', '%s new', bp_get_total_mention_count_for_user( bp_loggedin_user_id() ), 'Number of new activity mentions', 'buddypress' ), bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ); ?></span></strong><?php endif; ?></a></li>
|
80 |
-
|
81 |
-
<?php endif; ?>
|
82 |
|
83 |
<?php endif; ?>
|
84 |
|
72 |
|
73 |
<?php endif; ?>
|
74 |
|
75 |
+
<?php do_action( 'bp_before_activity_type_tab_mentions' ); ?>
|
76 |
|
77 |
+
<li id="activity-mentions"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/mentions/'; ?>" title="<?php _e( 'Activity that I have been mentioned in.', 'buddypress' ); ?>"><?php _e( 'Mentions', 'buddypress' ); ?><?php if ( bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ) : ?> <strong><?php printf( __( '<span>%s new</span>', 'buddypress' ), bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ); ?></strong><?php endif; ?></a></li>
|
|
|
|
|
|
|
|
|
78 |
|
79 |
<?php endif; ?>
|
80 |
|
bp-themes/bp-default/comments.php
CHANGED
@@ -52,7 +52,7 @@
|
|
52 |
<?php if ( ! comments_open() ) : ?>
|
53 |
<?php if ( pings_open() ) : ?>
|
54 |
<p class="comments-closed pings-open">
|
55 |
-
<?php printf( __( 'Comments are closed, but <a href="%1$s" title="Trackback URL for this post">trackbacks</a> and pingbacks are open.', 'buddypress' ),
|
56 |
</p>
|
57 |
<?php else : ?>
|
58 |
<p class="comments-closed">
|
52 |
<?php if ( ! comments_open() ) : ?>
|
53 |
<?php if ( pings_open() ) : ?>
|
54 |
<p class="comments-closed pings-open">
|
55 |
+
<?php printf( __( 'Comments are closed, but <a href="%1$s" title="Trackback URL for this post">trackbacks</a> and pingbacks are open.', 'buddypress' ), trackback_url( '0' ) ); ?>
|
56 |
</p>
|
57 |
<?php else : ?>
|
58 |
<p class="comments-closed">
|
bp-themes/bp-default/functions.php
CHANGED
@@ -119,7 +119,7 @@ function bp_dtheme_setup() {
|
|
119 |
add_action( 'bp_member_header_actions', 'bp_add_friend_button', 5 );
|
120 |
|
121 |
// Activity button
|
122 |
-
if ( bp_is_active( 'activity' )
|
123 |
add_action( 'bp_member_header_actions', 'bp_send_public_message_button', 20 );
|
124 |
|
125 |
// Messages button
|
@@ -159,7 +159,6 @@ function bp_dtheme_enqueue_scripts() {
|
|
159 |
'accepted' => __( 'Accepted', 'buddypress' ),
|
160 |
'rejected' => __( 'Rejected', 'buddypress' ),
|
161 |
'show_all_comments' => __( 'Show all comments for this thread', 'buddypress' ),
|
162 |
-
'show_x_comments' => __( 'Show all %d comments', 'buddypress' ),
|
163 |
'show_all' => __( 'Show all', 'buddypress' ),
|
164 |
'comments' => __( 'comments', 'buddypress' ),
|
165 |
'close' => __( 'Close', 'buddypress' ),
|
@@ -520,7 +519,7 @@ if ( !function_exists( 'bp_dtheme_page_on_front' ) ) :
|
|
520 |
/**
|
521 |
* Return the ID of a page set as the home page.
|
522 |
*
|
523 |
-
* @return int
|
524 |
* @since BuddyPress (1.2)
|
525 |
*/
|
526 |
function bp_dtheme_page_on_front() {
|
119 |
add_action( 'bp_member_header_actions', 'bp_add_friend_button', 5 );
|
120 |
|
121 |
// Activity button
|
122 |
+
if ( bp_is_active( 'activity' ) )
|
123 |
add_action( 'bp_member_header_actions', 'bp_send_public_message_button', 20 );
|
124 |
|
125 |
// Messages button
|
159 |
'accepted' => __( 'Accepted', 'buddypress' ),
|
160 |
'rejected' => __( 'Rejected', 'buddypress' ),
|
161 |
'show_all_comments' => __( 'Show all comments for this thread', 'buddypress' ),
|
|
|
162 |
'show_all' => __( 'Show all', 'buddypress' ),
|
163 |
'comments' => __( 'comments', 'buddypress' ),
|
164 |
'close' => __( 'Close', 'buddypress' ),
|
519 |
/**
|
520 |
* Return the ID of a page set as the home page.
|
521 |
*
|
522 |
+
* @return false|int ID of page set as the home page
|
523 |
* @since BuddyPress (1.2)
|
524 |
*/
|
525 |
function bp_dtheme_page_on_front() {
|
bp-themes/bp-default/groups/single/admin.php
CHANGED
@@ -22,9 +22,9 @@
|
|
22 |
<?php do_action( 'groups_custom_group_fields_editable' ); ?>
|
23 |
|
24 |
<p>
|
25 |
-
<label for="group-notifiy-members">
|
26 |
-
|
27 |
-
|
28 |
</p>
|
29 |
|
30 |
<?php do_action( 'bp_after_group_details_admin' ); ?>
|
@@ -87,30 +87,30 @@
|
|
87 |
</label>
|
88 |
</div>
|
89 |
|
90 |
-
<hr />
|
|
|
|
|
91 |
|
92 |
-
<
|
93 |
|
94 |
-
<
|
|
|
|
|
|
|
|
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
<
|
99 |
-
<strong><?php _e( 'All group members', 'buddypress' ); ?></strong>
|
100 |
</label>
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
|
102 |
-
|
103 |
-
<input type="radio" name="group-invite-status" value="mods"<?php bp_group_show_invite_status_setting( 'mods' ); ?> />
|
104 |
-
<strong><?php _e( 'Group admins and mods only', 'buddypress' ); ?></strong>
|
105 |
-
</label>
|
106 |
-
|
107 |
-
<label>
|
108 |
-
<input type="radio" name="group-invite-status" value="admins"<?php bp_group_show_invite_status_setting( 'admins' ); ?> />
|
109 |
-
<strong><?php _e( 'Group admins only', 'buddypress' ); ?></strong>
|
110 |
-
</label>
|
111 |
-
</div>
|
112 |
-
|
113 |
-
<hr />
|
114 |
|
115 |
<?php do_action( 'bp_after_group_settings_admin' ); ?>
|
116 |
|
@@ -172,14 +172,14 @@
|
|
172 |
<?php if ( bp_is_group_admin_screen( 'manage-members' ) ) : ?>
|
173 |
|
174 |
<?php do_action( 'bp_before_group_manage_members_admin' ); ?>
|
175 |
-
|
176 |
<div class="bp-widget">
|
177 |
<h4><?php _e( 'Administrators', 'buddypress' ); ?></h4>
|
178 |
|
179 |
<?php if ( bp_has_members( '&include='. bp_group_admin_ids() ) ) : ?>
|
180 |
-
|
181 |
<ul id="admins-list" class="item-list single-line">
|
182 |
-
|
183 |
<?php while ( bp_members() ) : bp_the_member(); ?>
|
184 |
<li>
|
185 |
<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
|
@@ -188,26 +188,26 @@
|
|
188 |
<?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
|
189 |
<span class="small">
|
190 |
<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>
|
191 |
-
</span>
|
192 |
<?php endif; ?>
|
193 |
-
</h5>
|
194 |
</li>
|
195 |
<?php endwhile; ?>
|
196 |
-
|
197 |
</ul>
|
198 |
-
|
199 |
<?php endif; ?>
|
200 |
|
201 |
</div>
|
202 |
-
|
203 |
<?php if ( bp_group_has_moderators() ) : ?>
|
204 |
<div class="bp-widget">
|
205 |
-
<h4><?php _e( 'Moderators', 'buddypress' ); ?></h4>
|
206 |
-
|
207 |
<?php if ( bp_has_members( '&include=' . bp_group_mod_ids() ) ) : ?>
|
208 |
<ul id="mods-list" class="item-list single-line">
|
209 |
-
|
210 |
-
<?php while ( bp_members() ) : bp_the_member(); ?>
|
211 |
<li>
|
212 |
<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
|
213 |
<h5>
|
@@ -215,13 +215,13 @@
|
|
215 |
<span class="small">
|
216 |
<a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => bp_get_member_user_id() ) ); ?>" class="button confirm mod-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
|
217 |
<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>
|
218 |
-
</span>
|
219 |
-
</h5>
|
220 |
-
</li>
|
221 |
-
<?php endwhile; ?>
|
222 |
-
|
223 |
</ul>
|
224 |
-
|
225 |
<?php endif; ?>
|
226 |
</div>
|
227 |
<?php endif ?>
|
22 |
<?php do_action( 'groups_custom_group_fields_editable' ); ?>
|
23 |
|
24 |
<p>
|
25 |
+
<label for="group-notifiy-members"><?php _e( 'Notify group members of changes via email', 'buddypress' ); ?></label>
|
26 |
+
<input type="radio" name="group-notify-members" value="1" /> <?php _e( 'Yes', 'buddypress' ); ?>
|
27 |
+
<input type="radio" name="group-notify-members" value="0" checked="checked" /> <?php _e( 'No', 'buddypress' ); ?>
|
28 |
</p>
|
29 |
|
30 |
<?php do_action( 'bp_after_group_details_admin' ); ?>
|
87 |
</label>
|
88 |
</div>
|
89 |
|
90 |
+
<hr />
|
91 |
+
|
92 |
+
<h4><?php _e( 'Group Invitations', 'buddypress' ); ?></h4>
|
93 |
|
94 |
+
<p><?php _e( 'Which members of this group are allowed to invite others?', 'buddypress' ); ?></p>
|
95 |
|
96 |
+
<div class="radio">
|
97 |
+
<label>
|
98 |
+
<input type="radio" name="group-invite-status" value="members"<?php bp_group_show_invite_status_setting( 'members' ); ?> />
|
99 |
+
<strong><?php _e( 'All group members', 'buddypress' ); ?></strong>
|
100 |
+
</label>
|
101 |
|
102 |
+
<label>
|
103 |
+
<input type="radio" name="group-invite-status" value="mods"<?php bp_group_show_invite_status_setting( 'mods' ); ?> />
|
104 |
+
<strong><?php _e( 'Group admins and mods only', 'buddypress' ); ?></strong>
|
|
|
105 |
</label>
|
106 |
+
|
107 |
+
<label>
|
108 |
+
<input type="radio" name="group-invite-status" value="admins"<?php bp_group_show_invite_status_setting( 'admins' ); ?> />
|
109 |
+
<strong><?php _e( 'Group admins only', 'buddypress' ); ?></strong>
|
110 |
+
</label>
|
111 |
+
</div>
|
112 |
|
113 |
+
<hr />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
|
115 |
<?php do_action( 'bp_after_group_settings_admin' ); ?>
|
116 |
|
172 |
<?php if ( bp_is_group_admin_screen( 'manage-members' ) ) : ?>
|
173 |
|
174 |
<?php do_action( 'bp_before_group_manage_members_admin' ); ?>
|
175 |
+
|
176 |
<div class="bp-widget">
|
177 |
<h4><?php _e( 'Administrators', 'buddypress' ); ?></h4>
|
178 |
|
179 |
<?php if ( bp_has_members( '&include='. bp_group_admin_ids() ) ) : ?>
|
180 |
+
|
181 |
<ul id="admins-list" class="item-list single-line">
|
182 |
+
|
183 |
<?php while ( bp_members() ) : bp_the_member(); ?>
|
184 |
<li>
|
185 |
<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
|
188 |
<?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
|
189 |
<span class="small">
|
190 |
<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>
|
191 |
+
</span>
|
192 |
<?php endif; ?>
|
193 |
+
</h5>
|
194 |
</li>
|
195 |
<?php endwhile; ?>
|
196 |
+
|
197 |
</ul>
|
198 |
+
|
199 |
<?php endif; ?>
|
200 |
|
201 |
</div>
|
202 |
+
|
203 |
<?php if ( bp_group_has_moderators() ) : ?>
|
204 |
<div class="bp-widget">
|
205 |
+
<h4><?php _e( 'Moderators', 'buddypress' ); ?></h4>
|
206 |
+
|
207 |
<?php if ( bp_has_members( '&include=' . bp_group_mod_ids() ) ) : ?>
|
208 |
<ul id="mods-list" class="item-list single-line">
|
209 |
+
|
210 |
+
<?php while ( bp_members() ) : bp_the_member(); ?>
|
211 |
<li>
|
212 |
<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
|
213 |
<h5>
|
215 |
<span class="small">
|
216 |
<a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => bp_get_member_user_id() ) ); ?>" class="button confirm mod-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
|
217 |
<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>
|
218 |
+
</span>
|
219 |
+
</h5>
|
220 |
+
</li>
|
221 |
+
<?php endwhile; ?>
|
222 |
+
|
223 |
</ul>
|
224 |
+
|
225 |
<?php endif; ?>
|
226 |
</div>
|
227 |
<?php endif ?>
|
bp-themes/bp-default/groups/single/home.php
CHANGED
@@ -37,7 +37,7 @@
|
|
37 |
*/
|
38 |
|
39 |
// Group is visible
|
40 |
-
if ( bp_group_is_visible() ) :
|
41 |
|
42 |
// Looking at home location
|
43 |
if ( bp_is_group_home() ) :
|
@@ -45,7 +45,7 @@
|
|
45 |
// Use custom front if one exists
|
46 |
$custom_front = locate_template( array( 'groups/single/front.php' ) );
|
47 |
if ( ! empty( $custom_front ) ) : load_template( $custom_front, true );
|
48 |
-
|
49 |
// Default to activity
|
50 |
elseif ( bp_is_active( 'activity' ) ) : locate_template( array( 'groups/single/activity.php' ), true );
|
51 |
|
@@ -80,9 +80,10 @@
|
|
80 |
|
81 |
// Group is not visible
|
82 |
elseif ( ! bp_group_is_visible() ) :
|
|
|
83 |
// Membership request
|
84 |
if ( bp_is_group_membership_request() ) :
|
85 |
-
locate_template( array( 'groups/single/request-membership
|
86 |
|
87 |
// The group is not visible, show the status message
|
88 |
else :
|
@@ -96,7 +97,7 @@
|
|
96 |
<?php do_action( 'bp_after_group_status_message' );
|
97 |
|
98 |
endif;
|
99 |
-
endif;
|
100 |
|
101 |
do_action( 'bp_after_group_body' ); ?>
|
102 |
|
37 |
*/
|
38 |
|
39 |
// Group is visible
|
40 |
+
if ( bp_group_is_visible() ) :
|
41 |
|
42 |
// Looking at home location
|
43 |
if ( bp_is_group_home() ) :
|
45 |
// Use custom front if one exists
|
46 |
$custom_front = locate_template( array( 'groups/single/front.php' ) );
|
47 |
if ( ! empty( $custom_front ) ) : load_template( $custom_front, true );
|
48 |
+
|
49 |
// Default to activity
|
50 |
elseif ( bp_is_active( 'activity' ) ) : locate_template( array( 'groups/single/activity.php' ), true );
|
51 |
|
80 |
|
81 |
// Group is not visible
|
82 |
elseif ( ! bp_group_is_visible() ) :
|
83 |
+
|
84 |
// Membership request
|
85 |
if ( bp_is_group_membership_request() ) :
|
86 |
+
locate_template( array( 'groups/single/request-membership' ), true );
|
87 |
|
88 |
// The group is not visible, show the status message
|
89 |
else :
|
97 |
<?php do_action( 'bp_after_group_status_message' );
|
98 |
|
99 |
endif;
|
100 |
+
endif;
|
101 |
|
102 |
do_action( 'bp_after_group_body' ); ?>
|
103 |
|
bp-themes/bp-default/license.txt
CHANGED
@@ -1,280 +1,280 @@
|
|
1 |
-
GNU GENERAL PUBLIC LICENSE
|
2 |
-
Version 2, June 1991
|
3 |
-
|
4 |
-
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
5 |
-
675 Mass Ave, Cambridge, MA 02139, USA
|
6 |
-
Everyone is permitted to copy and distribute verbatim copies
|
7 |
-
of this license document, but changing it is not allowed.
|
8 |
-
|
9 |
-
Preamble
|
10 |
-
|
11 |
-
The licenses for most software are designed to take away your
|
12 |
-
freedom to share and change it. By contrast, the GNU General Public
|
13 |
-
License is intended to guarantee your freedom to share and change free
|
14 |
-
software--to make sure the software is free for all its users. This
|
15 |
-
General Public License applies to most of the Free Software
|
16 |
-
Foundation's software and to any other program whose authors commit to
|
17 |
-
using it. (Some other Free Software Foundation software is covered by
|
18 |
-
the GNU Library General Public License instead.) You can apply it to
|
19 |
-
your programs, too.
|
20 |
-
|
21 |
-
When we speak of free software, we are referring to freedom, not
|
22 |
-
price. Our General Public Licenses are designed to make sure that you
|
23 |
-
have the freedom to distribute copies of free software (and charge for
|
24 |
-
this service if you wish), that you receive source code or can get it
|
25 |
-
if you want it, that you can change the software or use pieces of it
|
26 |
-
in new free programs; and that you know you can do these things.
|
27 |
-
|
28 |
-
To protect your rights, we need to make restrictions that forbid
|
29 |
-
anyone to deny you these rights or to ask you to surrender the rights.
|
30 |
-
These restrictions translate to certain responsibilities for you if you
|
31 |
-
distribute copies of the software, or if you modify it.
|
32 |
-
|
33 |
-
For example, if you distribute copies of such a program, whether
|
34 |
-
gratis or for a fee, you must give the recipients all the rights that
|
35 |
-
you have. You must make sure that they, too, receive or can get the
|
36 |
-
source code. And you must show them these terms so they know their
|
37 |
-
rights.
|
38 |
-
|
39 |
-
We protect your rights with two steps: (1) copyright the software, and
|
40 |
-
(2) offer you this license which gives you legal permission to copy,
|
41 |
-
distribute and/or modify the software.
|
42 |
-
|
43 |
-
Also, for each author's protection and ours, we want to make certain
|
44 |
-
that everyone understands that there is no warranty for this free
|
45 |
-
software. If the software is modified by someone else and passed on, we
|
46 |
-
want its recipients to know that what they have is not the original, so
|
47 |
-
that any problems introduced by others will not reflect on the original
|
48 |
-
authors' reputations.
|
49 |
-
|
50 |
-
Finally, any free program is threatened constantly by software
|
51 |
-
patents. We wish to avoid the danger that redistributors of a free
|
52 |
-
program will individually obtain patent licenses, in effect making the
|
53 |
-
program proprietary. To prevent this, we have made it clear that any
|
54 |
-
patent must be licensed for everyone's free use or not licensed at all.
|
55 |
-
|
56 |
-
The precise terms and conditions for copying, distribution and
|
57 |
-
modification follow.
|
58 |
-
|
59 |
-
GNU GENERAL PUBLIC LICENSE
|
60 |
-
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61 |
-
|
62 |
-
0. This License applies to any program or other work which contains
|
63 |
-
a notice placed by the copyright holder saying it may be distributed
|
64 |
-
under the terms of this General Public License. The "Program", below,
|
65 |
-
refers to any such program or work, and a "work based on the Program"
|
66 |
-
means either the Program or any derivative work under copyright law:
|
67 |
-
that is to say, a work containing the Program or a portion of it,
|
68 |
-
either verbatim or with modifications and/or translated into another
|
69 |
-
language. (Hereinafter, translation is included without limitation in
|
70 |
-
the term "modification".) Each licensee is addressed as "you".
|
71 |
-
|
72 |
-
Activities other than copying, distribution and modification are not
|
73 |
-
covered by this License; they are outside its scope. The act of
|
74 |
-
running the Program is not restricted, and the output from the Program
|
75 |
-
is covered only if its contents constitute a work based on the
|
76 |
-
Program (independent of having been made by running the Program).
|
77 |
-
Whether that is true depends on what the Program does.
|
78 |
-
|
79 |
-
1. You may copy and distribute verbatim copies of the Program's
|
80 |
-
source code as you receive it, in any medium, provided that you
|
81 |
-
conspicuously and appropriately publish on each copy an appropriate
|
82 |
-
copyright notice and disclaimer of warranty; keep intact all the
|
83 |
-
notices that refer to this License and to the absence of any warranty;
|
84 |
-
and give any other recipients of the Program a copy of this License
|
85 |
-
along with the Program.
|
86 |
-
|
87 |
-
You may charge a fee for the physical act of transferring a copy, and
|
88 |
-
you may at your option offer warranty protection in exchange for a fee.
|
89 |
-
|
90 |
-
2. You may modify your copy or copies of the Program or any portion
|
91 |
-
of it, thus forming a work based on the Program, and copy and
|
92 |
-
distribute such modifications or work under the terms of Section 1
|
93 |
-
above, provided that you also meet all of these conditions:
|
94 |
-
|
95 |
-
a) You must cause the modified files to carry prominent notices
|
96 |
-
stating that you changed the files and the date of any change.
|
97 |
-
|
98 |
-
b) You must cause any work that you distribute or publish, that in
|
99 |
-
whole or in part contains or is derived from the Program or any
|
100 |
-
part thereof, to be licensed as a whole at no charge to all third
|
101 |
-
parties under the terms of this License.
|
102 |
-
|
103 |
-
c) If the modified program normally reads commands interactively
|
104 |
-
when run, you must cause it, when started running for such
|
105 |
-
interactive use in the most ordinary way, to print or display an
|
106 |
-
announcement including an appropriate copyright notice and a
|
107 |
-
notice that there is no warranty (or else, saying that you provide
|
108 |
-
a warranty) and that users may redistribute the program under
|
109 |
-
these conditions, and telling the user how to view a copy of this
|
110 |
-
License. (Exception: if the Program itself is interactive but
|
111 |
-
does not normally print such an announcement, your work based on
|
112 |
-
the Program is not required to print an announcement.)
|
113 |
-
|
114 |
-
These requirements apply to the modified work as a whole. If
|
115 |
-
identifiable sections of that work are not derived from the Program,
|
116 |
-
and can be reasonably considered independent and separate works in
|
117 |
-
themselves, then this License, and its terms, do not apply to those
|
118 |
-
sections when you distribute them as separate works. But when you
|
119 |
-
distribute the same sections as part of a whole which is a work based
|
120 |
-
on the Program, the distribution of the whole must be on the terms of
|
121 |
-
this License, whose permissions for other licensees extend to the
|
122 |
-
entire whole, and thus to each and every part regardless of who wrote it.
|
123 |
-
Thus, it is not the intent of this section to claim rights or contest
|
124 |
-
your rights to work written entirely by you; rather, the intent is to
|
125 |
-
exercise the right to control the distribution of derivative or
|
126 |
-
collective works based on the Program.
|
127 |
-
|
128 |
-
In addition, mere aggregation of another work not based on the Program
|
129 |
-
with the Program (or with a work based on the Program) on a volume of
|
130 |
-
a storage or distribution medium does not bring the other work under
|
131 |
-
the scope of this License.
|
132 |
-
|
133 |
-
3. You may copy and distribute the Program (or a work based on it,
|
134 |
-
under Section 2) in object code or executable form under the terms of
|
135 |
-
Sections 1 and 2 above provided that you also do one of the following:
|
136 |
-
|
137 |
-
a) Accompany it with the complete corresponding machine-readable
|
138 |
-
source code, which must be distributed under the terms of Sections
|
139 |
-
1 and 2 above on a medium customarily used for software interchange; or,
|
140 |
-
|
141 |
-
b) Accompany it with a written offer, valid for at least three
|
142 |
-
years, to give any third party, for a charge no more than your
|
143 |
-
cost of physically performing source distribution, a complete
|
144 |
-
machine-readable copy of the corresponding source code, to be
|
145 |
-
distributed under the terms of Sections 1 and 2 above on a medium
|
146 |
-
customarily used for software interchange; or,
|
147 |
-
|
148 |
-
c) Accompany it with the information you received as to the offer
|
149 |
-
to distribute corresponding source code. (This alternative is
|
150 |
-
allowed only for noncommercial distribution and only if you
|
151 |
-
received the program in object code or executable form with such
|
152 |
-
an offer, in accord with Subsection b above.)
|
153 |
-
|
154 |
-
The source code for a work means the preferred form of the work for
|
155 |
-
making modifications to it. For an executable work, complete source
|
156 |
-
code means all the source code for all modules it contains, plus any
|
157 |
-
associated interface definition files, plus the scripts used to
|
158 |
-
control compilation and installation of the executable. However, as a
|
159 |
-
special exception, the source code distributed need not include
|
160 |
-
anything that is normally distributed (in either source or binary
|
161 |
-
form) with the major components (compiler, kernel, and so on) of the
|
162 |
-
operating system on which the executable runs, unless that component
|
163 |
-
itself accompanies the executable.
|
164 |
-
|
165 |
-
If distribution of executable or object code is made by offering
|
166 |
-
access to copy from a designated place, then offering equivalent
|
167 |
-
access to copy the source code from the same place counts as
|
168 |
-
distribution of the source code, even though third parties are not
|
169 |
-
compelled to copy the source along with the object code.
|
170 |
-
|
171 |
-
4. You may not copy, modify, sublicense, or distribute the Program
|
172 |
-
except as expressly provided under this License. Any attempt
|
173 |
-
otherwise to copy, modify, sublicense or distribute the Program is
|
174 |
-
void, and will automatically terminate your rights under this License.
|
175 |
-
However, parties who have received copies, or rights, from you under
|
176 |
-
this License will not have their licenses terminated so long as such
|
177 |
-
parties remain in full compliance.
|
178 |
-
|
179 |
-
5. You are not required to accept this License, since you have not
|
180 |
-
signed it. However, nothing else grants you permission to modify or
|
181 |
-
distribute the Program or its derivative works. These actions are
|
182 |
-
prohibited by law if you do not accept this License. Therefore, by
|
183 |
-
modifying or distributing the Program (or any work based on the
|
184 |
-
Program), you indicate your acceptance of this License to do so, and
|
185 |
-
all its terms and conditions for copying, distributing or modifying
|
186 |
-
the Program or works based on it.
|
187 |
-
|
188 |
-
6. Each time you redistribute the Program (or any work based on the
|
189 |
-
Program), the recipient automatically receives a license from the
|
190 |
-
original licensor to copy, distribute or modify the Program subject to
|
191 |
-
these terms and conditions. You may not impose any further
|
192 |
-
restrictions on the recipients' exercise of the rights granted herein.
|
193 |
-
You are not responsible for enforcing compliance by third parties to
|
194 |
-
this License.
|
195 |
-
|
196 |
-
7. If, as a consequence of a court judgment or allegation of patent
|
197 |
-
infringement or for any other reason (not limited to patent issues),
|
198 |
-
conditions are imposed on you (whether by court order, agreement or
|
199 |
-
otherwise) that contradict the conditions of this License, they do not
|
200 |
-
excuse you from the conditions of this License. If you cannot
|
201 |
-
distribute so as to satisfy simultaneously your obligations under this
|
202 |
-
License and any other pertinent obligations, then as a consequence you
|
203 |
-
may not distribute the Program at all. For example, if a patent
|
204 |
-
license would not permit royalty-free redistribution of the Program by
|
205 |
-
all those who receive copies directly or indirectly through you, then
|
206 |
-
the only way you could satisfy both it and this License would be to
|
207 |
-
refrain entirely from distribution of the Program.
|
208 |
-
|
209 |
-
If any portion of this section is held invalid or unenforceable under
|
210 |
-
any particular circumstance, the balance of the section is intended to
|
211 |
-
apply and the section as a whole is intended to apply in other
|
212 |
-
circumstances.
|
213 |
-
|
214 |
-
It is not the purpose of this section to induce you to infringe any
|
215 |
-
patents or other property right claims or to contest validity of any
|
216 |
-
such claims; this section has the sole purpose of protecting the
|
217 |
-
integrity of the free software distribution system, which is
|
218 |
-
implemented by public license practices. Many people have made
|
219 |
-
generous contributions to the wide range of software distributed
|
220 |
-
through that system in reliance on consistent application of that
|
221 |
-
system; it is up to the author/donor to decide if he or she is willing
|
222 |
-
to distribute software through any other system and a licensee cannot
|
223 |
-
impose that choice.
|
224 |
-
|
225 |
-
This section is intended to make thoroughly clear what is believed to
|
226 |
-
be a consequence of the rest of this License.
|
227 |
-
|
228 |
-
8. If the distribution and/or use of the Program is restricted in
|
229 |
-
certain countries either by patents or by copyrighted interfaces, the
|
230 |
-
original copyright holder who places the Program under this License
|
231 |
-
may add an explicit geographical distribution limitation excluding
|
232 |
-
those countries, so that distribution is permitted only in or among
|
233 |
-
countries not thus excluded. In such case, this License incorporates
|
234 |
-
the limitation as if written in the body of this License.
|
235 |
-
|
236 |
-
9. The Free Software Foundation may publish revised and/or new versions
|
237 |
-
of the General Public License from time to time. Such new versions will
|
238 |
-
be similar in spirit to the present version, but may differ in detail to
|
239 |
-
address new problems or concerns.
|
240 |
-
|
241 |
-
Each version is given a distinguishing version number. If the Program
|
242 |
-
specifies a version number of this License which applies to it and "any
|
243 |
-
later version", you have the option of following the terms and conditions
|
244 |
-
either of that version or of any later version published by the Free
|
245 |
-
Software Foundation. If the Program does not specify a version number of
|
246 |
-
this License, you may choose any version ever published by the Free Software
|
247 |
-
Foundation.
|
248 |
-
|
249 |
-
10. If you wish to incorporate parts of the Program into other free
|
250 |
-
programs whose distribution conditions are different, write to the author
|
251 |
-
to ask for permission. For software which is copyrighted by the Free
|
252 |
-
Software Foundation, write to the Free Software Foundation; we sometimes
|
253 |
-
make exceptions for this. Our decision will be guided by the two goals
|
254 |
-
of preserving the free status of all derivatives of our free software and
|
255 |
-
of promoting the sharing and reuse of software generally.
|
256 |
-
|
257 |
-
NO WARRANTY
|
258 |
-
|
259 |
-
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
260 |
-
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
261 |
-
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
262 |
-
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
263 |
-
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
264 |
-
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
265 |
-
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
266 |
-
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
267 |
-
REPAIR OR CORRECTION.
|
268 |
-
|
269 |
-
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
270 |
-
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
271 |
-
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
272 |
-
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
273 |
-
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
274 |
-
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
275 |
-
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
276 |
-
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
277 |
-
POSSIBILITY OF SUCH DAMAGES.
|
278 |
-
|
279 |
-
END OF TERMS AND CONDITIONS
|
280 |
-
|
1 |
+
GNU GENERAL PUBLIC LICENSE
|
2 |
+
Version 2, June 1991
|
3 |
+
|
4 |
+
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
5 |
+
675 Mass Ave, Cambridge, MA 02139, USA
|
6 |
+
Everyone is permitted to copy and distribute verbatim copies
|
7 |
+
of this license document, but changing it is not allowed.
|
8 |
+
|
9 |
+
Preamble
|
10 |
+
|
11 |
+
The licenses for most software are designed to take away your
|
12 |
+
freedom to share and change it. By contrast, the GNU General Public
|
13 |
+
License is intended to guarantee your freedom to share and change free
|
14 |
+
software--to make sure the software is free for all its users. This
|
15 |
+
General Public License applies to most of the Free Software
|
16 |
+
Foundation's software and to any other program whose authors commit to
|
17 |
+
using it. (Some other Free Software Foundation software is covered by
|
18 |
+
the GNU Library General Public License instead.) You can apply it to
|
19 |
+
your programs, too.
|
20 |
+
|
21 |
+
When we speak of free software, we are referring to freedom, not
|
22 |
+
price. Our General Public Licenses are designed to make sure that you
|
23 |
+
have the freedom to distribute copies of free software (and charge for
|
24 |
+
this service if you wish), that you receive source code or can get it
|
25 |
+
if you want it, that you can change the software or use pieces of it
|
26 |
+
in new free programs; and that you know you can do these things.
|
27 |
+
|
28 |
+
To protect your rights, we need to make restrictions that forbid
|
29 |
+
anyone to deny you these rights or to ask you to surrender the rights.
|
30 |
+
These restrictions translate to certain responsibilities for you if you
|
31 |
+
distribute copies of the software, or if you modify it.
|
32 |
+
|
33 |
+
For example, if you distribute copies of such a program, whether
|
34 |
+
gratis or for a fee, you must give the recipients all the rights that
|
35 |
+
you have. You must make sure that they, too, receive or can get the
|
36 |
+
source code. And you must show them these terms so they know their
|
37 |
+
rights.
|
38 |
+
|
39 |
+
We protect your rights with two steps: (1) copyright the software, and
|
40 |
+
(2) offer you this license which gives you legal permission to copy,
|
41 |
+
distribute and/or modify the software.
|
42 |
+
|
43 |
+
Also, for each author's protection and ours, we want to make certain
|
44 |
+
that everyone understands that there is no warranty for this free
|
45 |
+
software. If the software is modified by someone else and passed on, we
|
46 |
+
want its recipients to know that what they have is not the original, so
|
47 |
+
that any problems introduced by others will not reflect on the original
|
48 |
+
authors' reputations.
|
49 |
+
|
50 |
+
Finally, any free program is threatened constantly by software
|
51 |
+
patents. We wish to avoid the danger that redistributors of a free
|
52 |
+
program will individually obtain patent licenses, in effect making the
|
53 |
+
program proprietary. To prevent this, we have made it clear that any
|
54 |
+
patent must be licensed for everyone's free use or not licensed at all.
|
55 |
+
|
56 |
+
The precise terms and conditions for copying, distribution and
|
57 |
+
modification follow.
|
58 |
+
|
59 |
+
GNU GENERAL PUBLIC LICENSE
|
60 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61 |
+
|
62 |
+
0. This License applies to any program or other work which contains
|
63 |
+
a notice placed by the copyright holder saying it may be distributed
|
64 |
+
under the terms of this General Public License. The "Program", below,
|
65 |
+
refers to any such program or work, and a "work based on the Program"
|
66 |
+
means either the Program or any derivative work under copyright law:
|
67 |
+
that is to say, a work containing the Program or a portion of it,
|
68 |
+
either verbatim or with modifications and/or translated into another
|
69 |
+
language. (Hereinafter, translation is included without limitation in
|
70 |
+
the term "modification".) Each licensee is addressed as "you".
|
71 |
+
|
72 |
+
Activities other than copying, distribution and modification are not
|
73 |
+
covered by this License; they are outside its scope. The act of
|
74 |
+
running the Program is not restricted, and the output from the Program
|
75 |
+
is covered only if its contents constitute a work based on the
|
76 |
+
Program (independent of having been made by running the Program).
|
77 |
+
Whether that is true depends on what the Program does.
|
78 |
+
|
79 |
+
1. You may copy and distribute verbatim copies of the Program's
|
80 |
+
source code as you receive it, in any medium, provided that you
|
81 |
+
conspicuously and appropriately publish on each copy an appropriate
|
82 |
+
copyright notice and disclaimer of warranty; keep intact all the
|
83 |
+
notices that refer to this License and to the absence of any warranty;
|
84 |
+
and give any other recipients of the Program a copy of this License
|
85 |
+
along with the Program.
|
86 |
+
|
87 |
+
You may charge a fee for the physical act of transferring a copy, and
|
88 |
+
you may at your option offer warranty protection in exchange for a fee.
|
89 |
+
|
90 |
+
2. You may modify your copy or copies of the Program or any portion
|
91 |
+
of it, thus forming a work based on the Program, and copy and
|
92 |
+
distribute such modifications or work under the terms of Section 1
|
93 |
+
above, provided that you also meet all of these conditions:
|
94 |
+
|
95 |
+
a) You must cause the modified files to carry prominent notices
|
96 |
+
stating that you changed the files and the date of any change.
|
97 |
+
|
98 |
+
b) You must cause any work that you distribute or publish, that in
|
99 |
+
whole or in part contains or is derived from the Program or any
|
100 |
+
part thereof, to be licensed as a whole at no charge to all third
|
101 |
+
parties under the terms of this License.
|
102 |
+
|
103 |
+
c) If the modified program normally reads commands interactively
|
104 |
+
when run, you must cause it, when started running for such
|
105 |
+
interactive use in the most ordinary way, to print or display an
|
106 |
+
announcement including an appropriate copyright notice and a
|
107 |
+
notice that there is no warranty (or else, saying that you provide
|
108 |
+
a warranty) and that users may redistribute the program under
|
109 |
+
these conditions, and telling the user how to view a copy of this
|
110 |
+
License. (Exception: if the Program itself is interactive but
|
111 |
+
does not normally print such an announcement, your work based on
|
112 |
+
the Program is not required to print an announcement.)
|
113 |
+
|
114 |
+
These requirements apply to the modified work as a whole. If
|
115 |
+
identifiable sections of that work are not derived from the Program,
|
116 |
+
and can be reasonably considered independent and separate works in
|
117 |
+
themselves, then this License, and its terms, do not apply to those
|
118 |
+
sections when you distribute them as separate works. But when you
|
119 |
+
distribute the same sections as part of a whole which is a work based
|
120 |
+
on the Program, the distribution of the whole must be on the terms of
|
121 |
+
this License, whose permissions for other licensees extend to the
|
122 |
+
entire whole, and thus to each and every part regardless of who wrote it.
|
123 |
+
Thus, it is not the intent of this section to claim rights or contest
|
124 |
+
your rights to work written entirely by you; rather, the intent is to
|
125 |
+
exercise the right to control the distribution of derivative or
|
126 |
+
collective works based on the Program.
|
127 |
+
|
128 |
+
In addition, mere aggregation of another work not based on the Program
|
129 |
+
with the Program (or with a work based on the Program) on a volume of
|
130 |
+
a storage or distribution medium does not bring the other work under
|
131 |
+
the scope of this License.
|
132 |
+
|
133 |
+
3. You may copy and distribute the Program (or a work based on it,
|
134 |
+
under Section 2) in object code or executable form under the terms of
|
135 |
+
Sections 1 and 2 above provided that you also do one of the following:
|
136 |
+
|
137 |
+
a) Accompany it with the complete corresponding machine-readable
|
138 |
+
source code, which must be distributed under the terms of Sections
|
139 |
+
1 and 2 above on a medium customarily used for software interchange; or,
|
140 |
+
|
141 |
+
b) Accompany it with a written offer, valid for at least three
|
142 |
+
years, to give any third party, for a charge no more than your
|
143 |
+
cost of physically performing source distribution, a complete
|
144 |
+
machine-readable copy of the corresponding source code, to be
|
145 |
+
distributed under the terms of Sections 1 and 2 above on a medium
|
146 |
+
customarily used for software interchange; or,
|
147 |
+
|
148 |
+
c) Accompany it with the information you received as to the offer
|
149 |
+
to distribute corresponding source code. (This alternative is
|
150 |
+
allowed only for noncommercial distribution and only if you
|
151 |
+
received the program in object code or executable form with such
|
152 |
+
an offer, in accord with Subsection b above.)
|
153 |
+
|
154 |
+
The source code for a work means the preferred form of the work for
|
155 |
+
making modifications to it. For an executable work, complete source
|
156 |
+
code means all the source code for all modules it contains, plus any
|
157 |
+
associated interface definition files, plus the scripts used to
|
158 |
+
control compilation and installation of the executable. However, as a
|
159 |
+
special exception, the source code distributed need not include
|
160 |
+
anything that is normally distributed (in either source or binary
|
161 |
+
form) with the major components (compiler, kernel, and so on) of the
|
162 |
+
operating system on which the executable runs, unless that component
|
163 |
+
itself accompanies the executable.
|
164 |
+
|
165 |
+
If distribution of executable or object code is made by offering
|
166 |
+
access to copy from a designated place, then offering equivalent
|
167 |
+
access to copy the source code from the same place counts as
|
168 |
+
distribution of the source code, even though third parties are not
|
169 |
+
compelled to copy the source along with the object code.
|
170 |
+
|
171 |
+
4. You may not copy, modify, sublicense, or distribute the Program
|
172 |
+
except as expressly provided under this License. Any attempt
|
173 |
+
otherwise to copy, modify, sublicense or distribute the Program is
|
174 |
+
void, and will automatically terminate your rights under this License.
|
175 |
+
However, parties who have received copies, or rights, from you under
|
176 |
+
this License will not have their licenses terminated so long as such
|
177 |
+
parties remain in full compliance.
|
178 |
+
|
179 |
+
5. You are not required to accept this License, since you have not
|
180 |
+
signed it. However, nothing else grants you permission to modify or
|
181 |
+
distribute the Program or its derivative works. These actions are
|
182 |
+
prohibited by law if you do not accept this License. Therefore, by
|
183 |
+
modifying or distributing the Program (or any work based on the
|
184 |
+
Program), you indicate your acceptance of this License to do so, and
|
185 |
+
all its terms and conditions for copying, distributing or modifying
|
186 |
+
the Program or works based on it.
|
187 |
+
|
188 |
+
6. Each time you redistribute the Program (or any work based on the
|
189 |
+
Program), the recipient automatically receives a license from the
|
190 |
+
original licensor to copy, distribute or modify the Program subject to
|
191 |
+
these terms and conditions. You may not impose any further
|
192 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
193 |
+
You are not responsible for enforcing compliance by third parties to
|
194 |
+
this License.
|
195 |
+
|
196 |
+
7. If, as a consequence of a court judgment or allegation of patent
|
197 |
+
infringement or for any other reason (not limited to patent issues),
|
198 |
+
conditions are imposed on you (whether by court order, agreement or
|
199 |
+
otherwise) that contradict the conditions of this License, they do not
|
200 |
+
excuse you from the conditions of this License. If you cannot
|
201 |
+
distribute so as to satisfy simultaneously your obligations under this
|
202 |
+
License and any other pertinent obligations, then as a consequence you
|
203 |
+
may not distribute the Program at all. For example, if a patent
|
204 |
+
license would not permit royalty-free redistribution of the Program by
|
205 |
+
all those who receive copies directly or indirectly through you, then
|
206 |
+
the only way you could satisfy both it and this License would be to
|
207 |
+
refrain entirely from distribution of the Program.
|
208 |
+
|
209 |
+
If any portion of this section is held invalid or unenforceable under
|
210 |
+
any particular circumstance, the balance of the section is intended to
|
211 |
+
apply and the section as a whole is intended to apply in other
|
212 |
+
circumstances.
|
213 |
+
|
214 |
+
It is not the purpose of this section to induce you to infringe any
|
215 |
+
patents or other property right claims or to contest validity of any
|
216 |
+
such claims; this section has the sole purpose of protecting the
|
217 |
+
integrity of the free software distribution system, which is
|
218 |
+
implemented by public license practices. Many people have made
|
219 |
+
generous contributions to the wide range of software distributed
|
220 |
+
through that system in reliance on consistent application of that
|
221 |
+
system; it is up to the author/donor to decide if he or she is willing
|
222 |
+
to distribute software through any other system and a licensee cannot
|
223 |
+
impose that choice.
|
224 |
+
|
225 |
+
This section is intended to make thoroughly clear what is believed to
|
226 |
+
be a consequence of the rest of this License.
|
227 |
+
|
228 |
+
8. If the distribution and/or use of the Program is restricted in
|
229 |
+
certain countries either by patents or by copyrighted interfaces, the
|
230 |
+
original copyright holder who places the Program under this License
|
231 |
+
may add an explicit geographical distribution limitation excluding
|
232 |
+
those countries, so that distribution is permitted only in or among
|
233 |
+
countries not thus excluded. In such case, this License incorporates
|
234 |
+
the limitation as if written in the body of this License.
|
235 |
+
|
236 |
+
9. The Free Software Foundation may publish revised and/or new versions
|
237 |
+
of the General Public License from time to time. Such new versions will
|
238 |
+
be similar in spirit to the present version, but may differ in detail to
|
239 |
+
address new problems or concerns.
|
240 |
+
|
241 |
+
Each version is given a distinguishing version number. If the Program
|
242 |
+
specifies a version number of this License which applies to it and "any
|
243 |
+
later version", you have the option of following the terms and conditions
|
244 |
+
either of that version or of any later version published by the Free
|
245 |
+
Software Foundation. If the Program does not specify a version number of
|
246 |
+
this License, you may choose any version ever published by the Free Software
|
247 |
+
Foundation.
|
248 |
+
|
249 |
+
10. If you wish to incorporate parts of the Program into other free
|
250 |
+
programs whose distribution conditions are different, write to the author
|
251 |
+
to ask for permission. For software which is copyrighted by the Free
|
252 |
+
Software Foundation, write to the Free Software Foundation; we sometimes
|
253 |
+
make exceptions for this. Our decision will be guided by the two goals
|
254 |
+
of preserving the free status of all derivatives of our free software and
|
255 |
+
of promoting the sharing and reuse of software generally.
|
256 |
+
|
257 |
+
NO WARRANTY
|
258 |
+
|
259 |
+
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
260 |
+
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
261 |
+
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
262 |
+
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
263 |
+
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
264 |
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
265 |
+
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
266 |
+
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
267 |
+
REPAIR OR CORRECTION.
|
268 |
+
|
269 |
+
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
270 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
271 |
+
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
272 |
+
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
273 |
+
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
274 |
+
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
275 |
+
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
276 |
+
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
277 |
+
POSSIBILITY OF SUCH DAMAGES.
|
278 |
+
|
279 |
+
END OF TERMS AND CONDITIONS
|
280 |
+
|
bp-themes/bp-default/members/index.php
CHANGED
@@ -28,8 +28,6 @@ get_header( 'buddypress' ); ?>
|
|
28 |
|
29 |
</div><!-- #members-dir-search -->
|
30 |
|
31 |
-
<?php do_action( 'bp_before_directory_members_tabs' ); ?>
|
32 |
-
|
33 |
<div class="item-list-tabs" role="navigation">
|
34 |
<ul>
|
35 |
<li class="selected" id="members-all"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ); ?>"><?php printf( __( 'All Members <span>%s</span>', 'buddypress' ), bp_get_total_member_count() ); ?></a></li>
|
28 |
|
29 |
</div><!-- #members-dir-search -->
|
30 |
|
|
|
|
|
31 |
<div class="item-list-tabs" role="navigation">
|
32 |
<ul>
|
33 |
<li class="selected" id="members-all"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ); ?>"><?php printf( __( 'All Members <span>%s</span>', 'buddypress' ), bp_get_total_member_count() ); ?></a></li>
|
bp-themes/bp-default/members/single/member-header.php
CHANGED
@@ -25,10 +25,7 @@
|
|
25 |
<a href="<?php bp_displayed_user_link(); ?>"><?php bp_displayed_user_fullname(); ?></a>
|
26 |
</h2>
|
27 |
|
28 |
-
|
29 |
-
<span class="user-nicename">@<?php bp_displayed_user_username(); ?></span>
|
30 |
-
<?php endif; ?>
|
31 |
-
|
32 |
<span class="activity"><?php bp_last_activity( bp_displayed_user_id() ); ?></span>
|
33 |
|
34 |
<?php do_action( 'bp_before_member_header_meta' ); ?>
|
25 |
<a href="<?php bp_displayed_user_link(); ?>"><?php bp_displayed_user_fullname(); ?></a>
|
26 |
</h2>
|
27 |
|
28 |
+
<span class="user-nicename">@<?php bp_displayed_user_username(); ?></span>
|
|
|
|
|
|
|
29 |
<span class="activity"><?php bp_last_activity( bp_displayed_user_id() ); ?></span>
|
30 |
|
31 |
<?php do_action( 'bp_before_member_header_meta' ); ?>
|
bp-themes/bp-default/members/single/profile.php
CHANGED
@@ -9,11 +9,17 @@
|
|
9 |
|
10 |
?>
|
11 |
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
<?php do_action( 'bp_before_profile_content' ); ?>
|
19 |
|
9 |
|
10 |
?>
|
11 |
|
12 |
+
<?php if ( bp_is_my_profile() ) : ?>
|
13 |
+
|
14 |
+
<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
|
15 |
+
<ul>
|
16 |
+
|
17 |
+
<?php bp_get_options_nav(); ?>
|
18 |
+
|
19 |
+
</ul>
|
20 |
+
</div><!-- .item-list-tabs -->
|
21 |
+
|
22 |
+
<?php endif; ?>
|
23 |
|
24 |
<?php do_action( 'bp_before_profile_content' ); ?>
|
25 |
|
bp-themes/bp-default/members/single/settings/general.php
CHANGED
@@ -55,7 +55,7 @@ get_header( 'buddypress' ); ?>
|
|
55 |
<?php if ( !is_super_admin() ) : ?>
|
56 |
|
57 |
<label for="pwd"><?php _e( 'Current Password <span>(required to update email or change current password)</span>', 'buddypress' ); ?></label>
|
58 |
-
<input type="password" name="pwd" id="pwd" size="16" value="" class="settings-input small" /> <a href="<?php echo
|
59 |
|
60 |
<?php endif; ?>
|
61 |
|
55 |
<?php if ( !is_super_admin() ) : ?>
|
56 |
|
57 |
<label for="pwd"><?php _e( 'Current Password <span>(required to update email or change current password)</span>', 'buddypress' ); ?></label>
|
58 |
+
<input type="password" name="pwd" id="pwd" size="16" value="" class="settings-input small" /> <a href="<?php echo site_url( add_query_arg( array( 'action' => 'lostpassword' ), 'wp-login.php' ), 'login' ); ?>" title="<?php _e( 'Password Lost and Found', 'buddypress' ); ?>"><?php _e( 'Lost your password?', 'buddypress' ); ?></a>
|
59 |
|
60 |
<?php endif; ?>
|
61 |
|
bp-themes/bp-default/readme.txt
CHANGED
@@ -1,22 +1,22 @@
|
|
1 |
-
--- BuddyPress Default ---
|
2 |
-
Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
|
3 |
-
|
4 |
-
|
5 |
-
--- Installation ---
|
6 |
-
The theme is bundled with BuddyPress. After activating the plugin, BuddyPress Default will be added to the "Appearance > Themes" menu in your WordPress admin area.
|
7 |
-
|
8 |
-
|
9 |
-
--- About BuddyPress ---
|
10 |
-
Social networking in a box. Build a social network for your company, school, sports team or niche community all based on the power and flexibility of WordPress. BuddyPress will let users register on your site and start creating profiles, posting messages, making connections, creating and interacting in groups and much more.
|
11 |
-
|
12 |
-
For help with BuddyPress Default, or for more information about BuddyPress, please visit http://buddypress.org/.
|
13 |
-
|
14 |
-
|
15 |
-
--- Building a BuddyPress theme ---
|
16 |
-
If you want to make a custom theme based on BuddyPress Default, DO NOT copy and edit it. By doing this you will make updates and maintenance much harder for yourself. Instead, please review this codex page for instructions on how to build a BuddyPress child theme:
|
17 |
-
|
18 |
-
http://codex.buddypress.org/how-to-guides/building-a-buddypress-child-theme/
|
19 |
-
|
20 |
-
|
21 |
-
--- Changelog ---
|
22 |
A list of changes is available at http://codex.buddypress.org/theme-development/bp-default-theme-changelog/.
|
1 |
+
--- BuddyPress Default ---
|
2 |
+
Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
|
3 |
+
|
4 |
+
|
5 |
+
--- Installation ---
|
6 |
+
The theme is bundled with BuddyPress. After activating the plugin, BuddyPress Default will be added to the "Appearance > Themes" menu in your WordPress admin area.
|
7 |
+
|
8 |
+
|
9 |
+
--- About BuddyPress ---
|
10 |
+
Social networking in a box. Build a social network for your company, school, sports team or niche community all based on the power and flexibility of WordPress. BuddyPress will let users register on your site and start creating profiles, posting messages, making connections, creating and interacting in groups and much more.
|
11 |
+
|
12 |
+
For help with BuddyPress Default, or for more information about BuddyPress, please visit http://buddypress.org/.
|
13 |
+
|
14 |
+
|
15 |
+
--- Building a BuddyPress theme ---
|
16 |
+
If you want to make a custom theme based on BuddyPress Default, DO NOT copy and edit it. By doing this you will make updates and maintenance much harder for yourself. Instead, please review this codex page for instructions on how to build a BuddyPress child theme:
|
17 |
+
|
18 |
+
http://codex.buddypress.org/how-to-guides/building-a-buddypress-child-theme/
|
19 |
+
|
20 |
+
|
21 |
+
--- Changelog ---
|
22 |
A list of changes is available at http://codex.buddypress.org/theme-development/bp-default-theme-changelog/.
|
bp-themes/bp-default/registration/activate.php
CHANGED
@@ -22,7 +22,7 @@
|
|
22 |
<?php if ( isset( $_GET['e'] ) ) : ?>
|
23 |
<p><?php _e( 'Your account was activated successfully! Your account details have been sent to you in a separate email.', 'buddypress' ); ?></p>
|
24 |
<?php else : ?>
|
25 |
-
<p><?php
|
26 |
<?php endif; ?>
|
27 |
|
28 |
<?php else : ?>
|
22 |
<?php if ( isset( $_GET['e'] ) ) : ?>
|
23 |
<p><?php _e( 'Your account was activated successfully! Your account details have been sent to you in a separate email.', 'buddypress' ); ?></p>
|
24 |
<?php else : ?>
|
25 |
+
<p><?php _e( 'Your account was activated successfully! You can now log in with the username and password you provided when you signed up.', 'buddypress' ); ?></p>
|
26 |
<?php endif; ?>
|
27 |
|
28 |
<?php else : ?>
|
bp-themes/bp-default/registration/register.php
CHANGED
@@ -74,7 +74,7 @@
|
|
74 |
<?php if ( 'textbox' == bp_get_the_profile_field_type() ) : ?>
|
75 |
|
76 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
77 |
-
<?php do_action(
|
78 |
<input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" />
|
79 |
|
80 |
<?php endif; ?>
|
@@ -82,7 +82,7 @@
|
|
82 |
<?php if ( 'textarea' == bp_get_the_profile_field_type() ) : ?>
|
83 |
|
84 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
85 |
-
<?php do_action(
|
86 |
<textarea rows="5" cols="40" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_edit_value(); ?></textarea>
|
87 |
|
88 |
<?php endif; ?>
|
@@ -90,7 +90,7 @@
|
|
90 |
<?php if ( 'selectbox' == bp_get_the_profile_field_type() ) : ?>
|
91 |
|
92 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
93 |
-
<?php do_action(
|
94 |
<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>">
|
95 |
<?php bp_the_profile_field_options(); ?>
|
96 |
</select>
|
@@ -100,7 +100,7 @@
|
|
100 |
<?php if ( 'multiselectbox' == bp_get_the_profile_field_type() ) : ?>
|
101 |
|
102 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
103 |
-
<?php do_action(
|
104 |
<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" multiple="multiple">
|
105 |
<?php bp_the_profile_field_options(); ?>
|
106 |
</select>
|
@@ -112,7 +112,7 @@
|
|
112 |
<div class="radio">
|
113 |
<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
|
114 |
|
115 |
-
<?php do_action(
|
116 |
<?php bp_the_profile_field_options(); ?>
|
117 |
|
118 |
<?php if ( !bp_get_the_profile_field_is_required() ) : ?>
|
@@ -127,7 +127,7 @@
|
|
127 |
<div class="checkbox">
|
128 |
<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
|
129 |
|
130 |
-
<?php do_action(
|
131 |
<?php bp_the_profile_field_options(); ?>
|
132 |
</div>
|
133 |
|
@@ -137,7 +137,7 @@
|
|
137 |
|
138 |
<div class="datebox">
|
139 |
<label for="<?php bp_the_profile_field_input_name(); ?>_day"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
140 |
-
<?php do_action(
|
141 |
|
142 |
<select name="<?php bp_the_profile_field_input_name(); ?>_day" id="<?php bp_the_profile_field_input_name(); ?>_day">
|
143 |
<?php bp_the_profile_field_options( 'type=day' ); ?>
|
@@ -215,7 +215,7 @@
|
|
215 |
<?php if ( is_subdomain_install() ) : ?>
|
216 |
http:// <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" /> .<?php bp_blogs_subdomain_base(); ?>
|
217 |
<?php else : ?>
|
218 |
-
<?php echo
|
219 |
<?php endif; ?>
|
220 |
|
221 |
<label for="signup_blog_title"><?php _e( 'Site Title', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
|
@@ -250,7 +250,7 @@
|
|
250 |
|
251 |
<?php if ( 'completed-confirmation' == bp_get_current_signup_step() ) : ?>
|
252 |
|
253 |
-
<h2><?php _e( '
|
254 |
|
255 |
<?php do_action( 'template_notices' ); ?>
|
256 |
<?php do_action( 'bp_before_registration_confirmed' ); ?>
|
74 |
<?php if ( 'textbox' == bp_get_the_profile_field_type() ) : ?>
|
75 |
|
76 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
77 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
78 |
<input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" />
|
79 |
|
80 |
<?php endif; ?>
|
82 |
<?php if ( 'textarea' == bp_get_the_profile_field_type() ) : ?>
|
83 |
|
84 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
85 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
86 |
<textarea rows="5" cols="40" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_edit_value(); ?></textarea>
|
87 |
|
88 |
<?php endif; ?>
|
90 |
<?php if ( 'selectbox' == bp_get_the_profile_field_type() ) : ?>
|
91 |
|
92 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
93 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
94 |
<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>">
|
95 |
<?php bp_the_profile_field_options(); ?>
|
96 |
</select>
|
100 |
<?php if ( 'multiselectbox' == bp_get_the_profile_field_type() ) : ?>
|
101 |
|
102 |
<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
103 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
104 |
<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" multiple="multiple">
|
105 |
<?php bp_the_profile_field_options(); ?>
|
106 |
</select>
|
112 |
<div class="radio">
|
113 |
<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
|
114 |
|
115 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
116 |
<?php bp_the_profile_field_options(); ?>
|
117 |
|
118 |
<?php if ( !bp_get_the_profile_field_is_required() ) : ?>
|
127 |
<div class="checkbox">
|
128 |
<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
|
129 |
|
130 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
131 |
<?php bp_the_profile_field_options(); ?>
|
132 |
</div>
|
133 |
|
137 |
|
138 |
<div class="datebox">
|
139 |
<label for="<?php bp_the_profile_field_input_name(); ?>_day"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
|
140 |
+
<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
|
141 |
|
142 |
<select name="<?php bp_the_profile_field_input_name(); ?>_day" id="<?php bp_the_profile_field_input_name(); ?>_day">
|
143 |
<?php bp_the_profile_field_options( 'type=day' ); ?>
|
215 |
<?php if ( is_subdomain_install() ) : ?>
|
216 |
http:// <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" /> .<?php bp_blogs_subdomain_base(); ?>
|
217 |
<?php else : ?>
|
218 |
+
<?php echo site_url(); ?>/ <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" />
|
219 |
<?php endif; ?>
|
220 |
|
221 |
<label for="signup_blog_title"><?php _e( 'Site Title', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
|
250 |
|
251 |
<?php if ( 'completed-confirmation' == bp_get_current_signup_step() ) : ?>
|
252 |
|
253 |
+
<h2><?php _e( 'Sign Up Complete!', 'buddypress' ); ?></h2>
|
254 |
|
255 |
<?php do_action( 'template_notices' ); ?>
|
256 |
<?php do_action( 'bp_before_registration_confirmed' ); ?>
|
bp-themes/bp-default/rtl.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* Theme Name: BuddyPress Default
|
3 |
* Theme URI: http://buddypress.org/extend/themes/
|
4 |
* Description: Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
|
5 |
-
* Version: 1.
|
6 |
* Author: the BuddyPress team
|
7 |
* Author URI: http://buddypress.org
|
8 |
* License: GNU General Public License
|
2 |
* Theme Name: BuddyPress Default
|
3 |
* Theme URI: http://buddypress.org/extend/themes/
|
4 |
* Description: Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
|
5 |
+
* Version: 1.7.3
|
6 |
* Author: the BuddyPress team
|
7 |
* Author URI: http://buddypress.org
|
8 |
* License: GNU General Public License
|
bp-themes/bp-default/style.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* Theme Name: BuddyPress Default
|
3 |
* Theme URI: http://buddypress.org/extend/themes/
|
4 |
* Description: Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
|
5 |
-
* Version: 1.
|
6 |
* Author: the BuddyPress team
|
7 |
* Author URI: http://buddypress.org
|
8 |
* License: GNU General Public License
|
2 |
* Theme Name: BuddyPress Default
|
3 |
* Theme URI: http://buddypress.org/extend/themes/
|
4 |
* Description: Clean and stylish, BuddyPress Default lets you build a social network straight out of the box. Make it yours with a custom menu, header image, and background. Along with five widgetized areas (one in the sidebar, four in the footer), BP-Default supports featured images (as custom header images on posts and pages) and is furnished with an optional one-column page template that removes the sidebar, and a stylesheet for the admin Visual Editor.
|
5 |
+
* Version: 1.7.3
|
6 |
* Author: the BuddyPress team
|
7 |
* Author URI: http://buddypress.org
|
8 |
* License: GNU General Public License
|
bp-xprofile/admin/js/admin.js
CHANGED
@@ -48,9 +48,6 @@ function add_option(forWhat) {
|
|
48 |
// re-initialize the sorable ui
|
49 |
enableSortableFieldOptions( forWhat );
|
50 |
|
51 |
-
// set focus on newly created element
|
52 |
-
document.getElementById(forWhat + "_option" + theId).focus();
|
53 |
-
|
54 |
theId++;
|
55 |
|
56 |
document.getElementById(forWhat + "_option_number").value = theId;
|
@@ -109,9 +106,6 @@ function destroySortableFieldOptions() {
|
|
109 |
|
110 |
jQuery( document ).ready( function() {
|
111 |
|
112 |
-
// Set focus in Field Title, if we're on the right page
|
113 |
-
jQuery( '#bp-xprofile-add-field #title' ).focus();
|
114 |
-
|
115 |
// Set up deleting options ajax
|
116 |
jQuery( 'a.ajax-option-delete' ).on( 'click', function() {
|
117 |
var theId = this.id.split( '-' );
|
48 |
// re-initialize the sorable ui
|
49 |
enableSortableFieldOptions( forWhat );
|
50 |
|
|
|
|
|
|
|
51 |
theId++;
|
52 |
|
53 |
document.getElementById(forWhat + "_option_number").value = theId;
|
106 |
|
107 |
jQuery( document ).ready( function() {
|
108 |
|
|
|
|
|
|
|
109 |
// Set up deleting options ajax
|
110 |
jQuery( 'a.ajax-option-delete' ).on( 'click', function() {
|
111 |
var theId = this.id.split( '-' );
|
bp-xprofile/admin/js/admin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function add_option(g){var j=document.getElementById(g+"_more");var l=document.getElementById(g+"_option_number").value;var a=document.createElement("p");var h=document.createElement("input");var k=document.createElement("span");var e=document.createTextNode("\u00A0\u039E\u00A0");var b=document.createElement("input");var f=document.createElement("span");var d=document.createTextNode(" Default Value ");a.setAttribute("id",g+"_div"+l);a.setAttribute("class","sortable");h.setAttribute("type","text");h.setAttribute("name",g+"_option["+l+"]");h.setAttribute("id",g+"_option"+l);k.appendChild(e);if(g=="checkbox"||g=="multiselectbox"){b.setAttribute("type","checkbox");b.setAttribute("name","isDefault_"+g+"_option["+l+"]")}else{b.setAttribute("type","radio");b.setAttribute("name","isDefault_"+g+"_option")}b.setAttribute("value",l);f.appendChild(d);var c=document.createElement("a");var i=document.createTextNode("[x]");c.setAttribute("href","javascript:hide('"+g+"_div"+l+"')");c.setAttribute("class","delete");c.appendChild(i);a.appendChild(k);a.appendChild(h);a.appendChild(document.createTextNode(" "));a.appendChild(b);a.appendChild(f);a.appendChild(c);j.appendChild(a);enableSortableFieldOptions(g);
|
1 |
+
function add_option(g){var j=document.getElementById(g+"_more");var l=document.getElementById(g+"_option_number").value;var a=document.createElement("p");var h=document.createElement("input");var k=document.createElement("span");var e=document.createTextNode("\u00A0\u039E\u00A0");var b=document.createElement("input");var f=document.createElement("span");var d=document.createTextNode(" Default Value ");a.setAttribute("id",g+"_div"+l);a.setAttribute("class","sortable");h.setAttribute("type","text");h.setAttribute("name",g+"_option["+l+"]");h.setAttribute("id",g+"_option"+l);k.appendChild(e);if(g=="checkbox"||g=="multiselectbox"){b.setAttribute("type","checkbox");b.setAttribute("name","isDefault_"+g+"_option["+l+"]")}else{b.setAttribute("type","radio");b.setAttribute("name","isDefault_"+g+"_option")}b.setAttribute("value",l);f.appendChild(d);var c=document.createElement("a");var i=document.createTextNode("[x]");c.setAttribute("href","javascript:hide('"+g+"_div"+l+"')");c.setAttribute("class","delete");c.appendChild(i);a.appendChild(k);a.appendChild(h);a.appendChild(document.createTextNode(" "));a.appendChild(b);a.appendChild(f);a.appendChild(c);j.appendChild(a);enableSortableFieldOptions(g);l++;document.getElementById(g+"_option_number").value=l}function show_options(a){document.getElementById("radio").style.display="none";document.getElementById("selectbox").style.display="none";document.getElementById("multiselectbox").style.display="none";document.getElementById("checkbox").style.display="none";if(a=="radio"){document.getElementById("radio").style.display=""}if(a=="selectbox"){document.getElementById("selectbox").style.display=""}if(a=="multiselectbox"){document.getElementById("multiselectbox").style.display=""}if(a=="checkbox"){document.getElementById("checkbox").style.display=""}}function hide(a){if(!document.getElementById(a)){return false}document.getElementById(a).style.display="none";document.getElementById(a).value=""}var fixHelper=function(b,a){a.children().each(function(){jQuery(this).width(jQuery(this).width())});return a};function enableSortableFieldOptions(a){if(jQuery("#"+a+" p.sortable").length>1){jQuery(".options-box").sortable({items:"p.sortable",tolerance:"pointer",axis:"y",handle:"span"});jQuery(".sortable span").css("cursor","move")}}function destroySortableFieldOptions(){jQuery(".options-box").sortable("destroy");jQuery(".sortable span").css("cursor","default")}jQuery(document).ready(function(){jQuery("a.ajax-option-delete").on("click",function(){var d=this.id.split("-");d=d[1];jQuery.post(ajaxurl,{action:"xprofile_delete_option",cookie:encodeURIComponent(document.cookie),_wpnonce:jQuery("input#_wpnonce").val(),option_id:d},function(e){})});jQuery('[id^="sort_order_"]').change(function(){if(jQuery(this).val()!="custom"){destroySortableFieldOptions()}else{enableSortableFieldOptions(jQuery("#fieldtype :selected").val())}});jQuery("ul#field-group-tabs").show();jQuery("ul#field-group-tabs").sortable({cursor:"move",axis:"x",opacity:0.6,items:"li",tolerance:"pointer",update:function(){jQuery.post(ajaxurl,{action:"xprofile_reorder_groups",cookie:encodeURIComponent(document.cookie),_wpnonce_reorder_groups:jQuery("input#_wpnonce_reorder_groups").val(),group_order:jQuery(this).sortable("serialize")},function(d){})}}).disableSelection();jQuery("fieldset.field-group").sortable({cursor:"move",opacity:0.3,items:"fieldset",tolerance:"pointer",update:function(){jQuery.post(ajaxurl,{action:"xprofile_reorder_fields",cookie:encodeURIComponent(document.cookie),_wpnonce_reorder_fields:jQuery("input#_wpnonce_reorder_fields").val(),field_order:jQuery(this).sortable("serialize"),field_group_id:jQuery(this).attr("id")},function(d){})}}).disableSelection().css("cursor","move");enableSortableFieldOptions(jQuery("#fieldtype :selected").val());var b;var a=jQuery("#tabs").tabs();c(a);function c(d){b=jQuery("ul:first li",d).droppable({accept:".connectedSortable fieldset",hoverClass:"ui-state-hover",activeClass:"ui-state-acceptable",touch:"pointer",tolerance:"pointer",drop:function(g,h){var e=jQuery(this);var f=jQuery(e.find("a").attr("href")).find(".connectedSortable");jQuery(e).removeClass("drop-candidate");h.draggable.hide("slow",function(){d.tabs("option","active",b.index(e));jQuery(this).appendTo(f).show("slow").animate({opacity:"1"},500);f=jQuery(e.find("a").attr("href")).find(".connectedSortable");jQuery(f).find("p.nofields").hide("slow");jQuery.post(ajaxurl,{action:"xprofile_reorder_fields",cookie:encodeURIComponent(document.cookie),_wpnonce_reorder_fields:jQuery("input#_wpnonce_reorder_fields").val(),field_order:jQuery(f).sortable("serialize"),field_group_id:jQuery(f).attr("id")},function(i){})})},over:function(e,f){jQuery(this).addClass("drop-candidate")},out:function(e,f){jQuery(this).removeClass("drop-candidate")}})}});
|
bp-xprofile/bp-xprofile-activity.php
CHANGED
@@ -31,7 +31,7 @@ add_action( 'bp_register_activity_actions', 'xprofile_register_activity_actions'
|
|
31 |
*
|
32 |
* @package BuddyPress
|
33 |
* @subpackage XProfileActivity
|
34 |
-
* @param
|
35 |
* @global $bp The global BuddyPress settings variable created in bp_core_current_times()
|
36 |
* @uses bp_activity_add() Adds an entry to the activity component tables for a specific activity
|
37 |
*/
|
@@ -77,7 +77,7 @@ function xprofile_record_activity( $args = '' ) {
|
|
77 |
* it will be removed from the users activity stream and sitewide stream (if installed)
|
78 |
*
|
79 |
* @package BuddyPress XProfile
|
80 |
-
* @param
|
81 |
* @global BuddyPress $bp The one true BuddyPress instance
|
82 |
* @uses bp_activity_delete() Deletes an entry to the activity component tables for a specific activity
|
83 |
*/
|
31 |
*
|
32 |
* @package BuddyPress
|
33 |
* @subpackage XProfileActivity
|
34 |
+
* @param $args Array containing all variables used after extract() call
|
35 |
* @global $bp The global BuddyPress settings variable created in bp_core_current_times()
|
36 |
* @uses bp_activity_add() Adds an entry to the activity component tables for a specific activity
|
37 |
*/
|
77 |
* it will be removed from the users activity stream and sitewide stream (if installed)
|
78 |
*
|
79 |
* @package BuddyPress XProfile
|
80 |
+
* @param $args Array containing all variables used after extract() call
|
81 |
* @global BuddyPress $bp The one true BuddyPress instance
|
82 |
* @uses bp_activity_delete() Deletes an entry to the activity component tables for a specific activity
|
83 |
*/
|
bp-xprofile/bp-xprofile-admin.php
CHANGED
@@ -115,7 +115,7 @@ function xprofile_admin( $message = '', $type = 'error' ) {
|
|
115 |
|
116 |
<?php if ( $group->can_delete ) : ?>
|
117 |
|
118 |
-
<a class="
|
119 |
|
120 |
<?php endif; ?>
|
121 |
|
@@ -457,7 +457,7 @@ function xprofile_admin_field( $admin_field, $admin_group, $class = '' ) {
|
|
457 |
|
458 |
<?php if ( $field->can_delete ) : ?>
|
459 |
|
460 |
-
<a class="
|
461 |
|
462 |
<?php endif; ?>
|
463 |
</div>
|
115 |
|
116 |
<?php if ( $group->can_delete ) : ?>
|
117 |
|
118 |
+
<a class="submitdelete deletion ajax-option-delete" href="admin.php?page=bp-profile-setup&mode=delete_group&group_id=<?php echo esc_attr( $group->id ); ?>"><?php _e( 'Delete Group', 'buddypress' ); ?></a>
|
119 |
|
120 |
<?php endif; ?>
|
121 |
|
457 |
|
458 |
<?php if ( $field->can_delete ) : ?>
|
459 |
|
460 |
+
<a class="submit-delete deletion" href="admin.php?page=bp-profile-setup&field_id=<?php echo esc_attr( $field->id ); ?>&mode=delete_field"><?php _e( 'Delete', 'buddypress' ); ?></a>
|
461 |
|
462 |
<?php endif; ?>
|
463 |
</div>
|
bp-xprofile/bp-xprofile-classes.php
CHANGED
@@ -386,7 +386,7 @@ class BP_XProfile_Group {
|
|
386 |
</div>
|
387 |
</div>
|
388 |
|
389 |
-
<div id="postdiv">
|
390 |
<div class="postbox">
|
391 |
<div id="titlediv"><h3 class="hndle"><?php _e( 'Group Description', 'buddypress' ); ?></h3></div>
|
392 |
<div class="inside">
|
@@ -453,9 +453,10 @@ class BP_XProfile_Field {
|
|
453 |
function populate( $id, $user_id, $get_data ) {
|
454 |
global $wpdb, $userdata, $bp;
|
455 |
|
456 |
-
|
457 |
-
|
458 |
-
|
|
|
459 |
|
460 |
$sql = $wpdb->prepare( "SELECT * FROM {$bp->profile->table_name_fields} WHERE id = %d", $id );
|
461 |
|
@@ -844,7 +845,7 @@ class BP_XProfile_Field {
|
|
844 |
|
845 |
<?php endif; ?>
|
846 |
|
847 |
-
<form
|
848 |
<div id="poststuff">
|
849 |
<div id="titlediv">
|
850 |
<h3><label for="title"><?php _e( 'Field Title', 'buddypress' ); ?> *</label></h3>
|
386 |
</div>
|
387 |
</div>
|
388 |
|
389 |
+
<div id="postdiv" class="postarea">
|
390 |
<div class="postbox">
|
391 |
<div id="titlediv"><h3 class="hndle"><?php _e( 'Group Description', 'buddypress' ); ?></h3></div>
|
392 |
<div class="inside">
|
453 |
function populate( $id, $user_id, $get_data ) {
|
454 |
global $wpdb, $userdata, $bp;
|
455 |
|
456 |
+
// @todo Why are we nooping the user_id ?
|
457 |
+
$user_id = 0;
|
458 |
+
if ( is_null( $user_id ) )
|
459 |
+
$user_id = $userdata->ID;
|
460 |
|
461 |
$sql = $wpdb->prepare( "SELECT * FROM {$bp->profile->table_name_fields} WHERE id = %d", $id );
|
462 |
|
845 |
|
846 |
<?php endif; ?>
|
847 |
|
848 |
+
<form action="<?php echo esc_url( $action ); ?>" method="post">
|
849 |
<div id="poststuff">
|
850 |
<div id="titlediv">
|
851 |
<h3><label for="title"><?php _e( 'Field Title', 'buddypress' ); ?> *</label></h3>
|
bp-xprofile/bp-xprofile-functions.php
CHANGED
@@ -194,12 +194,12 @@ function xprofile_get_field_data( $field, $user_id = 0, $multi_format = 'array'
|
|
194 |
* A simple function to set profile data for a specific field for a specific user.
|
195 |
*
|
196 |
* @package BuddyPress Core
|
197 |
-
* @param
|
198 |
-
* @param
|
199 |
-
* @param
|
200 |
* @global BuddyPress $bp The one true BuddyPress instance
|
201 |
* @uses xprofile_get_field_id_from_name() Gets the ID for the field based on the name.
|
202 |
-
* @return
|
203 |
*/
|
204 |
function xprofile_set_field_data( $field, $user_id, $value, $is_required = false ) {
|
205 |
|
@@ -321,7 +321,7 @@ function xprofile_check_is_required_field( $field_id ) {
|
|
321 |
* Returns the ID for the field based on the field name.
|
322 |
*
|
323 |
* @package BuddyPress Core
|
324 |
-
* @param
|
325 |
* @return int $field_id on success, false on failure.
|
326 |
*/
|
327 |
function xprofile_get_field_id_from_name( $field_name ) {
|
@@ -332,13 +332,13 @@ function xprofile_get_field_id_from_name( $field_name ) {
|
|
332 |
* Fetches a random piece of profile data for the user.
|
333 |
*
|
334 |
* @package BuddyPress Core
|
335 |
-
* @param
|
336 |
-
* @param
|
337 |
* @global BuddyPress $bp The one true BuddyPress instance
|
338 |
* @global $wpdb WordPress DB access object.
|
339 |
* @global $current_user WordPress global variable containing current logged in user information
|
340 |
* @uses xprofile_format_profile_field() Formats profile field data so it is suitable for display.
|
341 |
-
* @return
|
342 |
*/
|
343 |
function xprofile_get_random_profile_data( $user_id, $exclude_fullname = true ) {
|
344 |
$field_data = BP_XProfile_ProfileData::get_random( $user_id, $exclude_fullname );
|
@@ -358,10 +358,10 @@ function xprofile_get_random_profile_data( $user_id, $exclude_fullname = true )
|
|
358 |
* Formats a profile field according to its type. [ TODO: Should really be moved to filters ]
|
359 |
*
|
360 |
* @package BuddyPress Core
|
361 |
-
* @param
|
362 |
-
* @param
|
363 |
* @uses bp_format_time() Formats a time value based on the WordPress date format setting
|
364 |
-
* @return
|
365 |
*/
|
366 |
function xprofile_format_profile_field( $field_type, $field_value ) {
|
367 |
if ( !isset( $field_value ) || empty( $field_value ) )
|
@@ -387,8 +387,8 @@ function xprofile_update_field_position( $field_id, $position, $field_group_id )
|
|
387 |
* Setup the avatar upload directory for a user.
|
388 |
*
|
389 |
* @package BuddyPress Core
|
390 |
-
* @param
|
391 |
-
* @param
|
392 |
* @return array() containing the path and URL plus some other settings.
|
393 |
*/
|
394 |
function xprofile_avatar_upload_dir( $directory = false, $user_id = 0 ) {
|
@@ -484,7 +484,7 @@ add_action( 'user_profile_update_errors', 'xprofile_sync_bp_profile', 10, 3 );
|
|
484 |
* usermeta table that this component uses.
|
485 |
*
|
486 |
* @package BuddyPress XProfile
|
487 |
-
* @param
|
488 |
*/
|
489 |
function xprofile_remove_data( $user_id ) {
|
490 |
BP_XProfile_ProfileData::delete_data_for_user( $user_id );
|
@@ -629,7 +629,7 @@ function bp_xprofile_update_fielddata_meta( $field_data_id, $meta_key, $meta_val
|
|
629 |
* @package BuddyPress
|
630 |
* @since BuddyPress (1.5)
|
631 |
*
|
632 |
-
* @return
|
633 |
*/
|
634 |
function bp_xprofile_fullname_field_name() {
|
635 |
return apply_filters( 'bp_xprofile_fullname_field_name', BP_XPROFILE_FULLNAME_FIELD_NAME );
|
194 |
* A simple function to set profile data for a specific field for a specific user.
|
195 |
*
|
196 |
* @package BuddyPress Core
|
197 |
+
* @param $field The ID of the field, or the $name of the field.
|
198 |
+
* @param $user_id The ID of the user
|
199 |
+
* @param $value The value for the field you want to set for the user.
|
200 |
* @global BuddyPress $bp The one true BuddyPress instance
|
201 |
* @uses xprofile_get_field_id_from_name() Gets the ID for the field based on the name.
|
202 |
+
* @return true on success, false on failure.
|
203 |
*/
|
204 |
function xprofile_set_field_data( $field, $user_id, $value, $is_required = false ) {
|
205 |
|
321 |
* Returns the ID for the field based on the field name.
|
322 |
*
|
323 |
* @package BuddyPress Core
|
324 |
+
* @param $field_name The name of the field to get the ID for.
|
325 |
* @return int $field_id on success, false on failure.
|
326 |
*/
|
327 |
function xprofile_get_field_id_from_name( $field_name ) {
|
332 |
* Fetches a random piece of profile data for the user.
|
333 |
*
|
334 |
* @package BuddyPress Core
|
335 |
+
* @param $user_id User ID of the user to get random data for
|
336 |
+
* @param $exclude_fullname whether or not to exclude the full name field as random data.
|
337 |
* @global BuddyPress $bp The one true BuddyPress instance
|
338 |
* @global $wpdb WordPress DB access object.
|
339 |
* @global $current_user WordPress global variable containing current logged in user information
|
340 |
* @uses xprofile_format_profile_field() Formats profile field data so it is suitable for display.
|
341 |
+
* @return $field_data The fetched random data for the user.
|
342 |
*/
|
343 |
function xprofile_get_random_profile_data( $user_id, $exclude_fullname = true ) {
|
344 |
$field_data = BP_XProfile_ProfileData::get_random( $user_id, $exclude_fullname );
|
358 |
* Formats a profile field according to its type. [ TODO: Should really be moved to filters ]
|
359 |
*
|
360 |
* @package BuddyPress Core
|
361 |
+
* @param $field_type The type of field: datebox, selectbox, textbox etc
|
362 |
+
* @param $field_value The actual value
|
363 |
* @uses bp_format_time() Formats a time value based on the WordPress date format setting
|
364 |
+
* @return $field_value The formatted value
|
365 |
*/
|
366 |
function xprofile_format_profile_field( $field_type, $field_value ) {
|
367 |
if ( !isset( $field_value ) || empty( $field_value ) )
|
387 |
* Setup the avatar upload directory for a user.
|
388 |
*
|
389 |
* @package BuddyPress Core
|
390 |
+
* @param $directory The root directory name
|
391 |
+
* @param $user_id The user ID.
|
392 |
* @return array() containing the path and URL plus some other settings.
|
393 |
*/
|
394 |
function xprofile_avatar_upload_dir( $directory = false, $user_id = 0 ) {
|
484 |
* usermeta table that this component uses.
|
485 |
*
|
486 |
* @package BuddyPress XProfile
|
487 |
+
* @param $user_id The ID of the deleted user
|
488 |
*/
|
489 |
function xprofile_remove_data( $user_id ) {
|
490 |
BP_XProfile_ProfileData::delete_data_for_user( $user_id );
|
629 |
* @package BuddyPress
|
630 |
* @since BuddyPress (1.5)
|
631 |
*
|
632 |
+
* @return str The field name
|
633 |
*/
|
634 |
function bp_xprofile_fullname_field_name() {
|
635 |
return apply_filters( 'bp_xprofile_fullname_field_name', BP_XPROFILE_FULLNAME_FIELD_NAME );
|
bp-xprofile/bp-xprofile-template.php
CHANGED
@@ -387,23 +387,6 @@ function bp_the_profile_field_input_name() {
|
|
387 |
return apply_filters( 'bp_get_the_profile_field_input_name', 'field_' . $field->id . $array_box );
|
388 |
}
|
389 |
|
390 |
-
/**
|
391 |
-
* Returns the action name for any signup errors related to this profile field
|
392 |
-
*
|
393 |
-
* In the registration templates, signup errors are pulled from the global
|
394 |
-
* object and rendered at actions that look like 'bp_field_12_errors'. This
|
395 |
-
* function allows the action name to be easily concatenated and called in the
|
396 |
-
* following fashion:
|
397 |
-
* do_action( bp_get_the_profile_field_errors_action() );
|
398 |
-
*
|
399 |
-
* @since BuddyPress (1.8)
|
400 |
-
* @return string The _errors action name corresponding to this profile field
|
401 |
-
*/
|
402 |
-
function bp_get_the_profile_field_errors_action() {
|
403 |
-
global $field;
|
404 |
-
return 'bp_field_' . $field->id . '_errors';
|
405 |
-
}
|
406 |
-
|
407 |
/**
|
408 |
* bp_the_profile_field_options()
|
409 |
*
|
@@ -748,14 +731,7 @@ function bp_the_profile_field_visibility_level() {
|
|
748 |
function bp_get_the_profile_field_visibility_level() {
|
749 |
global $field;
|
750 |
|
751 |
-
|
752 |
-
// precedence over default visibility, so that submitted values
|
753 |
-
// are not lost on failure
|
754 |
-
if ( bp_is_register_page() && ! empty( $_POST['field_' . $field->id . '_visibility'] ) ) {
|
755 |
-
$retval = esc_attr( $_POST['field_' . $field->id . '_visibility'] );
|
756 |
-
} else {
|
757 |
-
$retval = ! empty( $field->visibility_level ) ? $field->visibility_level : 'public';
|
758 |
-
}
|
759 |
|
760 |
return apply_filters( 'bp_get_the_profile_field_visibility_level', $retval );
|
761 |
}
|
@@ -772,15 +748,7 @@ function bp_the_profile_field_visibility_level_label() {
|
|
772 |
function bp_get_the_profile_field_visibility_level_label() {
|
773 |
global $field;
|
774 |
|
775 |
-
|
776 |
-
// precedence over default visibility, so that submitted values
|
777 |
-
// are not lost on failure
|
778 |
-
if ( bp_is_register_page() && ! empty( $_POST['field_' . $field->id . '_visibility'] ) ) {
|
779 |
-
$level = esc_html( $_POST['field_' . $field->id . '_visibility'] );
|
780 |
-
} else {
|
781 |
-
$level = ! empty( $field->visibility_level ) ? $field->visibility_level : 'public';
|
782 |
-
}
|
783 |
-
|
784 |
$fields = bp_xprofile_get_visibility_levels();
|
785 |
|
786 |
return apply_filters( 'bp_get_the_profile_field_visibility_level_label', $fields[$level]['label'] );
|
387 |
return apply_filters( 'bp_get_the_profile_field_input_name', 'field_' . $field->id . $array_box );
|
388 |
}
|
389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
390 |
/**
|
391 |
* bp_the_profile_field_options()
|
392 |
*
|
731 |
function bp_get_the_profile_field_visibility_level() {
|
732 |
global $field;
|
733 |
|
734 |
+
$retval = !empty( $field->visibility_level ) ? $field->visibility_level : 'public';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
735 |
|
736 |
return apply_filters( 'bp_get_the_profile_field_visibility_level', $retval );
|
737 |
}
|
748 |
function bp_get_the_profile_field_visibility_level_label() {
|
749 |
global $field;
|
750 |
|
751 |
+
$level = !empty( $field->visibility_level ) ? $field->visibility_level : 'public';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
752 |
$fields = bp_xprofile_get_visibility_levels();
|
753 |
|
754 |
return apply_filters( 'bp_get_the_profile_field_visibility_level_label', $fields[$level]['label'] );
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: johnjamesjacoby, DJPaul, boonebgorges, r-a-y
|
|
3 |
Tags: social networking, activity, profiles, messaging, friends, groups, forums, notifications, settings, twitter, facebook, social, community, networks, networking, cms
|
4 |
Requires at least: 3.5
|
5 |
Tested up to: 3.6
|
6 |
-
Stable tag: 1.7.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -77,6 +77,9 @@ BuddyPress is available in more than 20 languages. For more information, check o
|
|
77 |
|
78 |
== Upgrade Notice ==
|
79 |
|
|
|
|
|
|
|
80 |
= 1.7.2 =
|
81 |
See: http://codex.buddypress.org/releases/version-1-7-2/
|
82 |
|
3 |
Tags: social networking, activity, profiles, messaging, friends, groups, forums, notifications, settings, twitter, facebook, social, community, networks, networking, cms
|
4 |
Requires at least: 3.5
|
5 |
Tested up to: 3.6
|
6 |
+
Stable tag: 1.7.3
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
77 |
|
78 |
== Upgrade Notice ==
|
79 |
|
80 |
+
= 1.7.3 =
|
81 |
+
See: http://codex.buddypress.org/releases/version-1-7-3/
|
82 |
+
|
83 |
= 1.7.2 =
|
84 |
See: http://codex.buddypress.org/releases/version-1-7-2/
|
85 |
|