$user_id = @gs_prov_add_phone_get_nobody_user_id($db, $mac, $phone_type, $requester['phone_ip']); if ($user_id < 1) { gs_log(GS_LOG_WARNING, "Failed to add nobody user for new phone {$mac}"); _settings_err('Failed to add nobody user for new phone.'); } } # is it a valid user id? # $num = (int) $db->executeGetOne('SELECT COUNT(*) FROM `users` WHERE `id`=' . $user_id); if ($num < 1) { $user_id = 0; } if ($user_id < 1) { # something bad happened, nobody (not even a nobody user) is logged # in at that phone. assign the default nobody user of the phone: $user_id = @gs_prov_assign_default_nobody($db, $mac, null); if ($user_id < 1) { _settings_err('Failed to assign nobody account to phone ' . $mac); } } # get host for user # $host = @gs_prov_get_host_for_user_id($db, $user_id); if (!$host) { _settings_err('Failed to find host.'); } $pbx = $host; # $host might be changed if SBC configured # who is logged in at that phone? # $user = @gs_prov_get_user_info($db, $user_id);
} } } } foreach ($users as $i => $user) { # create virtual mac address $mac_addr = $i > 0 ? $mac . '-' . ($i + 1) : $mac; # is it a valid user id? # if ($user['id'] > 0) { $num = (int) $db->executeGetOne('SELECT COUNT(*) FROM `users` WHERE `id`=' . (int) $user['id']); } else { $num = 0; } if ($num < 1) { $users[$i]['id'] = (int) @gs_prov_assign_default_nobody($db, $mac_addr, null); if ($users[$i]['id'] < 1) { _settings_err('Failed to assign nobody account to phone ' . $mac_addr); } } # who is logged in at that phone? # $user = @gs_prov_get_user_info($db, $user['id']); if (!is_array($users[$i])) { _settings_err('DB error.'); } $user['id'] = $users[$i]['id']; $users[$i]['name'] = $user['name']; $users[$i]['mailbox'] = $user['mailbox']; $users[$i]['secret'] = $user['secret']; $users[$i]['nobody_index'] = $user['nobody_index'];