Users::get_formatted_hosts_list( null|string $account_id = null )
Get list of hosts formatted for options dropdown.
Contents
Parameters
- $account_id
-
(null|string) (Optional) The account id to use to get the users with.
Default value: null
Return
(TribeEventsVirtualMeetingsZoomarray<string,mixed>) An array of Zoom Users to use as the host
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;
}
Changelog
| Version | Description |
|---|---|
| 1.5.0 | - Add support for multiple accounts. |
| 1.4.0 | Introduced. |