Commit c80a1f81 authored by Ad Schellevis's avatar Ad Schellevis

(legacy) zap ppps_edit.js

parent 18be51a5
/*jslint white: true, sloppy: true, vars: true, eqeq: true */
/*jslint browser: true, devel: true */
/*global show_hide_linkfields, jQuery, country_list */
function update_select_list(new_options, select_list){
var option_array = new_options.split("|");
var i = 0;
var j;
select_list.length = 0;
for(j=0; j < option_array.length-1; j++){
var option = option_array[j].split(",");
var selected = Boolean(parseInt(option[2], 10));
select_list[j] = new Option(option[0], option[1], false, selected);
//for testing and debugging
//select_list.options[option_array.length-1+j] = new Option(option[2].toString() +" "+ selected.toString());
//select_list.options[option_array.length-1+j] = new Option("Link Label: " + linklabel + " Label Text:" + label_text);
}
show_hide_linkfields(select_list);
}
function show_advanced(hide){
var select_list = document.iform["interfaces[]"].options;
var adv_rows = parseInt(jQuery('#adv_rows').html(), 10);
var adv_show = Boolean(parseInt(jQuery('#adv_show').html(), 10));
var status = Boolean(parseInt(hide, 10));
var j, advanced;
if (status){
jQuery('#advanced_').hide();
for(j=0; j < adv_rows; j++){
advanced = "#advanced_" + j.toString();
jQuery(advanced).show();
}
jQuery('#adv_show').html("1");
show_hide_linkfields(select_list);
} else {
jQuery('#advanced_').show();
for(j=0; j < adv_rows; j++){
advanced = "#advanced_" + j.toString();
jQuery(advanced).hide();
}
jQuery('#adv_show').html("0");
show_hide_linkfields(select_list);
}
}
function show_hide_linkfields(options){
var i = 0;
var port_count = parseInt(jQuery('#port_count').html(), 10);
var adv_show = Boolean(parseInt(jQuery('#adv_show').html(), 10));
var j, count, type, link, lnklabel, bw, bwlabel, mtu, mru, mrru, ipfields, gwfields, localip,
localiplabel, subnet, gateway, gatewaylabel;
for(j=0; j < port_count; j++){
count = j.toString();
type = jQuery('#type').val();
link = "#link" + count;
lnklabel = "#linklabel" + count;
bw = "#bandwidth" + count;
bwlabel = "#bwlabel" + count;
mtu = "#mtu" + count;
mru = "#mru" + count;
mrru = "#mrru" + count;
ipfields = "#ip_fields" + count;
gwfields = "#gw_fields" + count;
localip = "#localip" + count;
localiplabel = "#localiplabel" + count;
subnet = "#subnet" + count;
gateway = "#gateway" + count;
gatewaylabel = "#gatewaylabel" + count;
jQuery(ipfields + ',' + gwfields + ',' + link).hide();
jQuery(subnet).prop('disabled',true);
jQuery(bw).attr("name","bandwidth[]");
jQuery(mtu).attr("name","mtu[]");
jQuery(mru).attr("name","mru[]");
jQuery(mrru).attr("name","mrru[]");
jQuery(localip).attr("name","localip[]");
jQuery(subnet).attr("name","subnet[]");
jQuery(gateway).attr("name","gateway[]");
while(i < options.length){
if (options[i].selected ){
jQuery(lnklabel).html("Link Parameters (" + options[i].value + ")");
jQuery(bwlabel).html("Bandwidth (" + options[i].value + ")");
jQuery(bw).attr("name","bandwidth[" + options[i].value + "]");
jQuery(mtu).attr("name","mtu[" + options[i].value + "]");
jQuery(mru).attr("name","mru[" + options[i].value + "]");
jQuery(mrru).attr("name","mrru[" + options[i].value + "]");
jQuery(localiplabel).html("Local IP (" + options[i].value + ")");
jQuery(gatewaylabel).html("Gateway (" + options[i].value + ")");
jQuery(localip).attr("name","localip[" + options[i].value + "]");
jQuery(subnet).attr("name","subnet[" + options[i].value + "]");
jQuery(gateway).attr("name","gateway[" + options[i].value + "]");
if (type == 'ppp' && adv_show){
jQuery(ipfields + ',' + gwfields).show();
}
if (type == 'pptp' || type == 'l2tp'){
jQuery(subnet).prop("disabled",false);
jQuery(ipfields + ',' + gwfields).show();
}
if (adv_show){
jQuery(link).show();
}
i++;
break;
}
i++;
}
}
}
function updateType(t){
var serialports = jQuery('#serialports').html();
var ports = jQuery('#ports').html();
var select_list = document.iform["interfaces[]"].options;
jQuery('#adv_show').html("0");
show_advanced('0');
jQuery("#select").show();
switch(t) {
case "select":
jQuery('#ppp,#pppoe,#ppp_provider,#phone_num,#apn_').hide();
select_list.length = 0;
select_list[0] = new Option("Select Link Type First","");
break;
case "ppp":
update_select_list(serialports, select_list);
jQuery('#select,#pppoe').hide();
jQuery('#ppp_provider,#phone_num,#apn_').show();
country_list();
break;
case "pppoe":
update_select_list(ports, select_list);
jQuery('#select,#ppp,#ppp_provider,#phone_num,#apn_').hide();
break;
case "l2tp":
case "pptp":
update_select_list(ports, select_list);
jQuery('#select,#ppp,#pppoe,#ppp_provider,#phone_num,#apn_').hide();
break;
default:
select_list.length = 0;
select_list[0] = new Option("Select Link Type First","");
break;
}
if (t == "pppoe" || t == "ppp"){
jQuery("#" + t).show();
}
}
function show_reset_settings(reset_type) {
if (reset_type == 'preset') {
jQuery('#pppoepresetwrap').show(0);
jQuery('#pppoecustomwrap').hide(0);
}
else if (reset_type == 'custom') {
jQuery('#pppoecustomwrap').show(0);
jQuery('#pppoepresetwrap').hide(0);
} else {
jQuery('#pppoecustomwrap').hide(0);
jQuery('#pppoepresetwrap').hide(0);
}
}
function country_list() {
jQuery('#country option').remove();
jQuery('#provider option').remove();
jQuery('#providerplan option').remove();
jQuery('#country').append(new Option('', ''));
jQuery.ajax("getserviceproviders.php",{
success: function(responseText) {
var responseTextArr = responseText.split("\n");
var value, i, country;
responseTextArr.sort();
for (i = 0; i < responseTextArr.length; i += 1) {
value = responseTextArr[i];
if (/\S/.test(value)) {
country = value.split(":");
jQuery('#country').append(new Option(country[0],country[1]));
}
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
}
});
jQuery('#trcountry').css("display","table-row");
}
function providers_list() {
jQuery('#provider option').remove();
jQuery('#providerplan option').remove();
jQuery('#provider').append(new Option('', ''));
jQuery.ajax("getserviceproviders.php",{
type: 'POST',
data: {country : jQuery('#country').val()},
success: function(responseText) {
var responseTextArr = responseText.split("\n");
var value, i;
responseTextArr.sort();
for (i = 0; i < responseTextArr.length; i += 1) {
value = responseTextArr[i];
if (/\S/.test(value)) {
jQuery('#provider').append(new Option(value, value));
}
}
}
});
jQuery('#trprovider').css("display","table-row");
jQuery('#trproviderplan').css("display","none");
}
function providerplan_list() {
jQuery('#providerplan option').remove();
jQuery('#providerplan').append( new Option('','') );
jQuery.ajax("getserviceproviders.php",{
type: 'POST',
data: {country : jQuery('#country').val(), provider : jQuery('#provider').val()},
success: function(responseText) {
var responseTextArr = responseText.split("\n");
var value, providerplan, i;
responseTextArr.sort();
for (i = 0; i < responseTextArr.length; i += 1) {
value = responseTextArr[i];
if (/\S/.test(value)) {
providerplan = value.split(":");
jQuery('#providerplan').append(new Option(providerplan[0] + " - " + providerplan[1],
providerplan[1]));
}
}
}
});
jQuery('#trproviderplan').css("display","table-row");
}
function prefill_provider() {
jQuery.ajax("getserviceproviders.php",{
type: "POST",
data: {country : jQuery('#country').val(), provider : jQuery('#provider').val(), plan : jQuery('#providerplan').val()},
success: function(responseXML) {
var xmldoc = responseXML;
var provider = xmldoc.getElementsByTagName('connection')[0];
jQuery('#username').val('');
jQuery('#password').val('');
if(provider.getElementsByTagName('apn')[0].firstChild.data == "CDMA") {
jQuery('#phone').val('#777');
jQuery('#apn').val('');
} else {
jQuery('#phone').val('*99#');
jQuery('#apn').val(provider.getElementsByTagName('apn')[0].firstChild.data);
}
if (provider.getElementsByTagName('username')[0].firstChild != null) {
jQuery('#username').val(provider.getElementsByTagName('username')[0].firstChild.data);
}
if (provider.getElementsByTagName('password')[0].firstChild != null) {
jQuery('#password').val(provider.getElementsByTagName('password')[0].firstChild.data);
}
}
});
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment