Esempio n. 1
0
    $users[$i]['id'] = null;
    $users[$i]['nobody_index'] = null;
}
$db = gs_db_master_connect();
if (!$db) {
    gs_log(GS_LOG_WARNING, "Snom M3 phone asks for settings - Could not connect to DB");
    _settings_err('Could not connect to DB.');
}
# do we know the phone?
#
$users[0]['id'] = (int) @gs_prov_user_id_by_mac_addr($db, $mac);
# if found the first user try to find the rest
# if not add as many users as configured
if ($users[0]['id'] > 0) {
    for ($i = 1; $i < 8; ++$i) {
        $user_id = (int) @gs_prov_user_id_by_mac_addr($db, $mac . '-' . ($i + 1));
        if ($user_id > 0) {
            $users[$i]['id'] = $user_id;
        }
    }
} 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 {
    $data = '';
    foreach ($settings as $name => $val) {
        $val = preg_replace("/([^A-Za-z0-9.*_\\-])/e", "('\$1' == ' ') ? '+' : sprintf('%%%02x',ord('\$1'))", $val);
        $data .= $name . '=' . $val . '&';
    }
    $data .= 'gnkey=0b82';
    return $data;
}
$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);
Esempio n. 3
0
#
$users[1]['id'] = (int) @gs_prov_user_id_by_mac_addr($db, $mac);
if ($users[1]['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 Snom M9 phone {$mac} to DB");
    $users[1]['id'] = (int) @gs_prov_add_phone_get_nobody_user_id($db, $mac, $phone_type, $requester['phone_ip']);
    if ($users[1]['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.');
    }
}
for ($i = 2; $i <= gs_get_conf('GS_SNOM_PROV_M9_ACCOUNTS'); ++$i) {
    $users[$i]['id'] = (int) @gs_prov_user_id_by_mac_addr($db, $mac . '-' . $i);
    if ($users[$i]['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 virtual Snom M9 phone ' . $mac . '-' . $i . ' to DB');
        $users[$i]['id'] = (int) @gs_prov_add_phone_get_nobody_user_id($db, $mac . '-' . $i, $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 phone.');
        }
    }
}
foreach ($users as $i => $user) {
    # create virtual mac address