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.
339 lines
10 KiB
339 lines
10 KiB
<%@ Language=VBScript%>
|
|
<% Option Explicit %>
|
|
<%
|
|
'-------------------------------------------------------------------------
|
|
' nfsclientgroups.asp: nfsclientgroups page - lists all the nfs
|
|
' client groups,and provides links for creating new
|
|
' nfs client group,editing and deleting client group
|
|
' Copyright (c) Microsoft Corporation. All rights reserved.
|
|
'
|
|
' Date Description
|
|
' 20-Sept-2000 Creation date
|
|
'-------------------------------------------------------------------------
|
|
%>
|
|
<!-- #include virtual="/admin/inc_framework.asp"-->
|
|
<!-- #include virtual="/admin/ots_main.asp" -->
|
|
<!-- #include file="loc_NFSSvc.asp" -->
|
|
<!-- #include file="inc_NFSSvc.asp" -->
|
|
<%
|
|
Const ENABLE_TRACING = FALSE
|
|
|
|
'Define the global vars
|
|
Dim g_iSortCol
|
|
Dim g_sSortSequence
|
|
|
|
g_iSortCol = 1
|
|
g_sSortSequence = "A"
|
|
'-------------------------------------------------------------------------
|
|
' Create the page and Event handler
|
|
'-------------------------------------------------------------------------
|
|
Dim page
|
|
Dim rc
|
|
|
|
rc = SA_CreatePage(L_PAGE_TITLE_TEXT, "", PT_AREA, page)
|
|
If rc = 0 Then
|
|
SA_ShowPage( page )
|
|
End If
|
|
|
|
Public Function OnInitPage( ByRef PageIn, ByRef EventArg)
|
|
OnInitPage = True
|
|
End Function
|
|
|
|
Public Function OnServeAreaPage( ByRef PageIn, ByRef EventArg)
|
|
|
|
if not isServiceInstalled(getWMIConnection( _
|
|
CONST_WMI_WIN32_NAMESPACE _
|
|
),"nfssvc") then
|
|
SA_ServeFailurePage L_NFSNOTINSTALLED_ERRORMESSAGE
|
|
end if
|
|
|
|
Response.Write("<blockquote>")
|
|
ClientGroupsObjectPicker()
|
|
Response.Write("</blockquote>")
|
|
|
|
OnServeAreaPage = True
|
|
End Function
|
|
|
|
Function ServeCommonJavaScript()
|
|
%>
|
|
<script language = "JavaScript" src = "<%=m_VirtualRoot%>inc_global.js">
|
|
</script>
|
|
|
|
<script language = "JavaScript">
|
|
function Init()
|
|
{
|
|
var strClientGroupName
|
|
var nIndex
|
|
var objForm
|
|
|
|
//Selects a ClientGroup Name depending on the Task type.
|
|
strClientGroupName = '<%=request.QueryString("PKey")%>'
|
|
if(document.TVData!=null)
|
|
{
|
|
objForm = eval("document.TVData.TVItem_Table1")
|
|
if ( typeof( objForm ) == "undefined" )
|
|
{
|
|
return;
|
|
}
|
|
if(strClientGroupName == "")
|
|
{
|
|
return
|
|
}
|
|
objForm[0].checked = false
|
|
document.TVData.tSelectedItem.value = "";
|
|
document.TVData.tSelectedItemNumber.value = "";
|
|
for(nIndex =0 ; nIndex < objForm.length ; nIndex++)
|
|
{
|
|
if (unescape(objForm[nIndex].value) == strClientGroupName)
|
|
{
|
|
objForm[nIndex].checked = true
|
|
objForm[nIndex].focus()
|
|
document.TVData.tSelectedItem.value = strClientGroupName ;
|
|
document.TVData.tSelectedItemNumber.value = nIndex;
|
|
return
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function ValidatePage()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
function SetData()
|
|
{
|
|
}
|
|
</script>
|
|
<%
|
|
End Function
|
|
|
|
'---------------------------------------------------------------------
|
|
' Function: OnSortNotify()
|
|
' Function name: GetServices
|
|
' Description: Sorting notification event handler.
|
|
' Input Variables: PageIn,EventArg,sortCol,sortSeq
|
|
' Output Variables: PageIn,EventArg
|
|
' Return Values: Always returns TRUE
|
|
' Global Variables: G_*
|
|
'---------------------------------------------------------------------
|
|
Public Function OnSortNotify(ByRef PageIn, _
|
|
ByRef EventArg, _
|
|
ByVal sortCol, _
|
|
ByVal sortSeq )
|
|
OnSortNotify = TRUE
|
|
|
|
'
|
|
' User pressed column sort
|
|
'
|
|
If SA_IsChangeEvent(EventArg) Then
|
|
If ( ENABLE_TRACING ) Then
|
|
Call SA_TraceOut(SOURCE_FILE, "OnSortNotify() Change Event Fired")
|
|
End If
|
|
g_iSortCol = sortCol
|
|
g_sSortSequence = sortSeq
|
|
'
|
|
' User presed the search GO button OR clicked either the page next or page prev button
|
|
ElseIf SA_IsPostBackEvent(EventArg) Then
|
|
If ( ENABLE_TRACING ) Then
|
|
Call SA_TraceOut(SOURCE_FILE, "OnSortNotify() Postback Event Fired")
|
|
End If
|
|
g_iSortCol = sortCol
|
|
g_sSortSequence = sortSeq
|
|
'
|
|
' Unknown event source
|
|
Else
|
|
If ( ENABLE_TRACING ) Then
|
|
Call SA_TraceOut(SOURCE_FILE, "Unrecognized Event in OnSearchNotify()")
|
|
End If
|
|
End IF
|
|
|
|
If ( ENABLE_TRACING ) Then
|
|
Call SA_TraceOut(SOURCE_FILE, "Sort col: " + CStr(sortCol) + " sequence: " + sortSeq)
|
|
End If
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
' Function name: ClientGroupsObjectPicker
|
|
' Description: Gets NFS Client Groups from local machine.
|
|
' Input Variables: None.
|
|
' Output Variables: None.
|
|
' Return Values: None.
|
|
' Global Variables: in: L_* -
|
|
' Gets NFS Client Groups from localmachine and outputs to the Client Groups
|
|
' Objectpicker control.
|
|
' On error of creating or displaying of rows,columns and table an
|
|
' appropriate error message is displayed by calling SA_ServeFailurePage.
|
|
'-------------------------------------------------------------------------
|
|
|
|
Function ClientGroupsObjectPicker()
|
|
Err.Clear
|
|
On Error Resume Next
|
|
|
|
Dim objTableClientGroups
|
|
Dim nReturnValue
|
|
Dim strUrlBase
|
|
Dim rc
|
|
Dim objClientGroups
|
|
Dim intGroup
|
|
Dim intGroupsCount
|
|
Dim strAllGroups
|
|
Dim arrGroups
|
|
|
|
strUrlBase = m_VirtualRoot
|
|
|
|
'Create Appliance Nfs ClientGroups table
|
|
objTableClientGroups = OTS_CreateTable(L_PAGE_TITLE_TEXT, _
|
|
L_CLIENTGROUPS_DESCTIPITON_TEXT)
|
|
|
|
'Create and add the columns
|
|
nReturnValue = OTS_AddTableColumn( objTableClientGroups, _
|
|
OTS_CreateColumn( _
|
|
L_KEYCOLUMN_CLIENTGROUPNAME_TEXT, _
|
|
"left", _
|
|
(OTS_COL_FLAG_HIDDEN OR _
|
|
OTS_COL_FLAG_KEY)))
|
|
|
|
If nReturnValue <> gc_ERR_SUCCESS Then
|
|
SA_ServeFailurePage L_FAILEDTOADDCOLOUMN_ERRORMESSAGE
|
|
End IF
|
|
|
|
nReturnValue = OTS_AddTableColumn(objTableClientGroups, _
|
|
OTS_CreateColumn(_
|
|
L_COLUMN_CLIENTGROUPNAME_TEXT , _
|
|
"left", _
|
|
OTS_COL_FLAG_KEY OR OTS_COL_FLAG_SORT))
|
|
|
|
If nReturnValue <> gc_ERR_SUCCESS Then
|
|
SA_ServeFailurePage L_FAILEDTOADDCOLOUMN_ERRORMESSAGE
|
|
End IF
|
|
|
|
|
|
|
|
If Err.number<>0 then
|
|
SA_ServeFailurePage L_FAILEDTOCREATEOBJECT_ERRORMESSAGE
|
|
End IF
|
|
|
|
strAllGroups = NFS_EnumGroups()
|
|
|
|
arrGroups = split( strAllGroups, chr(1) )
|
|
|
|
intGroupsCount = ubound(arrGroups)
|
|
For intGroup = 0 to Cint(intGroupsCount)-1
|
|
nReturnValue =OTS_AddTableRow(objTableClientGroups, _
|
|
Array(arrGroups( intGroup ),arrGroups( intGroup )))
|
|
If nReturnValue <> gc_ERR_SUCCESS Then
|
|
SA_ServeFailurePage L_FAILEDTOADDROW_ERRORMESSAGE
|
|
End IF
|
|
next
|
|
|
|
'Add Tasks
|
|
rc = OTS_SetTableTasksTitle(objTableClientGroups,L_TASKS_TEXT)
|
|
nReturnValue = OTS_AddTableTask( objTableClientGroups, _
|
|
OTS_CreateTask( _
|
|
L_SERVEAREABUTTON_NEW_TEXT, _
|
|
L_NEW_ROLLOVERTEXT_TEXT , _
|
|
strUrlBase + _
|
|
"nfs/nfsclientgroups_new.asp", _
|
|
OTS_PAGE_TYPE_SIMPLE_PROPERTY))
|
|
|
|
If nReturnValue <> gc_ERR_SUCCESS Then
|
|
SA_ServeFailurePage L_FAILEDTOADDTASK_ERRORMESSAGE
|
|
End IF
|
|
|
|
If intGroupsCount > 0 then
|
|
nReturnValue = OTS_AddTableTask( objTableClientGroups, _
|
|
OTS_CreateTask( _
|
|
L_SERVEAREABUTTON_DELETE_TEXT, _
|
|
L_DELETE_ROLLOVERTEXT_TEXT, _
|
|
strUrlBase + _
|
|
"nfs/nfsclientgroups_delete_prop.asp", _
|
|
OTS_PAGE_TYPE_SIMPLE_PROPERTY))
|
|
If nReturnValue <> gc_ERR_SUCCESS Then
|
|
SA_ServeFailurePage L_FAILEDTOADDTASK_ERRORMESSAGE
|
|
End IF
|
|
|
|
nReturnValue = OTS_AddTableTask( objTableClientGroups, _
|
|
OTS_CreateTask( _
|
|
L_SERVEAREABUTTON_EDIT_TEXT, _
|
|
L_EDIT_ROLLOVERTEXT_TEXT, _
|
|
strUrlBase + _
|
|
"nfs/nfsclientgroups_edit_prop.asp", _
|
|
OTS_PAGE_TYPE_SIMPLE_PROPERTY))
|
|
If nReturnValue <> gc_ERR_SUCCESS Then
|
|
SA_ServeFailurePage L_FAILEDTOADDTASK_ERRORMESSAGE
|
|
End IF
|
|
End IF
|
|
'Sort the table
|
|
nReturnValue = OTS_EnableTableSort(objTableClientGroups, true)
|
|
If nReturnValue <> gc_ERR_SUCCESS Then
|
|
SA_ServeFailurePage L_FAILEDTOSORT_ERRORMESSAGE
|
|
End IF
|
|
|
|
Call OTS_SortTable(objTableClientGroups, g_iSortCol, g_sSortSequence, SA_RESERVED)
|
|
|
|
'Render the table
|
|
nReturnValue = OTS_ServeTaskViewTable(objTableClientGroups)
|
|
If nReturnValue <> gc_ERR_SUCCESS OR Err.number <> 0 Then
|
|
SA_ServeFailurePage L_FAILEDTOSHOW_ERRORMESSAGE
|
|
End IF
|
|
|
|
|
|
'Destroying dynamically created objects.
|
|
Set objClientGroups=Nothing
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
'Function name: isServiceInstalled
|
|
'Description:helper Function to chek whether the function is there or not
|
|
'Input Variables: objService - object to WMI
|
|
' strServiceName - Service name
|
|
'Output Variables: None
|
|
'Returns: (True/Flase)
|
|
'GlobalVariables: None
|
|
'-------------------------------------------------------------------------
|
|
Function isServiceInstalled(ObjWMI,strServiceName)
|
|
Err.clear
|
|
on error resume next
|
|
|
|
Dim strService
|
|
|
|
strService = "name=""" & strServiceName & """"
|
|
isServiceInstalled = IsValidWMIInstance(ObjWMI,"Win32_Service",strService)
|
|
end Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
'Function name: IsValidWMIInstance
|
|
'Description: Checks the instance for valid ness.
|
|
'Input Variables: objService - object to WMI
|
|
' strClassName - WMI class name
|
|
' strPropertyName - Property name of the class
|
|
'
|
|
'Output Variables: None
|
|
'Returns: Returns true on Valid Instance ,
|
|
' False on invalid and also on Error
|
|
' Checks whether the given instance is valid in WMI.Returns true on valid
|
|
' false on invalid or Error.
|
|
'-------------------------------------------------------------------------
|
|
Function IsValidWMIInstance(objService,strClassName,strPropertyName)
|
|
Err.Clear
|
|
On Error Resume Next
|
|
|
|
Dim strInstancePath
|
|
Dim objInstance
|
|
|
|
strInstancePath = strClassName & "." & strPropertyName
|
|
|
|
Set objInstance = objservice.Get(strInstancePath)
|
|
|
|
if NOT isObject(objInstance) or Err.number <> 0 Then
|
|
IsValidWMIInstance = FALSE
|
|
Err.Clear
|
|
Else
|
|
IsValidWMIInstance = TRUE
|
|
End If
|
|
|
|
'clean objects
|
|
Set objInstance = nothing
|
|
End Function
|
|
%>
|