summaryrefslogtreecommitdiffstats
path: root/usr/local
diff options
context:
space:
mode:
authorVinicius Coque <vinicius.coque@bluepex.com>2010-06-02 10:22:35 -0300
committerVinicius Coque <vinicius.coque@bluepex.com>2010-06-02 10:22:35 -0300
commit460b635f1428855d25847312c5bf441311a42de7 (patch)
tree7d460c9215a5bf9d2d583740927ce92e53f8fb08 /usr/local
parentf1a7a39721ff3559ff5c5ab796787176862aff0a (diff)
downloadpfsense-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/local')
-rw-r--r--usr/local/www/interfaces_ppps_edit.php39
-rw-r--r--usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js103
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:"); ?>&nbsp;
- <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"); ?> :&nbsp;&nbsp;</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"); ?> :&nbsp;&nbsp;</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"); ?> :&nbsp;&nbsp;</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);
+ }
+ });
}
OpenPOWER on IntegriCloud