}
$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);
示例#2
0
        }
    }
} 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 {