зеркало из https://github.com/mozilla/gecko-dev.git
294 строки
11 KiB
JavaScript
294 строки
11 KiB
JavaScript
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil -*-
|
|
*
|
|
* The contents of this file are subject to the Netscape Public
|
|
* License Version 1.1 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.mozilla.org/NPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS
|
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
* implied. See the License for the specific language governing
|
|
* rights and limitations under the License.
|
|
*
|
|
* The Original Code is mozilla.org code.
|
|
*
|
|
* The Initial Developer of the Original Code is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All
|
|
* Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*/
|
|
<!-- to hide script contents from old browsers
|
|
|
|
var globals = parent.parent.globals;
|
|
var plugin = globals.document.setupPlugin;
|
|
var documentVars = globals.document.vars;
|
|
|
|
function go( msg )
|
|
{
|
|
if ( parent.parent.globals.document.vars.editMode.value == "yes" )
|
|
return true;
|
|
else
|
|
return checkData();
|
|
}
|
|
|
|
function checkData()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
function loadData()
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege( "AccountSetup" );
|
|
|
|
if ( parent.controls.generateControls )
|
|
parent.controls.generateControls();
|
|
|
|
if ( globals.document.vars.editMode.value != "yes" )
|
|
{ // only connect to reggie if editmode is off
|
|
|
|
var connectStatusFlag = globals.document.setupPlugin.IsDialerConnected();
|
|
if ( connectStatusFlag == true )
|
|
{
|
|
if ( confirm( "Account Setup can't connect until you close your current connection. Close the connection now?" ) == false )
|
|
return;
|
|
globals.document.setupPlugin.DialerHangup();
|
|
}
|
|
|
|
var language = plugin.GetISPLanguage( globals.selectedISP );
|
|
var acctSetupFile = globals.getAcctSetupFilename( self );
|
|
var acctSetupFolder = globals.getFolder( self ) + "isp/" + language + "/" + globals.selectedISP + "/client_data/config/";
|
|
var regFile = acctSetupFolder + "config.ias.r";
|
|
|
|
// determine name of scripting file
|
|
var scriptEnabledFlag = "FALSE";
|
|
var scriptFile = globals.GetNameValuePair( regFile, "Dial-In Configuration", "ScriptFileName" );
|
|
if ( scriptFile != null && scriptFile != "" )
|
|
{
|
|
scriptFile = acctSetupFolder + scriptFile;
|
|
scriptEnabledFlag = "TRUE";
|
|
}
|
|
else
|
|
{
|
|
scriptFile = "";
|
|
scriptEnabledFlag = "FALSE";
|
|
}
|
|
|
|
|
|
// determine tty
|
|
var ttyFlag = globals.GetNameValuePair( regFile, "Security", "SecurityDevice" );
|
|
ttyFlag = ttyFlag.toLowerCase();
|
|
if ( ttyFlag == "yes" )
|
|
ttyFlag = "TRUE";
|
|
else
|
|
ttyFlag = "FALSE";
|
|
|
|
// determine outside line access string
|
|
var outsideLineAccessStr = "";
|
|
if ( globals.document.vars.prefixData.value != "" )
|
|
{
|
|
outsideLineAccessStr = parent.parent.globals.document.vars.prefixData.value;
|
|
x = outsideLineAccessStr.indexOf( "," );
|
|
if ( x < 0 )
|
|
outsideLineAccessStr = outsideLineAccessStr + ",";
|
|
}
|
|
|
|
// configure dialer for Registration Server
|
|
dialerData = globals.document.setupPlugin.newStringArray( 28 ); // increment this # as new dialer strings are added
|
|
dialerData[0] = "FileName=" + regFile;
|
|
dialerData[1] = "AccountName=" + globals.GetNameValuePair( regFile, "Dial-In Configuration", "SiteName" );
|
|
dialerData[2] = "ISPPhoneNum=" + globals.GetNameValuePair( regFile, "Dial-In Configuration", "Phone" );
|
|
dialerData[3] = "LoginName=" + globals.GetNameValuePair( regFile, "Dial-In Configuration", "Name" );
|
|
dialerData[4] = "Password=" + globals.GetNameValuePair( regFile, "Dial-In Configuration", "Password" );
|
|
dialerData[5] = "DNSAddress=" + globals.GetNameValuePair( regFile, "IP", "DNSAddress" );
|
|
dialerData[6] = "DNSAddress2=" + globals.GetNameValuePair( regFile, "IP", "DNSAddress2" );
|
|
dialerData[7] = "DomainName=" + globals.GetNameValuePair( regFile, "IP", "DomainName" );
|
|
dialerData[8] = "IPAddress=" + globals.GetNameValuePair( regFile, "IP", "IPAddress" );
|
|
dialerData[9] = "IntlMode=" + ( ( intlFlag=="yes" ) ? "TRUE" : "FALSE" );
|
|
dialerData[10] = "DialOnDemand=TRUE";
|
|
dialerData[11] = "ModemName=" + globals.document.vars.modem.value;
|
|
dialerData[12] = "ModemType=" + globals.document.setupPlugin.GetModemType( parent.parent.globals.document.vars.modem.value );
|
|
dialerData[13] = "DialType=" + globals.document.vars.dialMethod.value;
|
|
dialerData[14] = "OutsideLineAccess=" + outsideLineAccessStr;
|
|
dialerData[15] = "DisableCallWaiting=" + ( ( globals.document.vars.cwData.value != "" ) ? "TRUE" : "FALSE" );
|
|
dialerData[16] = "DisableCallWaitingCode=" + globals.document.vars.cwData.value;
|
|
dialerData[17] = "UserAreaCode=" + globals.document.vars.modemAreaCode.value; // XXX what to do if international mode?
|
|
dialerData[18] = "CountryCode=" + globals.document.vars.countryCode.value;
|
|
dialerData[19] = "LongDistanceAccess=1"; // XXX
|
|
dialerData[20] = "DialAsLongDistance=TRUE"; // XXX
|
|
dialerData[21] = "DialAreaCode=TRUE"; // XXX
|
|
dialerData[22] = "ScriptEnabled=" + scriptEnabledFlag;
|
|
dialerData[23] = "ScriptFileName=" + scriptFile;
|
|
dialerData[24] = "NeedsTTYWindow=" + ttyFlag;
|
|
dialerData[25] = "Location=Home";
|
|
dialerData[26] = "DisconnectTime=" + globals.GetNameValuePair( acctSetupFile, "Mode Selection", "Dialer_Disconnect_After" );
|
|
dialerData[27] = "Path=Server";
|
|
|
|
// write out dialer data to Java Console
|
|
if ( globals.document.vars.debugMode.value.toLowerCase() == "yes" )
|
|
{
|
|
globals.debug( "\nDialer data (for Registration Server): " );
|
|
var numElements = dialerData.length;
|
|
for ( var x = 0; x < numElements; x++ )
|
|
globals.debug( " " + x + ": " + dialerData[ x ] );
|
|
}
|
|
|
|
globals.document.setupPlugin.DialerConfig( dialerData, true );
|
|
|
|
// check if we need to reboot
|
|
|
|
if ( globals.document.setupPlugin.NeedReboot() == true )
|
|
{
|
|
globals.forceReboot( "2step.htm" ); // XXX hardcode in name of next screen???
|
|
return;
|
|
}
|
|
|
|
if ( globals.document.setupPlugin.DialerConnect() == false )
|
|
{
|
|
globals.document.setupPlugin.DialerHangup();
|
|
window.location.replace( "error.htm" ); // XXX hardcode in name of next screen???
|
|
return;
|
|
}
|
|
|
|
|
|
// get platform (XXX Macintosh should not be uppercased?)
|
|
platform = globals.getPlatform();
|
|
|
|
if ( platform == "Win16" )
|
|
platform = "WIN31";
|
|
else if ( platform == "Win95" )
|
|
platform = "WIN95";
|
|
else if ( platform == "WinNT" )
|
|
platform = "WINNT";
|
|
|
|
// get registration server reference
|
|
/*
|
|
var theFolder = parent.parent.globals.getConfigFolder(self);
|
|
var theRegFile = parent.parent.globals.GetNameValuePair(theFile,"New Acct Mode","RegServer");
|
|
var theRegServer = "";
|
|
if (theRegFile == null || theRegFile == "") {
|
|
theRegFile = parent.parent.globals.document.vars.regServer.value;
|
|
}
|
|
if (theRegFile == null || theRegFile == "") {
|
|
alert("Internal problem determining the Registration Server.");
|
|
return;
|
|
}
|
|
theRegFile = theFolder + theRegFile;
|
|
*/
|
|
regServer = globals.GetNameValuePair( regFile, "IP", "RegCGI" );
|
|
|
|
if ( regServer == null || regServer == "" )
|
|
{
|
|
alert( "Internal problem determining the Registration Server." );
|
|
return;
|
|
}
|
|
|
|
// build TAPI phone number
|
|
var theHomePhone="";
|
|
var thePhone="";
|
|
var theCountry="";
|
|
var intlFlag = parent.parent.globals.GetNameValuePair( acctSetupFile, "Mode Selection", "IntlMode" );
|
|
intlFlag = intlFlag.toLowerCase();
|
|
if ( intlFlag == "yes" )
|
|
{
|
|
theHomePhone = globals.document.vars.phoneNumber.value;
|
|
thePhone = globals.document.vars.modemPhoneNumber.value;
|
|
theCountry = globals.document.vars.country.value;
|
|
}
|
|
else
|
|
{
|
|
theHomePhone = "(" + globals.document.vars.areaCode.value + ") " + globals.document.vars.phoneNumber.value;
|
|
thePhone = "(" + globals.document.vars.modemAreaCode.value + ") " + globals.document.vars.modemPhoneNumber.value;
|
|
theCountry = "USA";
|
|
}
|
|
|
|
// mangle year and month for submission to registration server
|
|
|
|
var year = parseInt( globals.document.vars.year.value );
|
|
while ( year >= 100 )
|
|
year -= 100;
|
|
if ( year < 10 )
|
|
yeahr = "0" + year;
|
|
|
|
var month = parseInt( globals.document.vars.month.value );
|
|
month += 1;
|
|
|
|
// the following values are commented out as the values are set in HTML
|
|
/*
|
|
document.forms[0].RS_FORM_TYPE.value = "custinfo";
|
|
document.forms[0].REG_SETUP_NAME.value = "Account Setup";
|
|
document.forms[0].REG_SIGNUP_VERSION.value = "4.0";
|
|
document.forms[0].REG_SCRIPTING.value = "Yes";
|
|
document.forms[0].REG_SOURCE.value = "test";
|
|
document.forms[0].REG_CHANNEL.value = "";
|
|
*/
|
|
|
|
// fill out custinfo form elements, then submit
|
|
|
|
document.forms[0].REG_PLATFORM.value = platform;
|
|
document.forms[0].AS_INTLMODE.value = intlFlag;
|
|
|
|
document.forms[0].CST_LAST_NAME.value = globals.document.vars.last.value;
|
|
document.forms[0].CST_FIRST_NAME.value = globals.document.vars.first.value;
|
|
document.forms[0].CST_ORGANIZATION_NAME.value = globals.document.vars.company.value;
|
|
document.forms[0].CST_STREET_1.value = globals.document.vars.address1.value;
|
|
document.forms[0].CST_STREET_2.value = globals.document.vars.address2.value;
|
|
document.forms[0].CST_STREET_3.value = globals.document.vars.address3.value;
|
|
document.forms[0].CST_CITY.value = globals.document.vars.city.value;
|
|
document.forms[0].CST_STATE_PROVINCE.value = globals.document.vars.state.value;
|
|
document.forms[0].CST_POSTAL_CODE.value = globals.document.vars.zip.value;
|
|
document.forms[0].CST_COUNTRY.value = theCountry;
|
|
document.forms[0].CST_PHONE.value = thePhone;
|
|
document.forms[0].CST_HOMEPHONE.value = theHomePhone;
|
|
document.forms[0].CST_CC_NO.value = globals.document.vars.cardnumber.value;
|
|
document.forms[0].CST_CC_TYPE.value = globals.document.vars.cardcode.value;
|
|
document.forms[0].CST_CC_MTH_EXPIRE.value = month;
|
|
document.forms[0].CST_CC_YEAR_EXPIRE.value = year;
|
|
document.forms[0].CST_CC_CARDHOLDER.value = globals.document.vars.cardname.value;
|
|
document.forms[0].CST_JUNK_MAIL.value = ""; // XXX
|
|
|
|
document.forms[0].action = regServer;
|
|
|
|
// for win32 platforms make sure we don't get ISP's with scripting
|
|
if ( ( platform == "WIN95" ) || ( platform == "WINNT" ) )
|
|
document.forms[0].REG_SCRIPTING.value = "No";
|
|
|
|
// declare animation support for appropriate platform
|
|
if ( platform == "Macintosh" )
|
|
{
|
|
document.forms[0].AS_MAC_ANIMATION_SUPPORT.value = "YES";
|
|
document.forms[0].AS_WIN_ANIMATION_SUPPORT.value = "NO";
|
|
}
|
|
else
|
|
{
|
|
document.forms[0].AS_MAC_ANIMATION_SUPPORT.value = "NO";
|
|
document.forms[0].AS_WIN_ANIMATION_SUPPORT.value = "YES";
|
|
}
|
|
|
|
|
|
// write out Milan data to Java Console
|
|
if ( globals.document.vars.debugMode.value.toLowerCase() == "yes" )
|
|
{
|
|
globals.debug( "\nRegServer (Milan) data: " + document.forms[ 0 ].action );
|
|
var numElements = document.forms[ 0 ].length;
|
|
for ( var x = 0; x < document.forms[ 0 ].length; x++ )
|
|
globals.debug( " " + x + ": " + document.forms[ 0 ].elements[ x ].name + "=" + document.forms[ 0 ].elements[ x ].value );
|
|
}
|
|
|
|
// submit Milan data
|
|
navigator.preference( "security.warn_submit_insecure", false );
|
|
navigator.preference( "security.warn_entering_secure", false );
|
|
navigator.preference( "security.warn_leaving_secure", false );
|
|
|
|
parent.parent.globals.setRegisterMode( 1 );
|
|
document.forms[ 0 ].submit(); // automatically submit form to registration server
|
|
}
|
|
}
|
|
|
|
function saveData()
|
|
{
|
|
}
|
|
|
|
// end hiding contents from old browsers -->
|