Search Results for 'bp_core_fetch_avatar'
-
Search Results
-
So i made this code which successfully fetches wordpress avatar to display on buddypress it does sync the profile pictures but it dooesn’t change all the profile pictures on buddypress for example the avatar where it says “Whats new” still has mystery man
What am i missing to have it successfully sync on all places in buddypress including in friends section help please because parts are synced but not everything
// Add the custom avatar to BuddyPress user profiles add_filter('bp_core_fetch_avatar', 'custom_user_avatar', 10, 2); function custom_user_avatar($avatar, $params) { // Get the user ID from the parameters $user_id = isset($params['item_id']) ? $params['item_id'] : 0; // Specify the maximum size for the avatar (adjust as needed) $max_size = 170; // Determine the context where the avatar is being fetched $context = isset($params['object']) ? $params['object'] : ''; // Adjust avatar size based on the context switch ($context) { case 'activity': // For member activity avatars $avatar_size = 50; // Set the size you want for activity avatars break; case 'group': // For group avatars (if applicable) $avatar_size = 100; // Set the size you want for group avatars break; default: $avatar_size = $max_size; // Fallback to max size for other contexts break; } // Fetch the avatar HTML for the user with the specified size $avatar_html = get_avatar($user_id, $avatar_size); // Check if the avatar HTML is not empty if (!empty($avatar_html)) { // Extract the URL from the avatar HTML preg_match('/src="(.*?)"/', $avatar_html, $matches); if (isset($matches[1])) { // Return the custom avatar URL with specified width and height return '<img src="' . esc_url($matches[1]) . '" class="avatar" style="max-width: ' . $max_size . 'px; height: auto;" />'; } } else { // If no uploaded avatar is found, fall back to the default WordPress avatar with specified size $avatar_url = get_avatar_url($user_id, ['size' => $avatar_size]); return '<img src="' . esc_url($avatar_url) . '" class="avatar" style="max-width: ' . $max_size . 'px; height: auto;" />'; } // Return the original avatar if avatar HTML could not be processed return $avatar; }
Hello,
I would like to change the default Buddypress avatar type.
In bp-core-avatars.php, “bp_core_fetch_avatar” function is set to “thumb”.How to set to “Full” in my theme ?
Thanks for your help !
Topic: can’t display group avatar
hello
i writed this code part for wordpress :
<?php $av_id=bp_get_group_id();?> <div class="img_group" style="background: no-repeat url('<?php echo(bp_core_fetch_avatar('item_id='.$av_id.'&object=group&no_grav=true&html=false'));?>');" ></div>
in my google chrome code inspector i have this html output :
<div class="img_group" style="background: no-repeat url("http://localhost/001-blueprint/wp-content/uploads/group-avatars/2/5f3252e75e000-bpthumb.png");"></div>
and i have this css line in my chrome inspector too, i have image miniature on flyhover so image seems to be charged.
element.style { background: no-repeat url(http://localhost/001-blueprint/wp-content/uploads/group-avatars/2/5f3252e75e000-bpthumb.png); }
problem, i don’t have anything on my website …
Hi guys, how are you?
I have a website that shows the correct avatar (from Social Login) in comments but in likes it gets the user uploaded profile, even if the social login is forcing the new one (it get’s it directly from the upload folder).
The wrong code is:
$avatar = bp_core_fetch_avatar( array( 'html' => false, 'type' => 'thumb', 'item_id' => $user_id ) ); // Get User Image Code. $output .= "<a data-yztooltip='" . $fullname . "' style='background-image: url( " . $avatar . ");' href='" . bp_core_get_user_domain ( $user_id ) . "'></a>";
It returns:
/wp-content/uploads/avatars/38/5f1df11236f8e-bpthumb.jpg (the old photo before social login)The code that shows the correct one:
<?php bp_activity_avatar( ‘type=thumb&user_id=’ . bp_get_activity_comment_user_id() ); ?>It returns:
//graph.facebook.com/2434567832184997/picture?type=largeTried changing but it shows the author profile pic on the liked space.
Can anyone help me?
Thanks!
Hello,
I want to create an email-token to display a member avatar in a bp-custom-mail.
I tried to implement snippets from this tutorial, but maybe I don’t understand everything correctly.
1) I created a single-bp-email.php with custom html content which works fine.
There I can add the output whereever I want the avatar to be displayed <?php bp_email_avatar(); ?>, right?2) To my bp-custom.php I added this function:
function bp_email_avatar() { $token = '{{recipient.avatar}}'; printf( '<img src="%s">', $token ); }
Have a look at my bp-custom.php:
https://1drv.ms/u/s!AikSNhBAk4teugLf_yT-8610eUDC$formatted_tokens['recipient.avatar'] = bp_core_fetch_avatar( array( 'object' => 'user', 'item_id' => $formatted_tokens['initiator.id'], 'html' => false, ) );
=> The last snippet results in a php-error.
Could you help me to make this work?
Thanks in advance,
ChrisHi,
On our site we have a default image that is used instead of the the user’s normal gravatar, until they set their profile photo. In my functions.php I’ve disabled the standard gravatar upload with
add_filter('bp_core_fetch_avatar_no_grav', '__return_true');
and substituted our image with:
function bp_set_avatar_constants() { define( 'BP_AVATAR_DEFAULT', site_url('/wp-content/uploads/default.png') ); define( 'BP_AVATAR_DEFAULT_THUMB', site_url('/wp-content/uploads/default.png') ); } add_action('bp_init', 'bp_set_avatar_constants', 2);
Now the only issue I have is that when you go to upload your photo there is the message “Your profile photo will be used on your profile and throughout the site. If there is a Gravatar associated with your account email we will use that, or you can upload an image from your computer.”
It would be nice if I could change this to eliminate the part about the Gravatar. I believe this is in: members/single/profile/change-avatar.php
Do I have any option other than to edit that file directly? Just looking for some guidance here about what is the right thing to do. FWIW, I’m pretty much of a novice with WP in general and certainly with BuddyPress.
Hello! Please help me correct errors in the code ..
Warning: Declaration of BP_Group_Categories::display() should be compatible with BP_Group_Extension::display($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 339 Warning: Declaration of BP_Group_Categories::edit_screen() should be compatible with BP_Group_Extension::edit_screen($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 339 Warning: Declaration of BP_Group_Categories::edit_screen_save() should be compatible with BP_Group_Extension::edit_screen_save($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 339 Warning: Declaration of BP_Group_Categories::create_screen() should be compatible with BP_Group_Extension::create_screen($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 339 Warning: Declaration of BP_Group_Categories::create_screen_save() should be compatible with BP_Group_Extension::create_screen_save($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 339 Warning: Declaration of BP_Group_Categories_UserGroups::display() should be compatible with BP_Group_Extension::display($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 390 Warning: Declaration of BP_Group_Categories_UserGroups::edit_screen() should be compatible with BP_Group_Extension::edit_screen($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 390 Warning: Declaration of BP_Group_Categories_UserGroups::edit_screen_save() should be compatible with BP_Group_Extension::edit_screen_save($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 390 Warning: Declaration of BP_Group_Categories_UserGroups::create_screen() should be compatible with BP_Group_Extension::create_screen($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 390 Warning: Declaration of BP_Group_Categories_UserGroups::create_screen_save() should be compatible with BP_Group_Extension::create_screen_save($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 390 Warning: Declaration of BP_Group_Categories_Create::display() should be compatible with BP_Group_Extension::display($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 508 Warning: Declaration of BP_Group_Categories_Create::edit_screen() should be compatible with BP_Group_Extension::edit_screen($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 508 Warning: Declaration of BP_Group_Categories_Create::edit_screen_save() should be compatible with BP_Group_Extension::edit_screen_save($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 508 Warning: Declaration of BP_Group_Categories_Create::create_screen() should be compatible with BP_Group_Extension::create_screen($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 508 Warning: Declaration of BP_Group_Categories_Create::create_screen_save() should be compatible with BP_Group_Extension::create_screen_save($group_id = NULL) in XXX\wp-content\plugins\bp-group-categoriestypes\includes\bp-grouptypes-classes.php on line 508
bp-grouptypes-classes.php ====
<?php class BP_Category_Group { var $group_id; var $parent_group_id; /** * BP_Category_Group() * * This is the constructor, it is auto run when the class is instantiated. * It will either create a new empty object if no ID is set, or fill the object * with a row from the table if an ID is provided. */ function BP_Category_Group( $group_id = null ) { global $wpdb, $bp; if ( $group_id ) { $this->group_id = $group_id; $this->populate( $this->group_id ); } } /** * populate() * * This method will populate the object with a row from the database, based on the * ID passed to the constructor. */ function populate() { global $wpdb, $bp, $creds; $this->parent_group_id=groups_get_groupmeta($this->group_id, 'parent_cat'); } function is_cat_group(){ global $bp; if(groups_get_groupmeta($bp->groups->current_group->id, 'group_type')=='category') return true; return false; } function has_sub_categories(){ global $wpdb,$bp; $sql = $wpdb->prepare( "SELECT * FROM {$bp->groups->table_name_groupmeta} WHERE meta_key = 'parent_cat' AND meta_value = %d", $bp->groups->current_group->id ); if( $wpdb->get_row( $sql )) return true; return false; } function has_sub_groups(){ global $wpdb,$bp; $sql = $wpdb->prepare( "SELECT gmcat.groupid FROM {$bp->groups->table_name_groupmeta} gmcat, {$bp->groups->table_name_groupmeta} gmtype WHERE gmcat.meta_key = 'parent_cat' AND gmcat.meta_value = %d AND gmtype.meta_key = 'group_type' AND gmtype.meta_value = 'user_group'", $bp->groups->current_group->id ); if( $wpdb->get_var( $sql )) return true; return false; } function get_all_cats(){ global $wpdb, $bp; $sql = $wpdb->prepare( "SELECT DISTINCT gmcat.group_id FROM {$bp->groups->table_name_groupmeta} gmcat, {$bp->groups->table_name_groupmeta} gmtype WHERE gmcat.meta_key = 'parent_cat' AND gmtype.meta_key = 'group_type' AND gmtype.meta_value = 'category'" ); return $wpdb->get_col( $sql ); } /** * get_sub_cats() * * Accepts three parameters group type, page number, and limit. * Returns sub category group ids based off of parameters. */ function get_sub_cats($group_type = null, $page = null, $limit = null){ global $wpdb, $bp; if( $page && $limit ){ $pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ); } $sql = $wpdb->prepare( "SELECT DISTINCT gmcat.group_id, gmcat.meta_key, gmcat.meta_value as parent_cat, gmtype.meta_key, gmtype.meta_value as group_type FROM {$bp->groups->table_name_groupmeta} g, {$bp->groups->table_name_groupmeta} gmcat, {$bp->groups->table_name_groupmeta} gmtype WHERE gmcat.meta_key = 'parent_cat' AND gmcat.meta_value = {$this->group_id} AND gmtype.meta_key = 'group_type' AND gmtype.meta_value = '{$group_type}' {$pag_sql}" ); $paged_groups = $wpdb->get_col( $sql ); $sql = $wpdb->prepare( "SELECT DISTINCT gmcat.group_id, gmcat.meta_key, gmcat.meta_value as parent_cat, gmtype.meta_key, gmtype.meta_value as group_type FROM {$bp->groups->table_name_groupmeta} g, {$bp->groups->table_name_groupmeta} gmcat, {$bp->groups->table_name_groupmeta} gmtype WHERE gmcat.meta_key = 'parent_cat' AND gmcat.meta_value = {$this->group_id} AND gmtype.meta_key = 'group_type' AND gmtype.meta_value = '{$group_type}' AND gmcat.group_id = gmtype.group_id" ); $total_groups = $wpdb->get_col( $sql ); $count=0; //todo get rid of foreach use COUNT DISTINCT instead foreach($total_groups as $group_id) $count++; $total_groups=$count; return array( 'groups' => $paged_groups, 'total' => $total_groups ); } /* Dont need these anymore save incase needed in later version function is_sub_cat($id){ global $wpdb, $bp; $sql = $wpdb->prepare( "SELECT * FROM {$bp->groups->table_name_groupmeta} WHERE meta_key = 'parent_cat' AND meta_value = %d AND group_id = %d", $this->group_id , $id ); if($wpdb->get_row( $sql )) return true; return false; } function is_user_group($id){ global $wpdb, $bp; $sql = $wpdb->prepare( "SELECT * FROM {$bp->groups->table_name_groupmeta} WHERE meta_key = 'parent_cat' AND meta_value = %d AND group_id = %d", $this->group_id , $id ); if($wpdb->get_row( $sql )) return true; return false; } */ // TODO combine display_categories() and display_userGroups() into one function and add in a group type parameter function display_categories(){ global $bp; $urlstr = $_SERVER["REQUEST_URI"]; $current=strpos($urlstr,'?page='); if(!$current){ $current=1; } else $current=substr($urlstr,(int)($current)+6); $limit = 5; $subcats=$this->get_sub_cats('category', $current, $limit); $total_subcats = $subcats['total']; $paged_subcats = $subcats['groups']; $paged_subcats_num = 0; foreach($paged_subcats as $groupid) $paged_subcats_num++; $pagination = array( 'base' => site_url() . '/' . $bp->groups->slug . '/' . bp_get_group_slug() . '/sub-categories%_%', //%_% is replaced by the format below 'format' => '?page=%#%', // ?page=%#% : %#% is replaced by the page number 'total' => round(($total_subcats / $limit)+0.4), 'current' => $current, 'show_all' => false, 'prev_next' => true, 'prev_text' => __('←'), 'next_text' => __('→'), 'end_size' => 5, 'mid_size' => 2, 'type' => 'plain', 'add_args' => false, // array of query args to add 'add_fragment' => '' ); ?> <h4>Sub Categories</h4> <?php if($current>1){ $first_group=(($current-1)*$limit)+1; $sec_group = ($first_group)+$paged_subcats_num-1; } else{ $first_group=1; $sec_group = $paged_subcats_num; } ?> <div class="pag-count" id="group-dir-count">Viewing group <?php echo $first_group ?> to <?php echo $sec_group ?> (of <?php echo $total_subcats ?> groups)</div> <?php echo paginate_links( $pagination ); ?> <ul id="groups-list" class="item-list"> <?php foreach($paged_subcats as $groupid){ $group = new BP_Groups_Group($groupid); if ( !$avatar = bp_core_fetch_avatar( array( 'item_id' => $group->id, 'object' => 'group', 'type' => 'thumb', 'avatar_dir' => 'group-avatars', 'alt' => __( 'Group avatar', 'buddypress' ), 'id' => $group->id, 'class' => 'avatar' ) ) ) $avatar = '<img src="' . attribute_escape( $group->avatar_thumb ) . '" class="avatar" alt="' . attribute_escape( $group->name ) . '" />'; ?> <li> <div class="item-avatar"> <a href="<?php echo $bp->root_domain . '/' . $bp->groups->slug . '/' . $group->slug . '/' ?>"><?php echo $avatar;//bp_get_group_avatar( 'id='.$group->id ) ?></a> </div> <div class="item"> <div class="item-title"><a href="<?php echo $bp->root_domain . '/' . $bp->groups->slug . '/' . $group->slug . '/' ?>"><?php echo $group->name ?></a></div> <div class="item-meta"><span class="activity"><?php printf( __( 'active %s ago', 'buddypress' ), bp_get_group_last_active($group) ) ?></span></div> <div class="item-desc"><?php echo bp_create_excerpt( bp_get_group_description($group), 20) ?></div> <?php do_action( 'bp_directory_groups_item' ) ?> </div> <div class="action"> <?php bp_group_join_button($group) ?> <div class="meta"> <?php bp_get_group_type($group) ?> </div> <?php do_action( 'bp_directory_groups_actions' ) ?> </div> <div class="clear"></div> </li> <?php } ?> </ul> <?php echo paginate_links( $pagination ); } function display_userGroups(){ global $bp; $urlstr = $_SERVER["REQUEST_URI"]; $current=strpos($urlstr,'?page='); if(!$current){ $current=1; } else $current=substr($urlstr,(int)($current)+6); $limit = 20; $subcats=$this->get_sub_cats('user_group', $current, $limit); $total_subcats = $subcats['total']; $paged_subcats = $subcats['groups']; $paged_subcats_num = 0; foreach($paged_subcats as $groupid) $paged_subcats_num++; $pagination = array( 'base' => site_url() . '/' . $bp->groups->slug . '/' . bp_get_group_slug() . '/groups%_%', //%_% is replaced by format (below) 'format' => '?page=%#%', // ?page=%#% : %#% is replaced by the page number 'total' => round(($total_subcats / $limit)+0.4), 'current' => $current, 'show_all' => false, 'prev_next' => true, 'prev_text' => __('←'), 'next_text' => __('→'), 'end_size' => 5, 'mid_size' => 5, 'type' => 'plain', 'add_args' => false, // array of query args to add 'add_fragment' => '' ); ?> <h4>Groups</h4> <?php if(!((int)$total_subcats>0)): ?> <div id="message"><p>Sorry there are no groups filed under this category. You can create one if you like.</p></div> <?php else: if($current>1){ $first_group=(($current-1)*$limit)+1; $sec_group = ($first_group)+$paged_subcats_num-1; } else{ $first_group=1; $sec_group = $paged_subcats_num; } ?> <div class="pag-count" id="group-dir-count">Viewing group <?php echo $first_group ?> to <?php echo $sec_group ?> (of <?php echo $total_subcats ?> groups)</div> <?php endif; echo paginate_links($pagination); ?> <ul id="groups-list" class="item-list"> <?php foreach($paged_subcats as $groupid){ $group = new BP_Groups_Group($groupid); if ( !$avatar = bp_core_fetch_avatar( array( 'item_id' => $group->id, 'object' => 'group', 'type' => 'thumb', 'avatar_dir' => 'group-avatars', 'alt' => __( 'Group avatar', 'buddypress' ), 'id' => $group->id, 'class' => 'avatar' ) ) ) $avatar = '<img src="' . attribute_escape( $group->avatar_thumb ) . '" class="avatar" alt="' . attribute_escape( $group->name ) . '" />'; ?> <li> <div class="item-avatar"> <a href="<?php echo $bp->root_domain . '/' . $bp->groups->slug . '/' . $group->slug . '/' ?>"><?php echo $avatar;//bp_group_avatar( 'type=thumb&width=50&height=50&class=avatar&id='.$group->id ) ?></a> </div> <div class="item"> <div class="item-title"><a href="<?php echo $bp->root_domain . '/' . $bp->groups->slug . '/' . $group->slug . '/' ?>"><?php echo $group->name ?></a></div> <div class="item-meta"><span class="activity"><?php printf( __( 'active %s ago', 'buddypress' ), bp_get_group_last_active($group) ) ?></span></div> <div class="item-desc"><?php bp_create_excerpt( $group->description, 20 ) ?></div> <?php do_action( 'bp_directory_groups_item' ) ?> </div> <div class="action"> <?php bp_group_join_button($group) ?> <div class="meta"> <?php echo bp_get_group_type($group) ?> / <?php echo $group->total_member_count; ?> </div> <?php do_action( 'bp_directory_groups_actions' ) ?> </div> <div class="clear"></div> </li> <?php } ?> </ul> <?php echo paginate_links( $pagination ); } } // TODO combine all these group extensions into one if possible and move these out of here class BP_Group_Categories extends BP_Group_Extension { function BP_Group_Categories() { global $bp; $this->name = 'Sub Categories'; $this->slug = 'sub-categories'; $this->visibilty='public'; $this->enable_edit_item=false; $this->enable_create_step = false; $this->nav_item_position = 41; $this->enable_nav_item = $this->enable_nav_item(); // make sure this is a categories group and it has sub categories bp_core_remove_subnav_item( $bp->groups->slug, 'send-invites' ); bp_core_remove_subnav_item( $bp->groups->slug, 'members'); } function create_screen() { } function create_screen_save() { } function edit_screen() { } function edit_screen_save() { } function display() { /* Use this function to display the actual content of your group extension when the nav item is selected */ global $bp,$wp_query; $displaygroup= new BP_Category_Group($bp->groups->current_group->id); $displaygroup->display_categories(); } function enable_nav_item() { if ( ( BP_Category_Group::has_sub_categories() ) ) return true; else return false; } function widget_display() { } } if(BP_Category_Group::is_cat_group()) bp_register_group_extension( 'BP_Group_Categories' ); class BP_Group_Categories_UserGroups extends BP_Group_Extension { function BP_Group_Categories_UserGroups() { global $bp; $this->name = 'Groups'; $this->slug = 'groups'; $this->visibilty='public'; $this->enable_edit_item=false; $this->enable_create_step = false; $this->nav_item_position = 51; $this->enable_nav_item = true; // make sure this is a categories group and it has sub categories bp_core_remove_subnav_item( $bp->groups->slug, 'send-invites' ); bp_core_remove_subnav_item( $bp->groups->slug, 'members'); } function create_screen() { } function create_screen_save() { } function edit_screen() { } function edit_screen_save() { } function display() { // Use this function to display the actual content of your group extension when the nav item is selected global $bp; $displaygroup= new BP_Category_Group($bp->groups->current_group->id); $displaygroup->display_userGroups(); } function widget_display() { ?> <div class="info-group"> <h4><?php echo attribute_escape( $this->name ) ?></h4> <p> You could display a small snippet of information from your group extension here. It will show on the group home screen. </p> </div> <?php } } if(BP_Category_Group::is_cat_group()) bp_register_group_extension( 'BP_Group_Categories_UserGroups' ); function display_breadcrumb(){ global $bp; ?> <div style="float:left;"id="bp-group-cat-breadcrumb"> <div style="float:left;margin:0;padding:0;"> <a title="Go To Home." href="<?php echo $bp->root_domain . '/'; ?>">Home</a> </div> <div style="float:left;margin:0;padding:0;"> → <a title="Go To Groups." href="<?php echo $bp->root_domain . '/' . $bp->groups->slug . '/'; ?>">Groups</a> </div> <?php $breadcrumb=""; $group_id=$bp->groups->current_group->id; while($group_id!=-1&&$group_id!=0): $group= new BP_Groups_Group($group_id); $breadcrumb=substr_replace($breadcrumb,'<div style="float:left;margin:0;padding:0;">→ <a title="Go To Group '.$group->name.'." href="'.bp_get_group_permalink($group).'">'.$group->name.'</a></div>',0,0); $group_id=groups_get_groupmeta($group_id, 'parent_cat'); endwhile; echo $breadcrumb; ?></div> <?php } add_action('bp_after_group_header' , 'display_breadcrumb'); function display_create(){ global $bp; ?> <label for="target_uri"><?php _e( 'How to categorize this group?', 'bp-group-types' ) ?></label> <select name="bp-groupcats-parent-group"> <option selected="selected"value="0">No Category</option> <?php $catgroups = BP_Category_Group::get_all_cats(); foreach($catgroups as $catid): $catgroup = new BP_Groups_Group($catid); $parent = (int)groups_get_groupmeta($bp->groups->current_group->id,'parent_cat'); ?> <option <?php if($parent==$catid) echo'selected="selected"' ?>value="<?php echo $catid; ?>"><?php echo $catgroup->name; ?></option> <?php endforeach; ?> </select> <?php if(is_site_admin()): if(groups_get_groupmeta($bp->groups->current_group->id, 'group_type')=='category') $current_type=groups_get_groupmeta($bp->groups->current_group->id, 'group_type'); else $current_type='user_group'; ?> <label for="target_uri"><?php _e( 'What type of group?', 'bp-group-types' ) ?></label> <input type="radio" name="bp-group-type" value="user_group" <?php if($current_type=='user_group') echo 'CHECKED' ?> /> User Group<br /> <input type="radio" name="bp-group-type" value="category" <?php if($current_type=='category') echo 'CHECKED' ?> /> Category <?php endif; } function display_create_save(){ global $bp; if(isset($_POST['bp-groupcats-parent-group'])) groups_update_groupmeta($bp->groups->current_group->id, 'parent_cat',$_POST['bp-groupcats-parent-group']); else groups_update_groupmeta($bp->groups->current_group->id,'parent_cat', 0); if(isset($_POST['bp-group-type'])) groups_update_groupmeta($bp->groups->current_group->id,'group_type',$_POST['bp-group-type']); else groups_update_groupmeta($bp->groups->current_group->id,'group_type','user_group'); } class BP_Group_Categories_Create extends BP_Group_Extension { function BP_Group_Categories_Create() { global $bp; $this->name = 'Category'; $this->slug = 'category'; $this->visibilty='public'; $this->enable_edit_item=true; $this->create_step_position = 2; $this->enable_nav_item = false; } function create_screen() { global $bp; if ( !bp_is_group_creation_step( $this->slug ) ) return false; display_create(); wp_nonce_field( 'groups_create_save_' . $this->slug ); } function create_screen_save() { global $bp; check_admin_referer( 'groups_create_save_' . $this->slug ); display_create_save(); } function edit_screen() { global $bp; display_create(); ?> <br /><br /> <input type="submit" name="save" value="Save Category Settings" /> <?php wp_nonce_field( 'groups_edit_save_' . $this->slug ); } function edit_screen_save() { global $bp; if(!isset($_POST['save'])) return false; check_admin_referer( 'groups_edit_save_' . $this->slug ); display_create_save(); } function display() { } function widget_display() { } } bp_register_group_extension( 'BP_Group_Categories_Create' ); ?>