|
|
<%@ Language=VBScript %> <% Option Explicit %>
<% '================================================== ' Microsoft Server Appliance ' ' Sets server appliance date and time ' ' Copyright (c) Microsoft Corporation. All rights reserved. '================================================== %>
<!-- #include virtual="/admin/inc_framework.asp" --> <!-- #include file="loc_datetime.asp" -->
<%
'------------------------------------------------------------------------- ' Global Variables '------------------------------------------------------------------------- Dim page
Dim SOURCE_FILE Const ENABLE_TRACING = FALSE SOURCE_FILE = SA_GetScriptFileName() '------------------------------------------------------------------------- ' Global Form Variables '-------------------------------------------------------------------------
' Form values Dim g_sDateID Dim g_sTimeID
Dim g_sDay Dim g_sMonth Dim g_sYear Dim g_sHour Dim g_sMinute Dim g_sSecond Dim g_sTimeZone Dim g_sEnableDaylight Dim g_sWasChanged
Dim mstrCHelperPROGID Dim mstrTimeFormat Dim mstrTimeFormatPathName Dim mstrTimeFormatValue '====================================================== ' Entry point '====================================================== ' ' Create a Property Page Call SA_CreatePage( L_TASKTITLE_TEXT, "images/datetime_icon.GIF", PT_PROPERTY, page ) ' ' Serve the page Call SA_ShowPage( page )
'====================================================== ' Web Framework Event Handlers '====================================================== '--------------------------------------------------------------------- ' Function: OnInitPage ' ' Synopsis: Called to signal first time processing for this page. Use this method ' to do first time initialization tasks. ' ' Returns: TRUE to indicate initialization was successful. FALSE to indicate ' errors. Returning FALSE will cause the page to be abandoned. ' '--------------------------------------------------------------------- Public Function OnInitPage(ByRef PageIn, ByRef EventArg) If ( ENABLE_TRACING ) Then Call SA_TraceOut(SOURCE_FILE, "OnInitPage") End If
Call GetAutoAdjustInfo() g_sTimeZone = GetTimeZone() g_sDateID = FormatDateTime(date, vbShortDate) g_sTimeID = FormatDateTime(time, vbLongTime) OnInitPage = TRUE End Function
'--------------------------------------------------------------------- ' Function: OnServePropertyPage ' ' Synopsis: Called when the page needs to be served. Use this method to ' serve content. ' ' Returns: TRUE to indicate not problems occured. FALSE to indicate errors. ' Returning FALSE will cause the page to be abandoned. ' '--------------------------------------------------------------------- Public Function OnServePropertyPage(ByRef PageIn, ByRef EventArg) OnServePropertyPage = TRUE If ( ENABLE_TRACING ) Then Call SA_TraceOut(SOURCE_FILE, "OnServePropertyPage") End If
ServePage
End Function
'---------------------------------------------------------------------------- ' ' Function : ServePage ' ' Synopsis : serve the property page ' ' Arguments: None ' ' Returns : None ' '----------------------------------------------------------------------------
Sub ServePage
Dim sTempTimeZone Dim sEnableDaylightAttr
If ( g_sEnableDaylight = "Y" ) Then sEnableDaylightAttr = "" Else sEnableDaylightAttr = " DISABLED " End If %> <SCRIPT LANGUAGE=JavaScript> //To set Date and Time from the Client function PresetTimeZone() { timezone = "<% =g_sTimeZone %>"; ZoneOpt = document.frmTask.ZoneList.options; for (ind = 0; ind < ZoneOpt.length; ind++) { if (ZoneOpt[ind].value == timezone + "#1") { document.frmTask.ZoneList.selectedIndex = ind; EnableDaylightChecked(); if (document.frmTask.EnableDaylight.value == "Y") { document.frmTask.EnableDaylightCheck.checked= true; } else { document.frmTask.EnableDaylightCheck.checked= false; } return; } else if (ZoneOpt[ind].value == timezone + "#0") { document.frmTask.ZoneList.selectedIndex = ind;
DisableDaylightChecked(); } } }
function EnableDaylightChecked() { SetDaylightControl(false); } function DisableDaylightChecked() { SetDaylightControl(true); } function SetDaylightControl(bEnabled) { var oDaylightChecked = document.getElementById("EnableDaylightCheck"); if ( oDaylightChecked == null ) { if ( SA_IsDebugEnabled() ) { alert("document.getElementById(EnableDaylightCheck) returned null"); } } else { oDaylightChecked.disabled = bEnabled; oDaylightChecked.checked = !bEnabled; }
var oDaylightText = document.getElementById("EnableDaylightText"); if ( oDaylightText == null ) { if ( SA_IsDebugEnabled() ) { alert("document.getElementById(EnableDaylightText) returned null"); } } else { if ( bEnabled ) { oDaylightText.className = "TasksBodyDisabled"; } else { oDaylightText.className = "TasksBody"; } } } //Function is called on change of the zone selected from browser function ZoneChanged() { StopRefresh(); ZoneInfo = document.frmTask.ZoneList.options[document.frmTask.ZoneList.selectedIndex].value.split("#"); if (ZoneInfo[1] == "0") { DisableDaylightChecked(); } else { EnableDaylightChecked(); } } </SCRIPT>
<script language="JavaScript"> var TimeoutID; function Refresh() { document.frmTask.submit(); } function StopRefresh() { window.clearTimeout(TimeoutID); document.frmTask.WasChanged.value = "Y" }
function Init() { PresetTimeZone(); <% If ("" = GetErrMsg) Then response.write "TimeoutID = window.setTimeout('Refresh()', 60000);" End If %> } //Function Validates the inputs of the page before submit. function ValidatePage() {
return true; } function SetData() { // set data to hidden form values ZoneInfo=document.frmTask.ZoneList.options[document.frmTask.ZoneList.selectedIndex].value.split("#"); document.frmTask.StandardName.value = ZoneInfo[0]; if (document.frmTask.EnableDaylightCheck.checked) { document.frmTask.EnableDaylight.value="Y"; } else { document.frmTask.EnableDaylight.value="N"; } } </script>
<input name="StandardName" type="hidden" value="<% =g_sTimeZone %>"> <input name="EnableDaylight" type="hidden" value="<% =g_sEnableDaylight %>"> <input name="WasChanged" type="hidden" value="<% =g_sWasChanged %>">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 xclass="TasksBody">
<tr> <td NOWRAP class="TasksBody"><%=L_DATE%></td> <td class="TasksBody"> <input class="FormField" type="text" name="DateID" id=DateID size=20 maxlength=40 value='<%=g_sDateID%>' onkeypress="StopRefresh()"> </td> </tr>
<tr> <td NOWRAP class="TasksBody"><p id=PareID_Time><%=L_TIME%></p></td> <td class="TasksBody"> <input class="FormField" type="text" name="TimeID" id=TimeID size=20 maxlength=20 value='<%=g_sTimeID%>' onkeypress="StopRefresh()"> </td> </tr>
<tr> <td NOWRAP class="TasksBody"><p id=PareID_TimeZone><%=L_TIMEZONE%></p></td> <td class="TasksBody">
<% RenderTimezoneList %>
</td> </tr> <tr><td id=P1ID_1 > </td></tr> </table> <table cellpadding="0" cellspacing="0 border="0"> <tr> <td class="TasksBody"><INPUT TYPE='checkbox' <%=sEnableDaylightAttr%> class=FormField name='EnableDaylightCheck' id='EnableDaylightCheck' onclick='StopRefresh()'></td> <td class="TasksBody" id="EnableDaylightText"><%=L_AUTOMATICALLY_TEXT%></td> </tr> </table> <p id=PareID_Note><strong><%=L_NOTE_LEFT_TEXT%></strong> <BR id=PareID_IndepnedenceNote><%=L_NOTE_DESCRIPTION_TEXT%></p>
<% End Sub
'--------------------------------------------------------------------- ' Function: OnPostBackPage ' ' Synopsis: Called to signal that the page has been posted-back. A post-back ' occurs in tabbed property pages and wizards as the user navigates ' through pages. It is differentiated from a Submit or Close operation ' in that the user is still working with the page. ' ' The PostBack event should be used to save the state of page. ' ' Returns: TRUE to indicate initialization was successful. FALSE to indicate ' errors. Returning FALSE will cause the page to be abandoned. ' '--------------------------------------------------------------------- Public Function OnPostBackPage(ByRef PageIn, ByRef EventArg) OnPostBackPage = TRUE If ( ENABLE_TRACING ) Then Call SA_TraceOut(SOURCE_FILE, "OnPostBackPage") End If
g_sDateID = Request.Form("DateID") g_sTimeID = Request.Form("TimeID") g_sTimeZone = Request.Form("StandardName") g_sEnableDaylight = Request.Form("EnableDaylight") g_sWasChanged = Request.Form("WasChanged")
If ("Y" <> g_sWasChanged) Then g_sTimeZone = GetTimeZone() g_sDateID = FormatDateTime(date, vbShortDate) g_sTimeID = FormatDateTime(time, vbLongTime) Call GetAutoAdjustInfo() End If End Function
'--------------------------------------------------------------------- ' Function: OnSubmitPage ' ' Synopsis: Called when the page has been submitted for processing. Use ' this method to process the submit request. ' ' Returns: TRUE if the submit was successful, FALSE to indicate error(s). ' Returning FALSE will cause the page to be served again using ' a call to OnServePropertyPage. ' '--------------------------------------------------------------------- Public Function OnSubmitPage(ByRef PageIn, ByRef EventArg)
Const CONST_SETSYSTIMEPRIVILEGE = "SeSystemTimePrivilege"
on error resume next Err.Clear
Dim objSAHelper Dim bModifiedPrivilege
bModifiedPrivilege = FALSE 'Create SAHelper object Set objSAHelper = Server.CreateObject("ServerAppliance.SAHelper")
if err.number <> 0 Then SA_TraceOut "Create object failed for SAHelper object", err.description else 'enable set system time privilege bModifiedPrivilege = objSAHelper.SAModifyUserPrivilege(CONST_SETSYSTIMEPRIVILEGE, TRUE) if err.number <> 0 Then SA_TraceOut "Enable privilege failed", err.description exit function end if end if
If ( ENABLE_TRACING ) Then Call SA_TraceOut(SOURCE_FILE, "OnSubmitPage") End If OnSubmitPage = SetServerDate
if ( bModifiedPrivilege ) then 'revert back to disabled state bModifiedPrivilege = objSAHelper.SAModifyUserPrivilege(CONST_SETSYSTIMEPRIVILEGE, FALSE) if err.number <> 0 Then SA_TraceOut "Disable privilege failed", err.description exit function end if end if
set objSAHelper = Nothing
End Function
'--------------------------------------------------------------------- ' Function: OnClosePage ' ' Synopsis: Called when the page is about to be closed. Use this method ' to perform clean-up processing. ' ' Returns: TRUE to allow close, FALSE to prevent close. Returning FALSE ' will result in a call to OnServePropertyPage. ' '--------------------------------------------------------------------- Public Function OnClosePage(ByRef PageIn, ByRef EventArg) OnClosePage = TRUE If ( ENABLE_TRACING ) Then Call SA_TraceOut(SOURCE_FILE, "OnClosePage") End If End Function
'---------------------------------------------------------------------------- ' ' Function : SetServerDate ' ' Synopsis : function to set server date and time ' ' Arguments: None ' ' Returns : None ' '----------------------------------------------------------------------------
Function SetServerDate()
Dim sErrorMessage
SetServerDate = False
If IsDate(g_sDateID) Then g_sDay = CStr(Day(g_sDateID)) g_sMonth = CStr(Month(g_sDateID)) g_sYear = CStr(Year(g_sDateID)) If ( ENABLE_TRACING ) Then Call SA_TraceOut(SOURCE_FILE, "SetServerDate Date (D/M/Y):"+g_sDay+"/"+g_sMonth+"/"+g_sYear) End If
If (1991 > Year(g_sDateID)) Or (2037 < Year(g_sDateID)) Then Call SA_TraceOut(SOURCE_FILE, "SetServerDate Date not valid:"+g_sDateID+" year:"+CStr(Year(g_sDateID))) sErrorMessage = GetLocString("datetimemsg.dll","&H400100B3", Array(g_sDay, MonthName(g_sMonth), g_sYear)) Call SetErrMsg(sErrorMessage) SetServerDate = False exit function End If Else SetErrMsg L_INVALIDDATE_ERRORMESSAGE SetServerDate = False exit function End If
If IsDate(g_sTimeID) Then g_sHour = CStr(Hour(g_sTimeID)) g_sMinute = CStr(Minute(g_sTimeID)) g_sSecond = CStr(Second(g_sTimeID)) If ( ENABLE_TRACING ) Then Call SA_TraceOut(SOURCE_FILE, "SetServerDate Time:"+g_sHour+"/"+g_sMinute+"/"+g_sSecond) End If Else SetErrMsg L_INVALIDTIME_ERRORMESSAGE SetServerDate = False exit function End If
If SetTimeZone = True Then If SetDateTime = True Then SetServerDate = True End If End If End Function
'---------------------------------------------------------------------------- ' ' Function : GetTimeZone ' ' Synopsis : gets the Time Zone ' ' Arguments: None ' ' Returns : None ' '----------------------------------------------------------------------------
Function GetTimeZone() on error resume next Err.Clear Dim Locator Dim Service Dim TimeZone Dim Entries Dim entry Dim StandardName
Set Service = GetWMIConnection("") Set TimeZone = Service.Get("Win32_TimeZone") Set Entries = TimeZone.Instances_ If Err.number<>0 then SetErrMsg L_FAILEDTOGETWMICONNECTION_ERRORMESSAGE GetTimeZone="" Exit Function End if For each entry in Entries StandardName = entry.StandardName 'There should be only one entry Next GetTimeZone = StandardName Set Service = nothing Set TimeZone = nothing End Function
'---------------------------------------------------------------------------- ' ' Function : SetTimeZone ' ' Synopsis : sets the Time Zone ' ' Arguments: None ' ' Returns : None ' '---------------------------------------------------------------------------- Function SetTimeZone on error resume next Err.Clear Dim objTCtx Dim Error
Error = ExecuteTask("SetTimeZone", objTCtx) if Error <> 0 then SetErrMsg L_INVALIDTIMEZONE_ERRORMESSAGE SetTimeZone = False Else SetTimeZone = True End if set objTCtx = Nothing End Function
'---------------------------------------------------------------------------- ' ' Function : SetDateTime ' ' Synopsis : sets the date and time on the server ' ' Arguments: None ' ' Returns : None ' '---------------------------------------------------------------------------- Function SetDateTime on error resume next Err.Clear Dim objTCtx Dim Error
'We are calculating values on the server, so we need to put them into 'the TaskContext object
Set objTCtx = CreateObject("Taskctx.TaskContext") If Err.Number <> 0 Then SetErrMsg L_TASKCTX_OBJECT_CREATION_FAIL_ERRORMESSAGE SetDateTime = False Exit Function End If
objTCtx.SetParameter "Day", g_sDay objTCtx.SetParameter "Month", g_sMonth objTCtx.SetParameter "Year", g_sYear objTCtx.SetParameter "Hour", g_sHour objTCtx.SetParameter "Minute", g_sMinute objTCtx.SetParameter "Second", g_sSecond
Error = ExecuteTask("SetDateTime", objTCtx) if Error <> 0 then SetErrMsg L_INVALIDDATETIME_ERRORMESSAGE SetDateTime = False End if Err.Clear set objTCtx = Nothing SetDateTime = True End Function
'---------------------------------------------------------------------------- ' ' Function : GetAutoAdjustInfo() ' ' Synopsis : function to Get Auto Adjust of Daylight time set up ' ' Arguments: None ' ' Returns : None ' '---------------------------------------------------------------------------- Function GetAutoAdjustInfo() on error resume next Err.Clear Dim Providers Dim Provider
Set Providers = GetObject("winmgmts:" & SA_GetWMIConnectionAttributes() & "!root/cimv2").InstancesOf ("ProviderDateTimeAdjust") If Err.number<>0 then SetErrMsg L_FAILEDTOGETWMICONNECTION_ERRORMESSAGE GetAutoAdjustInfo=False Exit Function End if g_sEnableDaylight = "Y" For each Provider in Providers ' Must be only one If IsEmpty(Provider.DisableAutoDaylightTimeSet) Or Provider.DisableAutoDaylightTimeSet <> 1 Then g_sEnableDaylight = "Y" Else g_sEnableDaylight = "N" End If next
Set Providers = nothing End Function
'---------------------------------------------------------------------------- ' ' Function : RenderTimezoneList() ' ' Synopsis : function render the timezone list ' ' Arguments: None ' ' Returns : None ' '---------------------------------------------------------------------------- Function RenderTimezoneList()
on error resume next Err.Clear
const CONST_LIST_SIZE = 74
Dim objRegService Dim i, j Dim arrTimezone (74, 2)
set objRegService = RegConnection() 'VBScript arrays are zero-based, to make the it's compatible with L_TIMEZONES_TEXT 'we start it from 1 to 74, arrTimezone(0, i) is ignored ' 'Init the timezone array ' 'Set the option text for i = 1 to CONST_LIST_SIZE arrTimezone(i, 2) = L_TIMEZONES_TEXT(i) Next
'Set the option Ids, which are used by the test team arrTimezone(1, 0) = "PareID_Enewetak" arrTimezone(2, 0) = "PareID_MidwayIland" arrTimezone(3, 0) = "PareID_Hawaii" arrTimezone(4, 0) = "PareID_Alaska" arrTimezone(5, 0) = "PareID_Pacific" arrTimezone(6, 0) = "PareID_Arizona" arrTimezone(7, 0) = "PareID_Mountain" arrTimezone(8, 0) = "PareID_America" arrTimezone(9, 0) = "PareID_CentralUS" arrTimezone(10, 0) = "PareID_Mexico" arrTimezone(11, 0) = "PareID_Saskatchewan" arrTimezone(12, 0) = "PareID_Bogota" arrTimezone(13, 0) = "PareID_EasternUS" arrTimezone(14, 0) = "PareID_Indiana" arrTimezone(15, 0) = "PareID_Atlantic" arrTimezone(16, 0) = "PareID_Caracas" arrTimezone(17, 0) = "PareID_PacificStandard" arrTimezone(18, 0) = "PareID_Newfoundland" arrTimezone(19, 0) = "PareID_Brasilia" arrTimezone(20, 0) = "PareID_BuenosAires" arrTimezone(21, 0) = "PareID_Greenland" arrTimezone(22, 0) = "PareID_MidAtlantic" arrTimezone(23, 0) = "PareID_Azores" arrTimezone(24, 0) = "PareID_Cape" arrTimezone(25, 0) = "PareID_Casablanca" arrTimezone(26, 0) = "PareID_Greenwich" arrTimezone(27, 0) = "PareID_Amsterdam" arrTimezone(28, 0) = "PareID_Belgrade" arrTimezone(29, 0) = "PareID_Brussels" arrTimezone(30, 0) = "PareID_Sarajevo" arrTimezone(31, 0) = "PareID_CenAfrica" arrTimezone(32, 0) = "PareID_Athens" arrTimezone(33, 0) = "PareID_Bucharest" arrTimezone(34, 0) = "PareID_Cairo" arrTimezone(35, 0) = "PareID_Harare" arrTimezone(36, 0) = "PareID_Helsinki" arrTimezone(37, 0) = "PareID_Israel" arrTimezone(38, 0) = "PareID_Baghdad" arrTimezone(39, 0) = "PareID_Kuwait" arrTimezone(40, 0) = "PareID_Moscow" arrTimezone(41, 0) = "PareID_Nairobi" arrTimezone(42, 0) = "PareID_Tehran" arrTimezone(43, 0) = "PareID_AbuDhabi" arrTimezone(44, 0) = "PareID_Baku" arrTimezone(45, 0) = "PareID_Kabul" arrTimezone(46, 0) = "PareID_Ekaterinburg" arrTimezone(47, 0) = "PareID_Islamabad" arrTimezone(48, 0) = "PareID_Bombay" arrTimezone(49, 0) = "PareID_Nepal" arrTimezone(50, 0) = "PareID_Novosibirsk" arrTimezone(51, 0) = "PareID_Almaty" arrTimezone(52, 0) = "PareID_Colombo" arrTimezone(53, 0) = "PareID_Myanmar" arrTimezone(54, 0) = "PareID_Bangkok" arrTimezone(55, 0) = "PareID_Krasnoyarsk" arrTimezone(56, 0) = "PareID_Beijing" arrTimezone(57, 0) = "PareID_Irkutsk" arrTimezone(58, 0) = "PareID_Singapore" arrTimezone(59, 0) = "PareID_Perth" arrTimezone(60, 0) = "PareID_Taipei" arrTimezone(61, 0) = "PareID_Osaka" arrTimezone(62, 0) = "PareID_Seoul" arrTimezone(63, 0) = "PareID_Yakutsk" arrTimezone(64, 0) = "PareID_Adelaide" arrTimezone(65, 0) = "PareID_Darwin" arrTimezone(66, 0) = "PareID_Brisbane" arrTimezone(67, 0) = "PareID_Canberra" arrTimezone(68, 0) = "PareID_Guam" arrTimezone(69, 0) = "PareID_Hobart" arrTimezone(70, 0) = "PareID_Vladivostok" arrTimezone(71, 0) = "PareID_Magadan" arrTimezone(72, 0) = "PareID_Auckland" arrTimezone(73, 0) = "PareID_Fiji" arrTimezone(74, 0) = "PareID_Nuku"
'Set the Option values based on the registry value arrTimezone(1, 1) = GetTimezoneValueFromRegistry(objRegService, "Dateline Standard Time") & "#0" arrTimezone(2, 1) = GetTimezoneValueFromRegistry(objRegService, "Samoa Standard Time") & "#0" arrTimezone(3, 1) = GetTimezoneValueFromRegistry(objRegService, "Hawaiian Standard Time") & "#0" arrTimezone(4, 1) = GetTimezoneValueFromRegistry(objRegService, "Alaskan Standard Time") & "#1" arrTimezone(5, 1) = GetTimezoneValueFromRegistry(objRegService, "Pacific Standard Time") & "#1" arrTimezone(6, 1) = GetTimezoneValueFromRegistry(objRegService, "US Mountain Standard Time") & "#0" arrTimezone(7, 1) = GetTimezoneValueFromRegistry(objRegService, "Mountain Standard Time") & "#1" arrTimezone(8, 1) = GetTimezoneValueFromRegistry(objRegService, "Central America Standard Time") & "#0" arrTimezone(9, 1) = GetTimezoneValueFromRegistry(objRegService, "Central Standard Time") & "#1" arrTimezone(10, 1) = GetTimezoneValueFromRegistry(objRegService, "Mexico Standard Time") & "#1" arrTimezone(11, 1) = GetTimezoneValueFromRegistry(objRegService, "Canada Central Standard Time") & "#0" arrTimezone(12, 1) = GetTimezoneValueFromRegistry(objRegService, "SA Pacific Standard Time") & "#0" arrTimezone(13, 1) = GetTimezoneValueFromRegistry(objRegService, "Eastern Standard Time") & "#1" arrTimezone(14, 1) = GetTimezoneValueFromRegistry(objRegService, "US Eastern Standard Time") & "#0" arrTimezone(15, 1) = GetTimezoneValueFromRegistry(objRegService, "Atlantic Standard Time") & "#1" arrTimezone(16, 1) = GetTimezoneValueFromRegistry(objRegService, "SA Western Standard Time") & "#0" arrTimezone(17, 1) = GetTimezoneValueFromRegistry(objRegService, "Pacific SA Standard Time") & "#1" arrTimezone(18, 1) = GetTimezoneValueFromRegistry(objRegService, "Newfoundland Standard Time") & "#1" arrTimezone(19, 1) = GetTimezoneValueFromRegistry(objRegService, "E. South America Standard Time") & "#1" arrTimezone(20, 1) = GetTimezoneValueFromRegistry(objRegService, "SA Eastern Standard Time") & "#0" arrTimezone(21, 1) = GetTimezoneValueFromRegistry(objRegService, "Greenland Standard Time") & "#1" arrTimezone(22, 1) = GetTimezoneValueFromRegistry(objRegService, "Mid-Atlantic Standard Time") & "#1" arrTimezone(23, 1) = GetTimezoneValueFromRegistry(objRegService, "Azores Standard Time") & "#1" arrTimezone(24, 1) = GetTimezoneValueFromRegistry(objRegService, "Cape Verde Standard Time") & "#0" arrTimezone(25, 1) = GetTimezoneValueFromRegistry(objRegService, "Greenwich Standard Time") & "#0" arrTimezone(26, 1) = GetTimezoneValueFromRegistry(objRegService, "GMT Standard Time") & "#1" arrTimezone(27, 1) = GetTimezoneValueFromRegistry(objRegService, "W. Europe Standard Time") & "#1" arrTimezone(28, 1) = GetTimezoneValueFromRegistry(objRegService, "Central Europe Standard Time") & "#1" arrTimezone(29, 1) = GetTimezoneValueFromRegistry(objRegService, "Romance Standard Time") & "#1" arrTimezone(30, 1) = GetTimezoneValueFromRegistry(objRegService, "Central European Standard Time") & "#1" arrTimezone(31, 1) = GetTimezoneValueFromRegistry(objRegService, "W. Central Africa Standard Time") & "#0" arrTimezone(32, 1) = GetTimezoneValueFromRegistry(objRegService, "GTB Standard Time") & "#1" arrTimezone(33, 1) = GetTimezoneValueFromRegistry(objRegService, "E. Europe Standard Time") & "#1" arrTimezone(34, 1) = GetTimezoneValueFromRegistry(objRegService, "Egypt Standard Time") & "#1" arrTimezone(35, 1) = GetTimezoneValueFromRegistry(objRegService, "South Africa Standard Time") & "#0" arrTimezone(36, 1) = GetTimezoneValueFromRegistry(objRegService, "FLE Standard Time") & "#1" arrTimezone(37, 1) = GetTimezoneValueFromRegistry(objRegService, "Israel Standard Time") & "#0" arrTimezone(38, 1) = GetTimezoneValueFromRegistry(objRegService, "Arabic Standard Time") & "#1" arrTimezone(39, 1) = GetTimezoneValueFromRegistry(objRegService, "Arab Standard Time") & "#0" arrTimezone(40, 1) = GetTimezoneValueFromRegistry(objRegService, "Russian Standard Time") & "#1" arrTimezone(41, 1) = GetTimezoneValueFromRegistry(objRegService, "E. Africa Standard Time") & "#0" arrTimezone(42, 1) = GetTimezoneValueFromRegistry(objRegService, "Iran Standard Time") & "#1" arrTimezone(43, 1) = GetTimezoneValueFromRegistry(objRegService, "Arabian Standard Time") & "#0" arrTimezone(44, 1) = GetTimezoneValueFromRegistry(objRegService, "Caucasus Standard Time") & "#1" arrTimezone(45, 1) = GetTimezoneValueFromRegistry(objRegService, "Afghanistan Standard Time") & "#0" arrTimezone(46, 1) = GetTimezoneValueFromRegistry(objRegService, "Ekaterinburg Standard Time") & "#1" arrTimezone(47, 1) = GetTimezoneValueFromRegistry(objRegService, "West Asia Standard Time") & "#0" arrTimezone(48, 1) = GetTimezoneValueFromRegistry(objRegService, "India Standard Time") & "#0" arrTimezone(49, 1) = GetTimezoneValueFromRegistry(objRegService, "Nepal Standard Time") & "#0" arrTimezone(50, 1) = GetTimezoneValueFromRegistry(objRegService, "N. Central Asia Standard Time") & "#1" arrTimezone(51, 1) = GetTimezoneValueFromRegistry(objRegService, "Central Asia Standard Time") & "#0" arrTimezone(52, 1) = GetTimezoneValueFromRegistry(objRegService, "Sri Lanka Standard Time") & "#0" arrTimezone(53, 1) = GetTimezoneValueFromRegistry(objRegService, "Myanmar Standard Time") & "#0" arrTimezone(54, 1) = GetTimezoneValueFromRegistry(objRegService, "SE Asia Standard Time") & "#0" arrTimezone(55, 1) = GetTimezoneValueFromRegistry(objRegService, "North Asia Standard Time") & "#1" arrTimezone(56, 1) = GetTimezoneValueFromRegistry(objRegService, "China Standard Time") & "#0" arrTimezone(57, 1) = GetTimezoneValueFromRegistry(objRegService, "North Asia East Standard Time") & "#1" arrTimezone(58, 1) = GetTimezoneValueFromRegistry(objRegService, "Singapore Standard Time") & "#0" arrTimezone(59, 1) = GetTimezoneValueFromRegistry(objRegService, "W. Australia Standard Time") & "#0" arrTimezone(60, 1) = GetTimezoneValueFromRegistry(objRegService, "Taipei Standard Time") & "#0" arrTimezone(61, 1) = GetTimezoneValueFromRegistry(objRegService, "Tokyo Standard Time") & "#0" arrTimezone(62, 1) = GetTimezoneValueFromRegistry(objRegService, "Korea Standard Time") & "#0" arrTimezone(63, 1) = GetTimezoneValueFromRegistry(objRegService, "Yakutsk Standard Time") & "#1" arrTimezone(64, 1) = GetTimezoneValueFromRegistry(objRegService, "Cen. Australia Standard Time") & "#1" arrTimezone(65, 1) = GetTimezoneValueFromRegistry(objRegService, "AUS Central Standard Time") & "#0" arrTimezone(66, 1) = GetTimezoneValueFromRegistry(objRegService, "E. Australia Standard Time") & "#0" arrTimezone(67, 1) = GetTimezoneValueFromRegistry(objRegService, "AUS Eastern Standard Time") & "#1" arrTimezone(68, 1) = GetTimezoneValueFromRegistry(objRegService, "West Pacific Standard Time") & "#0" arrTimezone(69, 1) = GetTimezoneValueFromRegistry(objRegService, "Tasmania Standard Time") & "#1" arrTimezone(70, 1) = GetTimezoneValueFromRegistry(objRegService, "Vladivostok Standard Time") & "#1" arrTimezone(71, 1) = GetTimezoneValueFromRegistry(objRegService, "Central Pacific Standard Time") & "#0" arrTimezone(72, 1) = GetTimezoneValueFromRegistry(objRegService, "New Zealand Standard Time") & "#1" arrTimezone(73, 1) = GetTimezoneValueFromRegistry(objRegService, "Fiji Standard Time") & "#0" arrTimezone(74, 1) = GetTimezoneValueFromRegistry(objRegService, "Tonga Standard Time") & "#0"
' 'Render the select list ' %> <select class="FormField" name="ZoneList" ID="ZoneList" size="1" onchange="ZoneChanged()"> <% for i = 1 to CONST_LIST_SIZE %>
<option id=<%=arrTimezone(i,0)%> value="<%=arrTimezone(i,1)%>" <% ' Check to see if the option is the selected one If (1 = InStr(arrTimezone(i,1), g_sTimeZone)) Then %> selected <% End If %> > <%=arrTimezone(i,2)%> </option> <% next %> </select> <% set objRegService = nothing
End Function
'---------------------------------------------------------------------------- ' ' Function : GetTimezoneValueFromRegistry ' ' Synopsis : Get the timezone value from the registry key ' ' Arguments: In-objRegService : registry service ' In-strKey : English name of the timezone ' ' Returns : registry key value of the timezone ' '---------------------------------------------------------------------------- Function GetTimezoneValueFromRegistry(objRegService, strName)
on error resume next Err.Clear CONST CONST_TIMEZONEPATH = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\" CONST CONST_STRING = 2 CONST CONST_KEYNAME = "Std" GetTimezoneValueFromRegistry = GetRegKeyValue(objRegService, CONST_TIMEZONEPATH & strName, CONST_KEYNAME, CONST_STRING) If Err.number <> 0 Then GetTimezoneValueFromRegistry = "" Exit Function end if End Function
%>
|