home *** CD-ROM | disk | FTP | other *** search
/ Clickx 75 / Clickx 75.iso / software / expressionweb / expressionwebv3 / ExpressionWeb_en.exe / Setup / WeNoLoc.cab / xweb.FPCLASS.FPDBLIB.INC < prev    next >
Encoding:
Text File  |  2009-06-09  |  5.0 KB  |  219 lines

  1. <%
  2.  
  3. Sub FP_SetLocaleForPage
  4.     On Error Resume Next
  5.     Session("FP_OldCodePage") = Session.CodePage
  6.     Session("FP_OldLCID") = Session.LCID
  7.     Err.Clear
  8.     if FP_CodePage <> 0 then
  9.         Session.CodePage = FP_CodePage
  10.         if Err.Number <> 0 then Session.CodePage = Session("FP_OldCodePage")
  11.     end if
  12.     Err.Clear
  13.     if FP_LCID <> 0 then
  14.         Session.LCID = FP_LCID
  15.         if Err.Number <> 0 then Session.LCID = Session("FP_OldLCID")
  16.     end if
  17. End Sub
  18.  
  19. Sub FP_RestoreLocaleForPage
  20.     On Error Resume Next
  21.     if Session("FP_OldCodePage") <> 0 then
  22.         Session.CodePage = Session("FP_OldCodePage")
  23.     end if
  24.     if Session("FP_OldLCID") <> 0 then
  25.         Session.LCID = Session("FP_OldLCID")
  26.     end if
  27.     Err.Clear
  28. End Sub
  29.  
  30. Function FP_HTMLEncode(str)
  31.  
  32.     FP_HTMLEncode = str
  33.     FP_HTMLEncode = Replace(FP_HTMLEncode,"&","^^@^^")
  34.     FP_HTMLEncode = Server.HTMLEncode(FP_HTMLEncode)
  35.     FP_HTMLEncode = Replace(FP_HTMLEncode,"^^@^^","&")
  36.  
  37. End Function
  38.  
  39. Function FP_FieldVal(rs, fldname)
  40.  
  41.     FP_FieldVal = FP_HTMLEncode(FP_Field(rs, fldname))
  42.     if FP_FieldVal = "" then FP_FieldVal = " "
  43.  
  44. End Function
  45.  
  46. Function FP_Field(rs, fldname)
  47.  
  48.     If Not IsEmpty(rs) And Not (rs Is Nothing) and Not IsNull(rs(fldname)) Then 
  49.         Select Case rs(fldname).Type
  50.             Case 128, 204, 205 ' adBinary, adVarBinary, adLongVarBinary
  51.                 FP_Field = "[#BINARY#]"
  52.             Case 201, 203 ' adLongVarChar, adLongVarWChar
  53.                 if rs(fldname).DefinedSize > 255 then
  54.                     ' check for Access hyperlink fields (only absolute http links)
  55.                     fp_strVal = rs(fldname)
  56.                     fp_idxHash1 = InStr(LCase(fp_strVal),"#http://")
  57.                     if fp_idxHash1 > 0 then
  58.                         fp_idxHash2 = InStr(fp_idxHash1+1,fp_strVal,"#")
  59.                         if fp_idxHash2 > 0 then 
  60.                             ' this is an Access hyperlink; extract the URL part 
  61.                             fp_strVal = Mid(fp_strVal,fp_idxHash1+1)
  62.                             if Right(fp_strVal,1) = "#" then
  63.                                 fp_strVal = Left(fp_strVal,Len(fp_strVal)-1)
  64.                             end if
  65.                         end if
  66.                      end if
  67.                      FP_Field = fp_strVal
  68.                 else
  69.                      FP_Field = rs(fldname)
  70.                 end if
  71.             Case Else
  72.                 FP_Field = rs(fldname)
  73.         End Select
  74.     Else
  75.         FP_Field = ""
  76.     End If
  77.  
  78. End Function
  79.  
  80. Function FP_FieldHTML(rs, fldname)
  81.  
  82.     FP_FieldHTML = FP_HTMLEncode(FP_Field(rs, fldname))
  83.  
  84. End Function
  85.  
  86. Function FP_FieldURL(rs, fldname)
  87.  
  88.     FP_FieldURL = Server.URLEncode(FP_Field(rs, fldname))
  89.  
  90. End Function
  91.  
  92. Function FP_FieldLink(rs, fldname)
  93.  
  94.     FP_FieldLink = Replace(FP_Field(rs, fldname), " ", "%20")
  95.  
  96. End Function
  97.  
  98. Sub FP_OpenConnection(oConn, sAttrs, sUID, sPWD, fMSAccessReadOnly)
  99.  
  100.     Dim sTmp
  101.     Dim sConnStr
  102.     Dim fIsAccessDriver
  103.  
  104.     fIsAccessDriver = (InStr(LCase(sAttrs), "microsoft access driver") > 0)
  105.     sConnStr = FP_RemoveDriverWithDSN(sAttrs)
  106.     sTmp = sConnStr
  107.     
  108.     On Error Resume Next
  109.  
  110.     If fMSAccessReadOnly And fIsAccessDriver Then
  111.  
  112.         sTmp = sTmp & ";Exclusive=1;ReadOnly=1"
  113.  
  114.         Err.Clear
  115.         oConn.Open sTmp, sUID, sPWD
  116.         If Err.Description = "" Then Exit Sub
  117.  
  118.     End If
  119.  
  120.     Err.Clear
  121.     oConn.Open sConnStr, sUID, sPWD
  122.  
  123. End Sub
  124.  
  125. Function FP_RemoveDriverWithDSN(sAttrs)
  126.  
  127.     FP_RemoveDriverWithDSN = sAttrs
  128.  
  129.     sDrv = "driver="
  130.     sDSN = "dsn="
  131.     sLC = LCase(sAttrs)
  132.     if InStr(sLC, sDSN) < 1 then exit function
  133.  
  134.     idxFirst = InStr(sLC, sDrv)
  135.     if idxFirst < 1 then exit function
  136.     idxBeg = idxFirst + Len(sDrv)
  137.     if Mid(sLC,idxBeg,1) = "{" then 
  138.         idxEnd = InStr(idxBeg, sLC, "}")
  139.         if idxEnd > 0 and Mid(sLC,idxEnd+1,1) = ";" then 
  140.             idxEnd = idxEnd + 1
  141.         end if
  142.     else
  143.         idxEnd = InStr(idxBeg, sLC, ";")
  144.     end if
  145.     if idxEnd < 1 then idxEnd = Len(sLC)
  146.     
  147.     FP_RemoveDriverWithDSN = Left(sAttrs,idxFirst-1) & Mid(sAttrs,idxEnd+1)
  148.  
  149. End Function
  150.  
  151. Sub FP_OpenRecordset(rs)
  152.     
  153.     On Error Resume Next
  154.     rs.Open
  155.  
  156. End Sub
  157.  
  158. Function FP_ReplaceQuoteChars(sQry)
  159.  
  160.     Dim sIn
  161.     Dim sOut
  162.     Dim idx
  163.  
  164.     sIn = sQry
  165.     sOut = ""
  166.  
  167.     idx = InStr(sIn, "%%")
  168.  
  169.     Do While (idx > 0)
  170.  
  171.         sOut = sOut & Left(sIn, idx - 1)
  172.         sIn = Mid(sIn, idx + 2)
  173.         if (Left(sIn,1) = "%") And (Left(sIn,2) <> "%%") then
  174.             sIn = Mid(sIn, 2)
  175.             sOut = sOut & "%"
  176.         end if
  177.         sOut = sOut & "::"
  178.  
  179.         idx = InStr(sIn, "%%")
  180.         if idx > 0 then
  181.             sOut = sOut & Left(sIn, idx - 1)
  182.             sIn = Mid(sIn, idx + 2)
  183.             sOut = sOut & "::"
  184.             if (Left(sIn,1) = "%") And (Left(sIn,2) <> "%%") then
  185.                 sIn = Mid(sIn, 2)
  186.                 sOut = sOut & "%"
  187.             end if
  188.         end if
  189.         
  190.         idx = InStr(sIn, "%%")
  191.  
  192.     Loop
  193.  
  194.     sOut = sOut & sIn
  195.  
  196.     FP_ReplaceQuoteChars = sOut
  197.  
  198. End Function
  199.  
  200. Sub FP_Close(obj)
  201.  
  202.     On Error Resume Next
  203.  
  204.     obj.Close
  205.  
  206. End Sub
  207.  
  208. Sub FP_SetCursorProperties(rs)
  209.  
  210.     On Error Resume Next
  211.  
  212.     rs.CursorLocation = 3 ' adUseClient
  213.     rs.CursorType = 3 ' adOpenStatic
  214.  
  215. End Sub
  216.  
  217. %>
  218.  
  219.