Forum Replies Created
-
I finally made up a solution adding some meta fields (blog_id, blog_path, blog_name) to groups on creation:
`function bp_group_meta_save ( $group_id ) {
$blog = get_blog_details( get_current_blog_id(), true );$fields = array(
‘blog_id’ => $blog->blog_id,
‘blog_path’ => $blog->path,
‘blog_name’ => $blog->blogname
);foreach ( $fields as $field => $value ) {
groups_update_groupmeta( $group_id, $field, $value );
}
}
add_action( ‘groups_created_group’, ‘bp_group_meta_save’ )`When showing the list of groups for the current blog, I build a list with the groups with the blog_id value that matches the blog:
`function get_groups_by_meta ( $field, $meta_key, $meta_value ) {
global $wpdb;if ( is_string( $meta_value) ) $meta_value = “‘” . $meta_value . “‘”;
$sql = $wpdb->prepare( “SELECT $field from {$wpdb->base_prefix}bp_groups_groupmeta WHERE meta_key=’$meta_key’ AND meta_value=$meta_value”, OBJECT );
$res = $wpdb->get_results( $sql );return $res;
}function get_groups_by_blogid ( $blog_id = 1 ) {
$list = get_groups_by_meta( ‘group_id’, ‘blog_id’, $blog_id );if ( count( $list ) ) {
$res = ”;
foreach ( $list as $item ) {
$res .= $item->group_id . ‘,’;
}
return substr( $res, 0, -1);
} else {
return FALSE;
}
}`And finally, in the groups-loop.php template:
`$current_blogid = get_current_blog_id();
if ( $current_blogid > 1) {
$groups_set = get_groups_by_blogid( $current_blogid );
( $groups_set !== FALSE ) ? $extra_args = ‘&include=’ . $groups_set : $extra_args = ‘&include=-1’;
}if ( bp_has_groups( bp_ajax_querystring( ‘groups’ ) . $extra_args ) ) : ?>`
In my wp-config.php, I have defined BP_ENABLE_MULTIBLOG as true, and also a common place to upload user avatars:
`//Buddypress multi-sitio
define( ‘BP_ENABLE_MULTIBLOG’, true );//Avatares de usuario comunes a toda la red multisitio
define( ‘BP_AVATAR_URL’, “http://mainblog/wp-content/uploads” );
define( ‘BP_AVATAR_UPLOAD_PATH’, ‘F:/xampp/www/mainblog/wp-content/uploads’ );`I don’t know if this is a overly complicated solution. I suspect Buddypess 1.6 can deal with this situation (segregated groups, activity, forums but common user base) in a far more simple way, but I have no idea how.
Any clues?
Thank you very much for your suggestions. I will explore both solutions and try to decide wich one suits me best.