Forum Replies Created
-
Thank you for responding. I’ve been away for a bit and didn’t know that this piece was put on hold. I’ll mess around with what’s on github: https://github.com/paulgibbs/turtleshell
There is no precedent in which Brajesh does not deliver above and beyond the call of duty. Given the complexity and volume of plugins he builds and maintains along with the many one-off coding requests, a healthy dose of latitude is advisable, imho. I guess at the right price you may find someone who will build what you want and may even maintain it as WordPress/BuddyPress constantly gets updated.
@sbrajesh is working on this… http://buddydev.com/support/forums/topic/relationship-status-plugin/
I also get the same message. Up to date on all versions… WP, BP, bbPress.
+1
Other than “Nationality”, I would also add “Resides In”.
Thanks, Paul! Good to know it’s on its way.
Thanks. That does work to produce the excerpt at the right spot. However, it does not properly handle not cutting words in the middle nor putting the [...] at the end. The following function in the core file (mentioned in my first comment) does that:
`function bp_create_excerpt( $text, $length = 225, $options = array() ) {
// Backward compatibility. The third argument used to be a boolean $filter_shortcodes
$filter_shortcodes_default = is_bool( $options ) ? $options : true;$defaults = array(
‘ending’ => __( ‘ […]‘, ‘buddypress’ ),
‘exact’ => false,
‘html’ => true,
‘filter_shortcodes’ => $filter_shortcodes_default
);
$r = wp_parse_args( $options, $defaults );
extract( $r );// Save the original text, to be passed along to the filter
$original_text = $text;// Allow plugins to modify these values globally
$length = apply_filters( ‘bp_excerpt_length’, $length );
$ending = apply_filters( ‘bp_excerpt_append_text’, $ending );// Remove shortcodes if necessary
if ( !empty( $filter_shortcodes ) )
$text = strip_shortcodes( $text );// When $html is true, the excerpt should be created without including HTML tags in the
// excerpt length
if ( !empty( $html ) ) {
// The text is short enough. No need to truncate
if ( mb_strlen( preg_replace( ‘//’, ”, $text ) ) <= $length ) {
return $text;
}$totalLength = mb_strlen( strip_tags( $ending ) );
$openTags = array();
$truncate = ”;// Find all the tags and put them in a stack for later use
preg_match_all( ‘/(]*>)?([^]*)/’, $text, $tags, PREG_SET_ORDER );
foreach ( $tags as $tag ) {
// Process tags that need to be closed
if ( !preg_match( ‘/img|br|input|hr|area|base|basefont|col|frame|isindex|link|meta|param/s’, $tag[2] ) ) {
if ( preg_match( ‘/]*>/s’, $tag[0] ) ) {
array_unshift( $openTags, $tag[2] );
} else if ( preg_match(‘/]*>/s’, $tag[0], $closeTag ) ) {
$pos = array_search( $closeTag[1], $openTags );
if ( $pos !== false ) {
array_splice( $openTags, $pos, 1 );
}
}
}
$truncate .= $tag[1];$contentLength = mb_strlen( preg_replace( ‘/&[0-9a-z]{2,8};|&#[0-9]{1,7};|&#x[0-9a-f]{1,6};/i’, ‘ ‘, $tag[3] ) );
if ( $contentLength + $totalLength > $length ) {
$left = $length – $totalLength;
$entitiesLength = 0;
if ( preg_match_all( ‘/&[0-9a-z]{2,8};|&#[0-9]{1,7};|&#x[0-9a-f]{1,6};/i’, $tag[3], $entities, PREG_OFFSET_CAPTURE ) ) {
foreach ( $entities[0] as $entity ) {
if ( $entity[1] + 1 – $entitiesLength <= $left ) {
$left–;
$entitiesLength += mb_strlen( $entity[0] );
} else {
break;
}
}
}$truncate .= mb_substr( $tag[3], 0 , $left + $entitiesLength );
break;
} else {
$truncate .= $tag[3];
$totalLength += $contentLength;
}
if ( $totalLength >= $length ) {
break;
}
}
} else {
if ( mb_strlen( $text ) <= $length ) {
return $text;
} else {
$truncate = mb_substr( $text, 0, $length – mb_strlen( $ending ) );
}
}// If $exact is false, we can’t break on words
if ( empty( $exact ) ) {
$spacepos = mb_strrpos( $truncate, ‘ ‘ );
if ( isset( $spacepos ) ) {
if ( $html ) {
$bits = mb_substr( $truncate, $spacepos );
preg_match_all( ‘//’, $bits, $droppedTags, PREG_SET_ORDER );
if ( !empty( $droppedTags ) ) {
foreach ( $droppedTags as $closingTag ) {
if ( !in_array( $closingTag[1], $openTags ) ) {
array_unshift( $openTags, $closingTag[1] );
}
}
}
}
$truncate = mb_substr( $truncate, 0, $spacepos );
}
}
$truncate .= $ending;if ( $html ) {
foreach ( $openTags as $tag ) {
$truncate .= ”;
}
}return apply_filters( ‘bp_create_excerpt’, $truncate, $original_text, $length, $options );
}
add_filter( ‘bp_create_excerpt’, ‘stripslashes_deep’ );
add_filter( ‘bp_create_excerpt’, ‘force_balance_tags’ );
`So, using that function in functions.php in the following does not work (I think it’s similar to a circular reference error in Excel):
add_filter( ‘bp_get_group_description_excerpt’, ‘bp_create_excerpt’);
This results in the white screen of death, though it’s probably close. Anyway, thanks for your help.
Sorry, I most certainly wasn’t clear. What you provided works in the Group’s main page where the description length is fine (which is good, since I may want to modify that later).
What I wanted to do was specify the length of excerpt on the group directory page. So, given what you laid out, is there a hook that could be applied for that location? The groups loop is calling bp_group_description_excerpt().
Hopefully, that’s clearer. Thanks again.
It’s an extension of the “hierarchical groups” concept with it extending out to multiple BuddyPress communities. I am not referring to any other social networks or platforms. …only BuddyPress, which is not a “social network” but a “community” platform. Therefore “groups” across communities is fair game and relevant which is where “hierarchy” comes into play. If hierarchy is going to be pursued within one community, might as well tackle “across” multiple communities. Earlier, I said it was a “consideration” and would be an incredibly difficult thing to pull off. No further discussion necessary; thus, no need to start a whole other thread.
I still don’t get it. With the link you referenced, those are all updates from within the buddypress.org community. I don’t see any feeds from other communities outside of buddypress.org into Paul’s wall. I must be blind.
If you have your own community, it is entirely possible that you have a group within it that I would want to be fed updates. I don’t necessarily want to navigate to your community to then go to that group to figure out what’s going on every time. I want to stay in my own community and be fed all updates globally from whatever groups that I’ve subscribed to from all global communities. Is that already possible? If so, I’m all ears.

Let’s say that ESPN started its own BuddyPress community. Several groups have been started: Football, Tennis, Soccer, and Curling. Furthermore, let’s say that @djpaul is super interested in the happenings of curling but the community to which he spends oodles of time, D&D, doesn’t have a “curling” group. What if Paul could subscribe/join ESPN’s Curling group from within D&D? That way Paul could stay in D&D but always be up on the latest curling news…. Is that better or did I muddy it up even further?
Disclaimer: I have no idea if Paul plays D&D or has any interest in the Olympic sport of curling (illustrative purposes only).

+? This is probably so technically “involved” that it is its own point release, probably version bump. Consider this: what if a member could join a or subscribe to a group that’s in a different BuddyPress community where the activity for that group comes into his/her personal activity stream?
IMHO that would be the fastest way of making sure that very few people consider “following” anyone; that is, knowing that what they just did was blasted across the entire community. Not that the “connection” isn’t available but it takes a few steps to determine the relationship. How about “un-following” someone? Maybe there’s value for what’s being pursued here… I’m certainly willing to change my present opinion accordingly but right now, I think the community would be harmed more than helped… love to hear the results, though.
Just a guess, “conversion”. The more stuff on a registration page, the less likely the visitor will follow through. The trend is to use some other main social network to sign on/activate, or the very least bit of information to register; such as, username and password.
Could you provide a reference of that plugin implemented for a BuddyPress site? I don’t see any examples (on their site) that specifically illustrate a BuddyPress implementation.
If all you’re looking for is a WordPress event plugin, here’s another you may want to research: http://eventespresso.com
+1
I don’t understand. You want to add the Admin/Mod profile data to the group in the group directory? Which Admin, which Mod? Or a different member’s profile data to the group. Then which one?
It could be even thinner: drop username and @user and use just a QR code…

This looks awesome!

I think that following the Golden Ratio (http://en.wikipedia.org/wiki/Golden_ratio) with regard to, at least the header and content size, is well-supported through centuries of use. Again, the header is meant to make that group stand out against all others. Linguistic will work for some people, while visual for the remainder. Technically, from a multiple intelligences standpoint, there’s more but this ain’t the place for that discussion.

Also, I still like your first mockup but would rather the notifications be it’s own menu item whose content could be filtered accordingly. She says, “Really? A notification was sent out three weeks ago? Let me check…” Sorry about missing the dev chat yesterday.
You may want to consider, Buddyvents: http://shabushabu.eu
…definitely the Facebook platform should be added. Does this plugin does not allow a member to post out to the existing platforms? If there is a way to do this, I haven’t been able to find it. This is a key feature of Buddystream.
Thanks for pulling it together.
How about the following: Since both Admins and Mods are Members of a Group, why not access them from the filter and/or the nav menu under Members? This way, they’re not just a face/avatar but also there’s also a blurb about them in the member description/profile. On the member list, they would always be listed first?
The only information that should be on the page (at the highest level) is what is “persistent”; that is, of use every time someone navigates there, imho. I guess that “Admins” button could be styled as an cool icon and placed in an inconspicuous place (if the community voted to keep it directly accessible on the page as illustrated)?
And to piggyback off of Paul’s suggestion, admin/mod flair could be used in your mockup somewhere on the avatar (Activity stream). So, as one scrolls down the list, it’s apparent who has Admin/Mod status. Anyway, just a few thoughts to consider.
Ask these folks… http://themekraft.com