You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
366 lines
13 KiB
366 lines
13 KiB
<%@ Language=VBScript %>
|
|
<% Option Explicit %>
|
|
<%
|
|
'-------------------------------------------------------------------------
|
|
' changelang.asp: property page to set language
|
|
'
|
|
' Copyright (c) Microsoft Corporation. All rights reserved.
|
|
'
|
|
' Date Description
|
|
' 15-Jan-2001 Moved to new framework
|
|
'-------------------------------------------------------------------------
|
|
%>
|
|
<!-- #include virtual="/admin/inc_framework.asp" -->
|
|
<%
|
|
'
|
|
' Name of this source file
|
|
Const SOURCE_FILE = "ChangeLang.asp"
|
|
'
|
|
' Flag to toggle optional tracing output
|
|
Const ENABLE_TRACING = TRUE
|
|
|
|
Const ID_LANG_CHANGE_INPROGRESS = "40010006"
|
|
Const ID_LANG_CHANGE_INPROGRESS_DSCP= "40010007"
|
|
|
|
Dim page
|
|
Dim rc
|
|
|
|
Dim strSelectedLangID 'Contains the Language ID (LANGID) of the selected language.
|
|
Dim strOldLangID
|
|
|
|
'================================================================
|
|
'Start of localization Content
|
|
'================================================================
|
|
Dim L_TASKTITLE_TEXT
|
|
Dim L_SELECTLANGUAGE_LEFT_TEXT
|
|
Dim L_LANG_SET_FAILED_ERRORMESSAGE
|
|
|
|
'================================================================
|
|
'Values are hardcoded instead Fetching from Resource.dll
|
|
'================================================================
|
|
|
|
L_TASKTITLE_TEXT =GetLocString("changelangmsg.dll","&H40010003", varReplacementStrings)
|
|
L_SELECTLANGUAGE_LEFT_TEXT =GetLocString("changelangmsg.dll","&H40010004", varReplacementStrings)
|
|
L_LANG_SET_FAILED_ERRORMESSAGE =GetLocString("changelangmsg.dll","&H40010005", varReplacementStrings)
|
|
|
|
Call SA_CreatePage( L_TASKTITLE_TEXT, "", PT_PROPERTY, page )
|
|
Call SA_ShowPage( page )
|
|
|
|
'---------------------------------------------------------------------
|
|
' Function name: OnInitPage
|
|
' Description: Called to signal first time processing for this page.
|
|
' Input Variables: PageIn and EventArg
|
|
' Output Variables: None
|
|
' Return Values: TRUE to indicate initialization was successful. FALSE to indicate
|
|
' errors. Returning FALSE will cause the page to be abandoned.
|
|
' Global Variables: None
|
|
' Called to signal first time processing for this page. Use this method
|
|
' to do first time initialization tasks.
|
|
'---------------------------------------------------------------------
|
|
Public Function OnInitPage(ByRef PageIn, ByRef EventArg)
|
|
|
|
If ( ENABLE_TRACING ) Then
|
|
Call SA_TraceOut(SOURCE_FILE, "OnInitPage")
|
|
End If
|
|
|
|
OnInitPage = TRUE
|
|
|
|
End Function
|
|
|
|
|
|
Public Function OnServePropertyPage(ByRef PageIn, ByRef EventArg)
|
|
|
|
If ( ENABLE_TRACING ) Then
|
|
Call SA_TraceOut(SOURCE_FILE, "OnServePropertyPage")
|
|
End If
|
|
|
|
Err.Clear
|
|
on Error Resume Next
|
|
|
|
Dim ICurLang 'Contains the Currently set serverappliance language
|
|
Dim obj 'Used as object variable
|
|
Dim arrLangDisplayImages 'Contains array of language name images supported by serverappliance
|
|
Dim arrLangISONames 'Contains ISO names for Server Appliance supported Languages
|
|
Dim arrLangCharSets 'Contains char set names for Server Appliance supported Languages
|
|
Dim arrLangCodePages 'Contains code page ids for Server Appliance supported Languages
|
|
Dim arrLangIDs 'Contains language IDs for Server Appliance supported Languages
|
|
Dim i,k,intColoumns,intTotalNumberofLanguages
|
|
Dim strLangID
|
|
Dim strLangGIF
|
|
Dim sChecked
|
|
|
|
'Setting for no of coloumns for display purpose
|
|
intColoumns=3
|
|
|
|
set obj = CreateObject("ServerAppliance.LocalizationManager")
|
|
ICurLang = obj.GetLanguages(arrLangDisplayImages, arrLangISONames, arrLangCharSets, arrLangCodePages, arrLangIDs)
|
|
intTotalNumberofLanguages = Ubound(arrLangDisplayImages)
|
|
|
|
strSelectedLangID = Hex(arrLangIDs(iCurLang))
|
|
strOldLangID = strSelectedLangID
|
|
|
|
Call ServeCommonJavaScript()
|
|
%>
|
|
|
|
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 xclass="TasksBody">
|
|
<TR>
|
|
<TD Nowrap colspan=6 class="TasksBody"><% =L_SELECTLANGUAGE_LEFT_TEXT %></TD>
|
|
</TR>
|
|
|
|
<%
|
|
For i=0 to intTotalNumberofLanguages
|
|
|
|
' work with images or text
|
|
If InStr(arrLangDisplayImages(i), ".gif") Then
|
|
strLangGIF = arrLangDisplayImages(i)
|
|
|
|
'This is because Loc Manager doesn't pay attention to the registry value
|
|
If ("images/english.gif" = strLangGIF) Then
|
|
strLangGif = ""
|
|
arrLangDisplayImages(i) = "English"
|
|
End If
|
|
Else
|
|
strLangGIF = ""
|
|
End If
|
|
|
|
strLangID = Hex(arrLangIDs(i))
|
|
If ( strLangID = strSelectedLangID ) Then
|
|
sChecked = "CHECKED"
|
|
Else
|
|
sChecked = ""
|
|
End If
|
|
|
|
If intTotalNumberofLanguages <= 6 Then
|
|
Response.Write "<TR>"
|
|
|
|
Response.Write "<TD class='TasksBody'>"
|
|
If (Trim(Len(strLangGIF)) > 0) Then
|
|
Response.Write "<INPUT TYPE=Radio " & sChecked & " NAME='curlang'" & " value=" & "'" & strLangID & "'" & "></td>" & "<td class='TasksBody' width='100%'><IMG border=0 src='" &strLangGIF& "'>"
|
|
Else
|
|
Response.Write "<INPUT TYPE=Radio " & sChecked & " NAME='curlang'" & " value=" & "'" & strLangID & "'" & "></td>" & "<td class='TasksBody' width='100%'>" & Server.HTMLEncode(arrLangDisplayImages(i))
|
|
End If
|
|
Response.Write "</TD>"
|
|
Response.Write "</TR>"+vbCrLf
|
|
Else
|
|
If (k mod intColoumns =0 ) Then
|
|
Response.Write "<TR>"
|
|
k=0
|
|
End If
|
|
Response.Write "<TD class='TasksBody'>"
|
|
If (Trim(Len(strLangGIF)) > 0) Then
|
|
Response.Write "<INPUT TYPE=Radio " & sChecked & " NAME='curlang'" & " value=" & "'" & strLangID & "'" & "></td>" & "<td class='TasksBody' width='25%'><IMG border=0 src='" &strLangGIF& "'>"
|
|
Else
|
|
Response.Write "<INPUT TYPE=Radio " & sChecked & " NAME='curlang'" & " value=" & "'" & strLangID & "'" & "></td>" & "<td class='TasksBody' width='25%'>" & Server.HTMLEncode(arrLangDisplayImages(i))
|
|
End If
|
|
Response.Write "</TD>"+vbCrLf
|
|
If (k =intColoumns-1)Then
|
|
Response.Write "</TR>"
|
|
End If
|
|
k = k+1
|
|
End If
|
|
|
|
Next
|
|
%>
|
|
</TABLE>
|
|
<INPUT TYPE=HIDDEN NAME="OldLanguageID" VALUE="<%=strOldLangID %>" >
|
|
<%
|
|
OnServePropertyPage = TRUE
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
'Function: OnSubmitPage()
|
|
'Description: Called when the page has been submitted for processing.
|
|
' Use this method to process the submit request.
|
|
'Input Variables: PageIn,EventArg
|
|
'Output Variables: None
|
|
'Returns: True/False
|
|
'Global Variables: None
|
|
'-------------------------------------------------------------------------
|
|
Public Function OnSubmitPage(ByRef PageIn, ByRef EventArg)
|
|
|
|
On Error Resume Next
|
|
Err.Clear
|
|
|
|
Dim objSAHelper
|
|
Dim bModifiedPrivilege
|
|
Const CONST_SHUTDOWNPRIVILEGE = "SeShutdownPrivilege"
|
|
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 shutdown privilege
|
|
bModifiedPrivilege = objSAHelper.SAModifyUserPrivilege(CONST_SHUTDOWNPRIVILEGE, TRUE)
|
|
if err.number <> 0 Then
|
|
SA_TraceOut "Enable privilege failed", err.description
|
|
exit function
|
|
end if
|
|
end if
|
|
|
|
Dim sReturnURL
|
|
Dim sURL
|
|
|
|
If ( ENABLE_TRACING ) Then
|
|
Call SA_TraceOut(SOURCE_FILE, "OnSubmitPage")
|
|
End If
|
|
|
|
strSelectedLangID = Request.Form("curlang")
|
|
strOldLangID = Request.Form("OldLanguageID")
|
|
|
|
Call SA_TraceOut(SOURCE_FILE, "Selected Language ID is " & strSelectedLangID )
|
|
|
|
If (strSelectedLangID = strOldLangID) Then
|
|
OnSubmitPage = TRUE
|
|
|
|
if ( bModifiedPrivilege ) then
|
|
'revert back to disabled state
|
|
bModifiedPrivilege = objSAHelper.SAModifyUserPrivilege(CONST_SHUTDOWNPRIVILEGE, FALSE)
|
|
if err.number <> 0 Then
|
|
SA_TraceOut "Disable privilege failed", err.description
|
|
exit function
|
|
end if
|
|
end if
|
|
set objSAHelper = Nothing
|
|
|
|
Exit Function
|
|
End If
|
|
|
|
If ChangeLanguage() Then
|
|
sReturnURL = Request.Form("ReturnURL")
|
|
sURL = getVirtualDirectory() + "network/RebootSys.asp"
|
|
Call SA_MungeURL( sURL, "ReturnURL", sReturnURL)
|
|
Call SA_MungeURL( sURL, SAI_FLD_PAGEKEY, SAI_GetPageKey())
|
|
|
|
Response.Redirect(sURL)
|
|
|
|
OnSubmitPage = TRUE
|
|
Else
|
|
Call SA_ServeFailurePage(L_LANG_SET_FAILED_ERRORMESSAGE)
|
|
End If
|
|
|
|
|
|
if ( bModifiedPrivilege ) then
|
|
'revert back to disabled state
|
|
bModifiedPrivilege = objSAHelper.SAModifyUserPrivilege(CONST_SHUTDOWNPRIVILEGE, 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()
|
|
'Description: Called when the page is about closed.Use this method
|
|
' to perform clean-up processing
|
|
'Input Variables: PageIn,EventArg
|
|
'Output Variables: PageIn,EventArg
|
|
'Returns: True/False
|
|
'Global Variables: None
|
|
'-------------------------------------------------------------------------
|
|
Public Function OnClosePage(ByRef PageIn, ByRef EventArgIn)
|
|
OnClosePage = TRUE
|
|
End Function
|
|
|
|
Public Function OnPostBackPage(ByRef PageIn, ByRef EventArgIn)
|
|
OnPostBackPage = TRUE
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
'Function: ServeCommonJavaScript
|
|
'Description: Serves in initialiging the values,setting the form
|
|
' data and validating the form values
|
|
'Input Variables: None
|
|
'Output Variables: None
|
|
'Returns: None
|
|
'Global Variables: L_PASSWORDNOTMATCH_ERRORMESSAGE
|
|
'-------------------------------------------------------------------------
|
|
Function ServeCommonJavaScript()
|
|
%>
|
|
<script language="JavaScript" src="<%=m_VirtualRoot%>inc_global.js">
|
|
</script>
|
|
<script language="JavaScript">
|
|
|
|
// Init Function
|
|
function Init()
|
|
{
|
|
EnableOK();
|
|
EnableCancel();
|
|
}
|
|
|
|
function ValidatePage()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
//sets the value of LangID of the selected language into the hidden variable.
|
|
function SetData()
|
|
{
|
|
}
|
|
|
|
</script>
|
|
<%
|
|
End Function
|
|
|
|
'=====================================================================
|
|
' Function name : ChangeLanguage
|
|
' Description : It executes the function Executetask() and sets the current
|
|
' language of serverappliance to the userselected language
|
|
' Input Values : None.
|
|
' Return Values : True on sucessfull change of language, False on error (and error msg
|
|
' will be set by SetErrMsg)
|
|
' L_* (in) Localized strings
|
|
'=====================================================================
|
|
Function ChangeLanguage
|
|
On Error Resume Next
|
|
Err.Clear
|
|
DIM objTaskContext
|
|
DIM objSL
|
|
DIM rc
|
|
|
|
ChangeLanguage = FALSE
|
|
|
|
Set objTaskContext = Server.CreateObject("Taskctx.TaskContext")
|
|
If Err.Number <> 0 Then
|
|
SA_TraceOut SOURCE_FILE, "Create Taskctx.TaskContext failed: " + CStr(Hex(Err.Number))
|
|
Exit Function
|
|
End If
|
|
|
|
Set objSL = Server.CreateObject("SetSystemLocale.SetSystemLocale")
|
|
If Err.Number <> 0 Then
|
|
SA_TraceOut SOURCE_FILE, "Create SetSystemLocal.SetSystemLocal failed: " + CStr(Hex(Err.Number))
|
|
Exit Function
|
|
End If
|
|
|
|
objTaskContext.SetParameter "LanguageID", strSelectedLangID
|
|
Err.Clear
|
|
|
|
rc = SA_ExecuteTask("ChangeLanguage", FALSE, objTaskContext)
|
|
If ( rc <> SA_NO_ERROR ) Then
|
|
SA_TraceOut SOURCE_FILE, "objAS.ExecuteTask failed"
|
|
Exit Function
|
|
End If
|
|
|
|
Err.Clear
|
|
|
|
objSL.SetLocale strSelectedLangID
|
|
If ( Err.Number <> 0 ) Then
|
|
SA_TraceOut SOURCE_FILE, "objSL.SetLocal failed" + CStr(Hex(Err.Number))
|
|
Exit Function
|
|
End If
|
|
|
|
|
|
ChangeLanguage = TRUE
|
|
|
|
Err.Clear
|
|
Set objTaskContext = Nothing
|
|
Set objSL = Nothing
|
|
|
|
End Function
|
|
|
|
%>
|