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 {
} } } 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);