LD_MAKEUSERLEADER::make_user_leader_of_group( $user_id,  $action_data,  $recipe_id,  $args )

Validation function when the trigger action is hit


Parameters Parameters

$user_id

(Required)

$action_data

(Required)

$recipe_id

(Required)

$args

(Required)


Source Source

File: src/integrations/learndash/actions/ld-makeuserleader.php

	public function make_user_leader_of_group( $user_id, $action_data, $recipe_id, $args ) {



		$uo_group                     = Automator()->parse->text( $action_data['meta']['LDGROUP'], $recipe_id, $user_id, $args );
		$group_leader_role_assignment = Automator()->parse->text( $action_data['meta']['GROUP_LEADER_ROLE_ASSIGNMENT'], $recipe_id, $user_id, $args );

		$user = get_user_by( 'ID', $user_id );

		if ( is_wp_error( $user ) ) {
			return;
		}

		if ( user_can( $user, 'group_leader' ) ) {
			ld_update_leader_group_access( $user_id, $uo_group );
			Automator()->complete_action( $user_id, $action_data, $recipe_id );

			return;
		}

		switch ( trim( $group_leader_role_assignment ) ) {
			case 'add':
				$user->add_role( 'group_leader' );
				ld_update_leader_group_access( $user_id, $uo_group );
				break;
			case 'replace':
				$user->set_role( 'group_leader' );
				ld_update_leader_group_access( $user_id, $uo_group );
				break;
		}

		Automator()->complete_action( $user_id, $action_data, $recipe_id );

		return;
	}