BP_REST_Group_Settings_Endpoint::update_courses_fields( WP_REST_Request $request )

Update Group Courses settings.

Description

Parameters

$request

(Required) Request used to generate the response.

Return

(array)

Source

File: bp-groups/classes/class-bp-rest-group-settings-endpoint.php

	protected function update_courses_fields( $request ) {
		$post_fields                        = $request->get_param( 'fields' );
		$group_id                           = $request->get_param( 'id' );
		$group                              = groups_get_group( $group_id );
		buddypress()->groups->current_group = $group;

		if ( ! function_exists( 'bp_ld_sync' ) || '1' !== bp_ld_sync( 'settings' )->get( 'buddypress.enabled', true ) ) {
			return new WP_Error(
				'bp_rest_invalid_group_setting_nav',
				__( 'Sorry, you are not allowed to update the courses group settings options.', 'buddyboss' ),
				array(
					'status' => 400,
				)
			);
		}

		if ( empty( $post_fields ) ) {
			return array(
				'error'  => '',
				'notice' => '',
			);
		}

		$generator = bp_ld_sync( 'buddypress' )->sync->generator( $group_id );

		if ( array_key_exists( 'bp-ld-sync-enable', (array) $post_fields ) && empty( $post_fields['bp-ld-sync-enable'] ) ) {
			$generator->desyncFromLearndash();
		} elseif ( array_key_exists( 'bp-ld-sync-enable', (array) $post_fields ) && ! empty( $post_fields['bp-ld-sync-enable'] ) ) {
			$generator->associateToLearndash()->syncBpAdmins();
		}

		$notice = __( 'Group settings were successfully updated.', 'buddyboss' );

		return array(
			'error'  => '',
			'notice' => $notice,
		);
	}

Questions?

We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.