psetting($param_name, $param_value);
            } else {
                # array
                gs_log(GS_LOG_NOTICE, "Group prov. param \"{$param_name}\"[{$param_index}]: Grandstream does not support arrays");
                //gs_log( GS_LOG_DEBUG, "Overriding group prov. param \"$param_name\"[$param_index]: \"$param_value\"" );
                //setting( $param_name, $param_index, $param_value );
            }
        }
    }
}
unset($prov_params);
unset($GS_ProvParams);
#####################################################################
#  Override provisioning parameters (user profile)
#####################################################################
$prov_params = @gs_user_prov_params_get($user['user'], $phone_type);
if (!is_array($prov_params)) {
    gs_log(GS_LOG_WARNING, 'Failed to get provisioning parameters (user)');
} else {
    foreach ($prov_params as $p) {
        if ($p['index'] === null || $p['index'] == -1) {
            # not an array
            if (!array_key_exists($p['param'], $settings)) {
                # don't set unknown parameters because the order is important
                gs_log(GS_LOG_NOTICE, "User prov. param \"{$param_name}\": Unknown parameter");
                continue;
            }
            gs_log(GS_LOG_DEBUG, 'Overriding user prov. param "' . $p['param'] . '": "' . $p['value'] . '"');
            //setting( $p['param'], null       , $p['value'] );
            psetting($p['param'], $p['value']);
        } else {
Ejemplo n.º 2
0
        }
    }
}
if (isset($volume_configs[$phone_types[$phone_type]['conf']])) {
    $volume_config = $volume_configs[$phone_types[$phone_type]['conf']];
    $prov_params = gs_prov_params_get($_SESSION['sudo_user']['name'], $phone_type);
    foreach ($prov_params as $prov_parm_key => $prov_parm_value) {
        if (array_key_exists($prov_parm_key, $volume_config) && isset($prov_parm_value[-1])) {
            $value = (int) $prov_parm_value[-1];
            if ($value < $volume_config[$prov_parm_key]['min'] || $value > $volume_config[$prov_parm_key]['max']) {
                continue;
            }
            $volume_config[$prov_parm_key]['value'] = $value;
        }
    }
    $parms = gs_user_prov_params_get($_SESSION['sudo_user']['name'], $phone_type);
    foreach ($parms as $parm) {
        if ($parm['phone_type'] == $phone_type && array_key_exists($parm['param'], $volume_config)) {
            $volume_config[$parm['param']]['value'] = $parm['value'];
        }
    }
} else {
    $volume_config = false;
}
#####################################################################
# save {
#####################################################################
if ($action === 'save' || $action === 'save-and-resync') {
    if (is_array($volume_config) && $phone_type != '') {
        foreach ($volume_config as $param => $data) {
            $encparam = preg_replace('/\\s/', '%', $param);