/** * Get a DialList object try * Pass in a VBX_User or VBX_Group object to begin * * @param object users_or_group * @return object DialList */ public static function get($users_or_group) { $users = array(); $class = 'DialList'; switch (true) { case is_array($users_or_group): if (current($users_or_group) instanceof VBX_User) { // list of users, set as users list and continue $users = $users_or_group; } else { // list of user ids, populate list $users = VBX_User::get_users($users_or_group); } break; case $users_or_group instanceof VBX_Group: if (!empty($users_or_group->users)) { foreach ($users_or_group->users as $user) { array_push($users, VBX_User::get($user->user_id)); } } break; case $users_or_group instanceof VBX_User: $class = 'DialListUser'; // individual user, add to list and continue array_push($users, $users_or_group); break; } return new $class($users); }