summaryrefslogtreecommitdiffstats
path: root/src/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js')
-rw-r--r--src/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js253
1 files changed, 253 insertions, 0 deletions
diff --git a/src/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js b/src/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js
new file mode 100644
index 0000000..45b529b
--- /dev/null
+++ b/src/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js
@@ -0,0 +1,253 @@
+/*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]));
+ }
+ }
+ }
+ });
+ 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);
+ }
+ jQuery('#username').val(provider.getElementsByTagName('username')[0].firstChild.data);
+ jQuery('#password').val(provider.getElementsByTagName('password')[0].firstChild.data);
+ }
+ });
+}
OpenPOWER on IntegriCloud