Users::get_formatted_hosts_list( null|string $account_id = null )

Get list of hosts formatted for options dropdown.


Parameters

$account_id

(null|string) (Optional) The account id to use to get the users with.

Default value: null


Top ↑

Return

(TribeEventsVirtualMeetingsZoomarray<string,mixed>) An array of Zoom Users to use as the host


Top ↑

Source

File: src/Tribe/Meetings/Zoom/Users.php

	public function get_formatted_hosts_list( $account_id = null ) {
		$available_hosts = $this->get_users( $account_id );
		if ( empty( $available_hosts['users'] ) ) {
			return [];
		}

		$active_users    = $available_hosts['users'];
		$hosts           = [];
		foreach ( $active_users as $user ) {
			$name  = Arr::get( $user, 'first_name', '' ) . ' ' .  Arr::get( $user, 'last_name', '' ) . ' - '. Arr::get( $user, 'email', '' );
			$last_name = Arr::get( $user, 'last_name', '' );
			$value = Arr::get( $user, 'id', '' );
			$type  = Arr::get( $user, 'type', 0 );

			if ( empty( $name ) || empty( $value ) ) {
				continue;
			}

			if ( empty( $last_name ) ) {
				$last_name = Arr::get( $user, 'first_name', '' );
			}

			$hosts[] = [
				'text'             => (string) trim( $name ),
				'sort'             => (string) trim( $last_name ),
				'id'               => (string) $value,
				'value'            => (string) $value,
				'alternative_host' => $type > 1 ? true : false,
				'selected'         => $account_id === $value ? true : false,
			];
		}

		// Sort the hosts array by text(email).
		$sort_arr = array_column( $hosts, 'sort' );
		array_multisort( $sort_arr, SORT_ASC, $hosts );

		return $hosts;
	}

Top ↑

Changelog

Changelog
Version Description
1.5.0 - Add support for multiple accounts.
1.4.0 Introduced.