I've modded my forum a bit, and now I've encountered this problem:
I've included the code from active.asp in the header (inc_header.asp)
if strPrivateForums = "1" and mLev < 4 then
allAllowedForums = ""
allowSql = "SELECT FORUM_ID, F_PRIVATEFORUMS, F_PASSWORD_NEW"
allowSql = allowSql & " FROM " & strTablePrefix & "FORUM"
allowSql = allowSql & " WHERE F_TYPE = 0"
allowSql = allowSql & " ORDER BY FORUM_ID"
set rsAllowed = Server.CreateObject("ADODB.Recordset")
rsAllowed.open allowSql, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
if rsAllowed.EOF then
recAllowedCount = ""
else
allAllowedData = rsAllowed.GetRows(adGetRowsRest)
recAllowedCount = UBound(allAllowedData,2)
end if
rsAllowed.close
set rsAllowed = nothing
if recAllowedCount <> "" then
fFORUM_ID = 0
fF_PRIVATEFORUMS = 1
fF_PASSWORD_NEW = 2
for RowCount = 0 to recAllowedCount
aForum_ID = allAllowedData(fFORUM_ID,RowCount)
aForum_PrivateForums = allAllowedData(fF_PRIVATEFORUMS,RowCount)
aForum_FPasswordNew = allAllowedData(fF_PASSWORD_NEW,RowCount)
if mLev = 4 then
ModerateAllowed = "Y"
elseif mLev = 3 and ModOfForums <> "" then
if (strAuthType = "nt") then
if (chkForumModerator(aForum_ID, Session(strCookieURL & "username")) = "1") then ModerateAllowed = "Y" else ModerateAllowed = "N"
else
if (instr("," & ModOfForums & "," ,"," & aForum_ID & ",") > 0) then ModerateAllowed = "Y" else ModerateAllowed = "N"
end if
else
ModerateAllowed = "N"
end if
if ChkDisplayForum(aForum_PrivateForums,aForum_FPasswordNew,aForum_ID,MemberID) = true then
if allAllowedForums = "" then
allAllowedForums = aForum_ID
else
allAllowedForums = allAllowedForums & "," & aForum_ID
end if
end if
next
end if
if allAllowedForums = "" then allAllowedForums = 0
end if
I've noticed that this code gives an error in all of my admin pages (unmodded), so I put this code around it:
IF (Instr(Request.ServerVariables("Path_Info"), "admin") <= 0) then
'insert the other code here
else
allAllowedForums = 0
end if
But, now I notice that this also gives errors in PM_DELETE.ASP (for deleting private messages).
The error is this:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'ChkDisplayForum'
/inc_header.asp, line 192
This refers to this line:
if ChkDisplayForum(aForum_PrivateForums,aForum_FPasswordNew,aForum_ID,MemberID) = true then
How can it be that this line gives a 'Type mismatch' in pm_delete.asp, while it doesn't in other pages ? And it does give errors on for instance admin_config_system.asp, down.asp etc.
I'm completely clueless.
Any hint would be very welcome.