home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / iis4_07.cab / libGlobalFuncs.inc < prev    next >
Text File  |  1997-11-01  |  5KB  |  183 lines

  1. <% ' This module contains useful global functions %>
  2. <%
  3.     ' GetServerName returns a fully qualified server name
  4.     Function GetServerName
  5.         GetServerName = "http://" & Request.ServerVariables("SERVER_NAME")
  6.     End Function
  7. %>
  8.  
  9. <%
  10.     ' GetPrefixValue is a helper function which removes the 
  11.     ' document name from a fully-qualified URL
  12.     Function GetPrefixValue
  13.         Dim strFullPath, strLastChar
  14.         strFullPath = "http://"
  15.         strFullPath = strFullPath & Request.ServerVariables("SERVER_NAME")
  16.         strFullPath = strFullPath & Request.ServerVariables("PATH_INFO")
  17.         ' now str has a value like: "http://servname/exair/freqflyer/default.asp"
  18.         ' we need to cut off the "/default.asp" part
  19.         strLastChar = ""
  20.         Do Until strLastChar = "/"
  21.             strLastChar = right(strFullPath, 1)
  22.             strFullPath = left(strFullPath, len(strFullPath) - 1)    
  23.         Loop
  24.         GetPrefixValue = strFullPath
  25.     End Function
  26. %>
  27.  
  28. <%
  29.     ' GetSecurePrefixValue is a helper function like GetPrefixValue 
  30.     ' but it prepends an http:// rather than http://
  31.     Function GetSecurePrefixValue
  32.         Dim strFullPath, strLastChar
  33.         strFullPath = "https://"
  34.         strFullPath = strFullPath & Request.ServerVariables("SERVER_NAME")
  35.         strFullPath = strFullPath & Request.ServerVariables("PATH_INFO")
  36.         ' now str has a value like: "https://servname/exair/freqflyer/default.asp"
  37.         ' we need to cut off the "/default.asp" part
  38.         strLastChar = ""
  39.         Do Until strLastChar = "/"
  40.             strLastChar = right(strFullPath, 1)
  41.             strFullPath = left(strFullPath, len(strFullPath) - 1)    
  42.         Loop
  43.         GetSecurePrefixValue = strFullPath
  44.     End Function
  45. %>
  46.  
  47. <%
  48.     ' Homepage is a helper function which returns the fully-qualifed URL of the home page
  49.     ' strPathOffset is used in case the calling page is not in the same directory as default.asp
  50.     Function Homepage(strPathOffset)
  51.         Dim strHomepage
  52.  
  53.         strHomepage = GetPrefixValue()
  54.         strHomepage = strHomepage & "/" & strPathOffset & "/Default.asp"
  55.         Homepage = strHomepage
  56.  
  57.     End Function
  58. %>
  59.  
  60. <%
  61. Function GetRootURL()
  62.   Dim FullPath, StartExAir
  63.   ' Get path to where we are now
  64.   FullPath = GetPrefixValue()
  65.   ' Now walk back up to Exair
  66.   StartExAir = InStr(1, FullPath, "ExAir", 1)
  67.   GetRootURL = Left(FullPath, StartExAir + 4)
  68. End Function
  69. %>
  70.  
  71. <%
  72.     ' Helper functions to support global security ExAir policy
  73.     Function AllowAnon
  74.         AllowAnon = Application("AdminAllowAnonymous")
  75.     End Function
  76.  
  77.     Function UseSSLOnFreqFlyer
  78.         UseSSLOnFreqFlyer=Application("AdminUseSSLOnFreqFlyer")
  79.     End Function
  80.  
  81.     Function UseSSLOnBusinessPartners
  82.         UseSSLOnBusinessPartners=Application("AdminUseSSLOnBusinessPartners")
  83.     End Function
  84. %>
  85.  
  86. <%
  87.     ' IsCertificateServerInstalled returns True if CertSrv installed, False otherwise
  88.     ' We determine if it's installed by looking for the ixsso.query component
  89.     Function IsCertificateServerInstalled()
  90.         IsCertificateServerInstalled = False
  91.         On Error Resume Next
  92.  
  93.         Dim oCertSrv 
  94.         Set oCertSrv = Server.CreateObject("CertificateAuthority.Config")
  95.         If Err = 0 Then     
  96.             IsCertificateServerInstalled = True
  97.         End If
  98.  
  99.         Set oCertSrv = Nothing
  100.     End Function
  101. %>
  102.  
  103. <%
  104.     ' IsPostingAcceptorInstalled returns True if WebPost is installed, False otherwise
  105.     ' We determine if it's installed by looking for the CPSHost.dll in servername/scripts
  106.     Function IsPostingAcceptorInstalled()
  107.         IsPostingAcceptorInstalled = False
  108.         On Error Resume Next
  109.  
  110.         Dim oFS, strPath, booExists
  111.         Set oFS = Server.CreateObject("Scripting.FileSystemObject")
  112.         strPath = "/scripts/cpshost.dll"
  113.         booExists = oFS.FileExists(Server.MapPath(strPath))
  114.         If Err = 0 And booExists Then
  115.             IsPostingAcceptorInstalled = True
  116.         End If
  117.  
  118.     End Function
  119. %>
  120.  
  121. <% 
  122.     ' IsIndexServerInstalled returns True if IS installed, False otherwise
  123.     ' We determine if it's installed by looking for the ixsso.query component
  124.     Function IsIndexServerInstalled()
  125.         IsIndexServerInstalled = False
  126.         On Error Resume Next
  127.  
  128.         Dim oIS 
  129.         Set oIS = Server.CreateObject("ixsso.Query")
  130.         If Err = 0 Then     
  131.             IsIndexServerInstalled = True
  132.         End If
  133.  
  134.         Set oIS = Nothing
  135.  
  136.     End Function
  137. %>
  138.  
  139. <%
  140.     ' CanAdminServer
  141.     ' Can the user admin this server? This is determed by trying a dummy call to ADSI
  142.     Function CanAdminServer()
  143.         On Error Resume Next
  144.         Dim oADSI 
  145.         Set oADSI = GetObject("IIS://localhost/w3svc/1/Root")
  146.         If Err = 0 Then
  147.             CanAdminServer = True
  148.         Else
  149.             CanAdminServer = False
  150.         End If
  151.     End Function
  152. %>
  153.  
  154. <%
  155.     ' HasAccess determines if the user has access to the named directory/file
  156.     Function HasAccess(strDir) 
  157.         On Error Resume Next
  158.         HasAccess = False
  159.         Dim pmck 
  160.         Set pmck = Server.CreateObject("MSWC.PermissionChecker")
  161.         If Err = 0 Then 
  162.             HasAccess = pmck.HasAccess(strDir)
  163.         End If
  164.     End Function
  165. %>
  166.  
  167. <%
  168.     Function SaveAdminPrefs()
  169.         On Error Resume Next
  170.  
  171.         Dim fso, txtSettings 
  172.         Set fso = Server.CreateObject("Scripting.FileSystemObject")
  173.         Set txtSettings = fso.CreateTextFile(Server.MapPath("AdminPrefs.txt"), True, False)
  174.         If Err = 0 Then
  175.             'Write the specified Application variables to the text file
  176.             txtSettings.WriteLine "AdminAllowAnonymous" & "=" & CInt(Application("AdminAllowAnonymous"))
  177.             txtSettings.WriteLine "AdminUseSSLOnFreqFlyer" & "=" & CInt(Application("AdminUseSSLOnFreqFlyer"))
  178.             txtSettings.WriteLine "AdminUseSSLOnBusinessPartners" & "=" & CInt(Application("AdminUseSSLOnBusinessPartners"))
  179.         End If
  180.         
  181.         txtSettings.Close
  182.     End Function
  183. %>