} $db = gs_db_master_connect(); if (!$db) { gs_log(GS_LOG_WARNING, "Grandstream phone asks for settings - Could not connect to DB"); _settings_err('Could not connect to DB.'); } # do we know the phone? # $user_id = @gs_prov_user_id_by_mac_addr($db, $mac); if ($user_id < 1) { if (!GS_PROV_AUTO_ADD_PHONE) { gs_log(GS_LOG_NOTICE, "New phone {$mac} not added to DB. Enable PROV_AUTO_ADD_PHONE"); _settings_err('Unknown phone. (Enable PROV_AUTO_ADD_PHONE in order to auto-add)'); } gs_log(GS_LOG_NOTICE, "Adding new Grandstream phone {$mac} to DB"); $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);
} } } else { if (!GS_PROV_AUTO_ADD_PHONE) { gs_log(GS_LOG_NOTICE, "New Snom M3 phone {$mac} not added to DB. Enable PROV_AUTO_ADD_PHONE"); _settings_err('Unknown phone. (Enable PROV_AUTO_ADD_PHONE in order to auto-add)'); } gs_log(GS_LOG_NOTICE, "Adding new Snom M3 phone {$mac} to DB"); $users[0]['id'] = (int) @gs_prov_add_phone_get_nobody_user_id($db, $mac, $phone_type, $requester['phone_ip']); if ($users[0]['id'] < 1) { gs_log(GS_LOG_WARNING, "Failed to add main nobody user for new phone {$mac}"); _settings_err('Failed to add main nobody user for new phone.'); } else { for ($i = 1; $i < gs_get_conf('GS_SNOM_PROV_M3_ACCOUNTS'); ++$i) { gs_log(GS_LOG_NOTICE, 'Adding new virtual Snom M3 phone ' . $mac . '-' . ($i + 1) . ' to DB'); $users[$i]['id'] = (int) @gs_prov_add_phone_get_nobody_user_id($db, $mac . '-' . ($i + 1), $phone_type, $requester['phone_ip']); if ($users[$i]['id'] < 1) { gs_log(GS_LOG_WARNING, "Failed to add nobody user for new phone {$mac}-{$i}"); _settings_err('Failed to add nobody user for new Snom M3 phone'); } } } } 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 {