Search Results for 'buddypress'
-
Search Results
-
Wordpress v. 5.9.3
Buddypress v. 10.2.0
Theme. BuddyXIn Private Messages – the message body part ‘shows’ at the top that you can attach a file or a link,
the link option works, but when you click on the image attachment, it gives a popup that asks for the ‘source’ of the image. It doesn’t open a normal file explorer window to select the image.
Please, how do I FIX this?I use gravity forms to create a new user from a groups tab and assign them to a group, based on the group that the group admin is adding them from. This was working just fine in BuddyPress version 8.0 but since upgrading to 10 it is no longer working. What am I missing?
/** * Add member form handler. This form is currently located under the Group Information tab */ add_action( 'gform_after_submission', 'add_member_gform_handle', 10, 2 ); function add_member_gform_handle( $entry, $form ) { if ( $form['title'] === 'Add Member' ) { $fields = $form['fields']; $first_name = rgar( $entry, '1' ); $last_name = rgar( $entry, '2' ); $login = rgar( $entry, '3' ); $password = rgar( $entry, '4' ); $email = rgar( $entry, '5' ); $group_id = rgar( $entry, '6' ); $role = rgar( $entry, '11' ); $notification = rgar( $entry, '9.1' ); $birthdate = rgar( $entry, '10' ); $userdata = array( 'user_login' => $login, 'user_pass' => $password, ); if ( ! empty( $first_name ) ) { $userdata['first_name'] = $first_name; } if ( ! empty( $last_name ) ) { $userdata['last_name'] = $last_name; } if ( ! empty( $email ) ) { $userdata['user_email'] = $email; } if ( ! empty( $role ) ) { $userdata['role'] = $role; } // Create a new user $new_user_id = wp_insert_user( $userdata ); // GFCommon::log_debug( __METHOD__ . '(): form => ' . print_r( $birthdate, true ) ); if ( ! is_wp_error( $new_user_id ) ) { groups_join_group( $group_id, $new_user_id ); // Make the user displayed as a staff on a clubhouse page if ( $role === 'staff' ) { $group_ids = groups_get_user_groups( $new_user_id ); $group = groups_get_group( array( 'group_id' => $group_ids['groups'][0]) ); $group_id = $group->id; groups_promote_member( $new_user_id, $group_id, 'admin' ); } else { groups_demote_member( $new_user_id, $group_id ); } if ( ! empty( $notification ) ) { tml_send_new_user_notifications( $new_user_id, 'both' ); } if ( ! empty( $birthdate ) ) { $date = DateTime::createFromFormat('Y-m-d', $birthdate); $date = $date->format('Ymd'); update_field('user_birthdate', $date, 'user_' . $new_user_id); } } // Delete form entry // GFAPI::delete_entry( $entry['id'] ); } } /** * Add Member form validation */ add_filter( "gform_validation_$clubnet_add_member_form_id", 'add_member_form_validation' ); function add_member_form_validation( $validation_result ) { $form = $validation_result['form']; $login = rgpost( 'input_3' ); $email = rgpost( 'input_5' ); $send_notificaton = rgpost( 'input_9_1' ); if ( ! empty( $login ) && get_user_by( 'login', $login ) ) { $validation_result['is_valid'] = false; //finding Field with ID and marking it as failed validation foreach( $form['fields'] as &$field ) { if ( $field->id == '3' ) { $field->failed_validation = true; $field->validation_message = 'The user with this login already exists.'; break; } } // foreach } if ( ! empty( $email ) && get_user_by( 'email', $email ) ) { $validation_result['is_valid'] = false; //finding Field with ID and marking it as failed validation foreach( $form['fields'] as &$field ) { if ( $field->id == '5' ) { $field->failed_validation = true; $field->validation_message = 'The user with this email already exists.'; break; } } // foreach } // GFCommon::log_debug( 'VALIDATION' . __METHOD__ . '(): form => ' . print_r( 'Empty', true ) ); // Email is required if we requested to send a email about user's account if ( ! empty( $send_notificaton ) && empty( $email ) ) { $validation_result['is_valid'] = false; //finding Field with ID and marking it as failed validation foreach( $form['fields'] as &$field ) { if ( $field->id == '5' ) { $field->failed_validation = true; $field->validation_message = 'Email is required since you requested to send an email.'; break; } } // foreach } //Assign modified $form object back to the validation result $validation_result['form'] = $form; return $validation_result; } /** * Role field */ add_action( 'init', 'clubnet_add_role_field' ); function clubnet_add_role_field( $form ) { global $wp_roles; global $clubnet_add_member_form_id; $all_roles = $wp_roles->roles; // $editable_roles = apply_filters('editable_roles', $all_roles); // $roles_to_skip = array( 'administrator' ); $editable_roles = $all_roles; $roles_to_display = array( 'mentor', 'member', 'youth_leader', 'alumni', 'staff' ); $choices = array(); foreach ( $editable_roles as $role => $role_data ) { if ( ! in_array( $role, $roles_to_display ) ) { continue; } $choice = array( 'text' => $role_data['name'], 'value' => $role ); array_push( $choices, $choice ); } // Reorder to make member role first usort( $choices, function( $choice ) { if ( $choice['text'] === 'Member' ) { return -1; } return 1; } ); $form = GFAPI::get_form( $clubnet_add_member_form_id ); if ( ! $form ) { return; } $label = 'User Role'; $field_idx = -1; $field_id = -1; foreach ($form['fields'] as $idx => $field) { if ( $field->label === $label ) { $field_idx = $idx; $field_id = $field->id; } } if ( $field_idx === -1 ) { $field_id = GFFormsModel::get_next_field_id( $form['fields'] ); } $props = array( 'id' => $field_id, 'label' => $label, 'type' => 'select', 'choices' => $choices, ); if ( $field_idx === -1 ) { $field = GF_Fields::create( $props ); $form['fields'][] = $field; GFAPI::update_form( $form ); } else if ( $form['fields'][$field_idx]->choices !== $choices ) { $field = GF_Fields::create( $props ); $form['fields'][$field_idx] = $field; GFAPI::update_form( $form ); } }Hi!
Trying to find the source of sudden weird lag on my large Buddypress website. I noticed this query running very frequently:# Time: 220408 21:41:46 # User@Host: [removed] @ localhost [] # Thread_id: 337208 Schema: [removed] QC_hit: No # Query_time: 1.645619 Lock_time: 0.000068 Rows_sent: 0 Rows_examined: 0 # Rows_affected: 0 Bytes_sent: 77 SET timestamp=1649454106; SELECT DISTINCT a.id FROM wp_bp_activity a WHERE ( ( ( a.component = 'groups' AND a.item_id IN ( 0 ) ) AND a.hide_sitewide = 0 ) ) AND a.is_spam = 0 AND a.type NOT IN ('activity_comment', 'last_activity') ORDER BY a.date_recorded DESC, a.id DESC LIMIT 0, 16;Query_time: 1.645619
It always results in nothing. So, where is it coming from and how can I stop it?
Any idea what function is triggering this, I’d be able to even edit the core file just to have it check “if certain params are true, don’t even run this query”I think it’s killing my site’s performance
Hello!
I have the Elearni template which has this buddypress plugin for signup among other options.
I want customers who want to register not to activate via email, but automatically.
Another option would be to disable this account activation but I don’t see any options within the plugin that allow me to do so.
How could I do this?
For our intranet, we use BuddyPress extended profiles as well as WPO365 to sync data from Microsoft active directory. We don’t allow users to edit their avatars or user information as everything is synced from Microsoft.
After the last update, our “Recently active users” widget is showing old (and sometimes no) avatar for users. When you click through to the profile however the newer images load correctly.
It almost looks like the avatars stored for BuddyPress are different from the BuddyPress extended profile avatar.
Is there a simple fix for this or do we need to stop using the recently active widget all together?
I am experiencing an issue with Smash Balloon YouTube Feed when loading more of the videos. If I disable BuddyPress the “Load More” button works normally.
When displaying the feed (say about 6 videos) there is a button to “Load More” below the videos. When the button is clicked a new browser tab will open and display in the url “about:blank#blocked”. When I go back to the website page, it does “Load More” however I need to prevent this new blank tab from opening.
Wordpress v. 5.9.2 with Olympus Theme
BuddyPress V. 10.2.0
Smash Balloon YouTube Feed V 1.4.4The output format for text returning from function bp-groups-bp_get_group_avatar_url appears to have changed between 9.2.0 and 10.0.0. The output used to produce a raw URL but now it produces
HTML.
I noticed the change when I tried to upgrade from 9.2.0 to 10.2.0. It breaks my code which was expecting the raw URL.
Was the output format changed intentionally?
It seems to me the name of the original function was accurate for raw URL, but the new version inadvertently switches the nature of the group avatar url function.
It would be nice to clarify whether the return format change for the bp_get_group_avatar_url was intentional or not. If it was intentional and there’s no plan to revert to the old function version then the work around for anyone who wishes to strip the raw url out of the img text is …
// Hack for Buddypress v10.0.0+
// Pull raw url from the fullHTML element
$group_image_url = bp_get_group_avatar_url( $group, 'full' );
preg_match('/<img(.*)src(.*)=(.*)"(.*)"/U', $group_image_url, $result);
$raw_image_url = array_pop($result);
It may be better to introduce a new function called bp_get_group_avatar_img which returns the img html and keep the original function, bp_get_group_avatar_url, returning the raw url.
Please advise on whether the change to the function bp_get_group_avatar_img in v10.0.0+ will remain permanent or whether there are plans to revert the function to the previous 9.2.0 behaviour.
My preference, if it makes sense, is to stick with the original 9.2.0 version, but I can adapt to the 10.0.0+ version if required. The raw url gives me more flexibility to code my preferred img element.
Thanks!
Hey, so i am trying to add a filter in the members search to only show the profiles that have a certain role in an Xprofile field, doing some research i came across the next code
if ( !defined( 'ABSPATH' ) ) exit; class BP_Loop_Filters { /** * Constructor */ public function __construct() { $this->setup_actions(); } private function setup_actions() { add_action( 'bp_members_directory_order_options', array( $this, 'random_order' ) ); if( bp_is_active( 'groups' ) ) add_action( 'bp_groups_directory_order_options', array( $this, 'random_order' ) ); if( is_multisite() && bp_is_active( 'blogs' ) ) add_action( 'bp_blogs_directory_order_options', array( $this, 'random_order' ) ); } public function random_order() { ?> <option value="random"><?php _e( 'Random', 'buddypress' ); ?></option> <?php } } function bp_loop_filters() { return new BP_Loop_Filters(); } add_action( 'bp_include', 'bp_loop_filters' );i tried adjusting it to call the Xprofile fields i want but it caused a complete error on the website, any help?
Hi,
here is the my code. tab is created,
but if user not member this private group redirect to wp-login page. how to open everyone this tab?function custom_members_tab() {
if ( bp_is_groups_component() && bp_is_single_item() ) {
global $bp;
$group_link = bp_get_group_permalink( $bp->groups->current_group );
$tab_args = array(
‘name’ => esc_html__( ‘destination’, ‘default’ ),
‘slug’ => ‘destination-members’,
‘screen_function’ => ‘destination_members_screen’,
‘position’ => 60,
‘parent_url’ => $group_link,
‘parent_slug’ => $bp->groups->current_group->slug,
‘default_subnav_slug’ => ‘destination-members’,
‘item_css_id’ => ‘destination-members’,
‘access’ => ‘anyone’,
‘show_tab’ => ‘anyone’,
‘show_for_displayed_user’ => true
);
bp_core_new_subnav_item( $tab_args, ‘groups’ );
}
}
add_action( ‘bp_setup_nav’, ‘custom_members_tab’ );function destination_members_screen() {
add_action( ‘bp_template_content’, ‘custom_group_tab_content’ );
bp_core_load_template( ‘buddypress/members/single/plugins’ );
}
function custom_group_tab_content() {
echo “show non group members, guests, everyone”
}I read this ticket, but I couldn’t understand how to use it.
https://buddypress.trac.wordpress.org/ticket/4785