diff options
author | Vinicius Coque <vinicius.coque@bluepex.com> | 2010-06-02 10:22:35 -0300 |
---|---|---|
committer | Vinicius Coque <vinicius.coque@bluepex.com> | 2010-06-02 10:22:35 -0300 |
commit | 460b635f1428855d25847312c5bf441311a42de7 (patch) | |
tree | 7d460c9215a5bf9d2d583740927ce92e53f8fb08 /usr | |
parent | f1a7a39721ff3559ff5c5ab796787176862aff0a (diff) | |
download | pfsense-460b635f1428855d25847312c5bf441311a42de7.zip pfsense-460b635f1428855d25847312c5bf441311a42de7.tar.gz |
Listing service providers
- Added dropdown list to select provider
- Added javascrit methods to handle Ajax requests
Diffstat (limited to 'usr')
-rw-r--r-- | usr/local/www/interfaces_ppps_edit.php | 39 | ||||
-rw-r--r-- | usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js | 103 |
2 files changed, 114 insertions, 28 deletions
diff --git a/usr/local/www/interfaces_ppps_edit.php b/usr/local/www/interfaces_ppps_edit.php index 45a1083..5d4df19 100644 --- a/usr/local/www/interfaces_ppps_edit.php +++ b/usr/local/www/interfaces_ppps_edit.php @@ -520,12 +520,37 @@ $types = array("select" => "Select", "ppp" => "PPP", "pppoe" => "PPPoE", "pptp" </select> <br/><span class="vexpl"><?= gettext("Interface(s) or port(s) participating in the connection."); ?></span> - <span style="display:none" id="prefil_ppp"> - <p/><?= gettext("Click a link to fill in defaults for these carriers:"); ?> - <a href='#' onClick='javascript:prefill_att();'>ATT</A> - <a href='#' onClick='javascript:prefill_sprint();'>Sprint</A> - <a href='#' onClick='javascript:prefill_vzw();'>Verizon</A> - </span> + </td> + </tr> + <tr name="prefil_ppp" id="prefil_ppp" style="display:none"> + <td width="22%" valign="top" class="vncell"><?= gettext("Service Provider"); ?></td> + <td width="78%" class="vtable"> + <table border="0" cellpadding="0" cellspacing="0"> + <tr id="trcountry" style="display:none"> + <td><?= gettext("Country"); ?> : </td> + <td> + <select class="formselect" name="country" id="country" onChange="providers_list()"> + <option></option> + </select> + </td> + </tr> + <tr id="trprovider" style="display:none"> + <td><?= gettext("Provider"); ?> : </td> + <td> + <select class="formselect" name="provider" id="provider" onChange="providerplan_list()"> + <option></option> + </select> + </td> + </tr> + <tr id="trproviderplan" style="display:none"> + <td><?= gettext("Plan"); ?> : </td> + <td> + <select class="formselect" name="providerplan" id="providerplan" onChange="prefill_provider()"> + <option></option> + </select> + </td> + </tr> + </table> </td> </tr> <tr style="display:none" name="portlists" id="portlists"> @@ -868,4 +893,4 @@ $types = array("select" => "Select", "ppp" => "PPP", "pppoe" => "PPPoE", "pptp" </form> <?php include("fend.inc"); ?> </body> -</html>
\ No newline at end of file +</html> diff --git a/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js b/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js index 8f1dcec..1df660f 100644 --- a/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js +++ b/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js @@ -93,6 +93,7 @@ function updateType(t){ update_select_list(serialports, select_list); $('select','pppoe','pptp').invoke('hide'); $('prefil_ppp').show(); + country_list(); break; } case "pppoe": { @@ -131,27 +132,87 @@ function show_reset_settings(reset_type) { Effect.Fade('pppoepresetwrap', { duration: 0.0 }); } } -function prefill_att() { - $('initstr').value = "Q0V1E1S0=0&C1&D2+FCLASS=0"; - $('apn').value = "ISP.CINGULAR"; - $('apnum').value = "1"; - $('phone').value = "*99#"; - $('username').value = "att"; - $('password').value = "att"; + +function country_list() { + $('country').childElements().each(function(node) { node.remove(); }); + $('provider').childElements().each(function(node) { node.remove(); }); + $('providerplan').childElements().each(function(node) { node.remove(); }); + new Ajax.Request("getserviceproviders.php",{ + onSuccess: function(response) { + var responseTextArr = response.responseText.split("\n"); + responseTextArr.sort(); + responseTextArr.each( function(value) { + var option = new Element('option'); + country = value.split(":"); + option.text = country[0]; + option.value = country[1]; + $('country').insert({ bottom : option }); + }); + } + }); + $('trcountry').setStyle({display : "table-row"}); +} + +function providers_list() { + $('provider').childElements().each(function(node) { node.remove(); }); + $('providerplan').childElements().each(function(node) { node.remove(); }); + new Ajax.Request("getserviceproviders.php",{ + parameters: {country : $F('country')}, + onSuccess: function(response) { + var responseTextArr = response.responseText.split("\n"); + responseTextArr.sort(); + responseTextArr.each( function(value) { + var option = new Element('option'); + option.text = value; + option.value = value; + $('provider').insert({ bottom : option }); + }); + } + }); + $('trprovider').setStyle({display : "table-row"}); + $('trproviderplan').setStyle({display : "none"}); } -function prefill_sprint() { - $('initstr').value = "E1Q0"; - $('apn').value = ""; - $('apnum').value = ""; - $('phone').value = "#777"; - $('username').value = "sprint"; - $('password').value = "sprint"; + +function providerplan_list() { + $('providerplan').childElements().each(function(node) { node.remove(); }); + $('providerplan').insert( new Element('option') ); + new Ajax.Request("getserviceproviders.php",{ + parameters: {country : $F('country'), provider : $F('provider')}, + onSuccess: function(response) { + var responseTextArr = response.responseText.split("\n"); + responseTextArr.sort(); + responseTextArr.each( function(value) { + if(value != "") { + providerplan = value.split(":"); + + var option = new Element('option'); + option.text = providerplan[0] + " - " + providerplan[1]; + option.value = providerplan[1]; + $('providerplan').insert({ bottom : option }); + } + }); + } + }); + $('trproviderplan').setStyle({display : "table-row"}); } -function prefill_vzw() { - $('initstr').value = "E1Q0s7=60"; - $('apn').value = ""; - $('apnum').value = ""; - $('phone').value = "#777"; - $('username').value = "123@vzw3g.com"; - $('password').value = "vzw"; + +function prefill_provider() { + new Ajax.Request("getserviceproviders.php",{ + parameters: {country : $F('country'), provider : $F('provider'), plan : $F('providerplan')}, + onSuccess: function(response) { + var xmldoc = response.responseXML; + var provider = xmldoc.getElementsByTagName('connection')[0]; + $('username').setValue(''); + $('password').setValue(''); + if(provider.getElementsByTagName('apn')[0].firstChild.data == "CDMA") { + $('phone').setValue('*777'); + $('apn').setValue(''); + } else { + $('phone').setValue('*99#'); + $('apn').setValue(provider.getElementsByTagName('apn')[0].firstChild.data); + } + $('username').setValue(provider.getElementsByTagName('username')[0].firstChild.data); + $('password').setValue(provider.getElementsByTagName('password')[0].firstChild.data); + } + }); } |