This NEW SIP (Site Integration Package) for ASPPlayground.net Forum ASP.NET Editions is designed for those who want to display messages, member info, etc. outside the forum by retrieving information stored in the forum's database using simple COM like interface. The SIP also allows you to register, login, add/remove users from a group remotely (see below for full functionality).
This new SIP is designed for interacting with version 2.5 (ANSI & Unicode) of the Advanced Edition. This Site Integration Package will not work with forum version prior to 2.5.
There are 2 SIP files in the package (under the folder SIP):
There are also two sets of examples in the package (under folder examples). Note: Examples below references the Unicode classes (SIPUnicode.vb)
NOTE: In order to use the SIP, you must first upload and reference one of
the two files (depending on your forum version) in your own ASPX File. You will also need some knowledge and experience with ASP.NET programming.
Example usage is provided for each of the 6 Classes. At the top of your ASP.NET
file, reference them this way:
For 2.5 Unicode users:
<%@ Assembly src="SIPUnicode.vb" %>
<%@ Import Namespace="ASPPGDSIP"%>
For 2.5 ANSI users:
<%@ Assembly src="SIPANSI.vb" %>
<%@ Import Namespace="ASPPGDSIP"%>
6 SIP classes (identical for the two versions of 2.5, ANSI and Unicode):
The main class that encapsulates the database connection and basic forum information. All other classes depends on this class to work
This is the class for external login
This is the class for external registration
This is the class used to retrieve active sessions. This is only useful if you enable online user tracking
This is the class used to retrieve member list and basic group membership info.
This is the class used to retrieve message list and create RSS feeds (version 2.0)
PGDDatabase
Properties
- dbUser as String (read/write)
the login name for accessing the database - dbName as String (read/write)
the database name of the forum database - dbPass as String (read/write)
the password for accessing the database - dbServer as String (read/write)
the server IP address or named pipe. - dbOwnerPrefix as String (read/write) ; Optional
the owner of the stored procedure - IntegratedSecurity as Boolean (read/write) ; Optional
indicates whether to use Integrated Security to connect to the database. Default is False. - datastore as String (read)
the database connection string.
Properties
the login name for accessing the database
the database name of the forum database
the password for accessing the database
the server IP address or named pipe.
the owner of the stored procedure
indicates whether to use Integrated Security to connect to the database. Default is False.
the database connection string.
Methods
- function GetSiteinfo as Hashtable
retrieves a hashtable that holds basic site configuration information.
Methods
retrieves a hashtable that holds basic site configuration information.
Example Usage |
Dim objDB as PGDDatabase, key as string, DictSiteInfo as hashtable
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
Response.write ("<strong>Database Connection String <br></strong> " & objDB.datastore & "<br>")
Response.write ("<br><strong>Forum Properties:</strong> <br>")
DictSiteInfo = objDB.GetSiteInfo
for each key in DictSiteInfo.keys
response.write ("<font color=""#FF0000"">" & key & "</font>: " & DictSiteInfo.item(key) & "<br>")
next
objDB = nothing
Example Usage|
Dim objDB as PGDDatabase, key as string, DictSiteInfo as hashtable
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
Response.write ("<strong>Database Connection String <br></strong> " & objDB.datastore & "<br>")
Response.write ("<br><strong>Forum Properties:</strong> <br>")
DictSiteInfo = objDB.GetSiteInfo
for each key in DictSiteInfo.keys
response.write ("<font color=""#FF0000"">" & key & "</font>: " & DictSiteInfo.item(key) & "<br>")
next
objDB = nothing
Dim objDB as PGDDatabase, key as string, DictSiteInfo as hashtable
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
Response.write ("<strong>Database Connection String <br></strong> " &
objDB.datastore & "<br>")
Response.write ("<br><strong>Forum Properties:</strong> <br>")
DictSiteInfo = objDB.GetSiteInfo
for each key in DictSiteInfo.keys
response.write ("<font color=""#FF0000"">" & key & "</font>:
" & DictSiteInfo.item(key) & "<br>")
next
objDB = nothing
PGDLogin
Properties
- DatabaseObject as PGDDatabase (read/write)
You must pass a valid PGDDatabase object into this property in order for this class to work. - Username as String (read/write)
The user name - Password as String (read/write)
User's password - saveCookie as Boolean (read/write); Optional
whether to create Auto-Login cookies once the user is successfully logged in. Default is False. - fromCookie as Boolean (read/write); Optional
whether the supplied username/password combination is retrieved from user's input (e.g. form post) or from user's Auto-Login cookie. Default is False. - generateSession as Boolean (read/write); Optional
whether to create session state once the user is successfully logged in. Default is False. - memID as Integer (read)
the user's member ID in the forum database. It can be retrieved after calling the SignIn method (see below). If it is retrieved before calling the SignIn method, the returned value will read from the user's session state. If the user does not have a valid session, the value will always be -1 (Guest).
Properties
You must pass a valid PGDDatabase object into this property in order for this class to work.
The user name
User's password
whether to create Auto-Login cookies once the user is successfully logged in. Default is False.
whether the supplied username/password combination is retrieved from user's input (e.g. form post) or from user's Auto-Login cookie. Default is False.
whether to create session state once the user is successfully logged in. Default is False.
the user's member ID in the forum database. It can be retrieved after calling the SignIn method (see below). If it is retrieved before calling the SignIn method, the returned value will read from the user's session state. If the user does not have a valid session, the value will always be -1 (Guest).
Methods
- function SignIn() as Boolean
the main function which takes Username and Password and generates cookies/session. This method returns True if user is logged in successfully, and False if not. - function isAdmin() as Boolean
whether the current user has administrative privilege on the forum - function isGuest() as Boolean
whether the current user is a Guest. The memID property above will return -1 if this method returns True. - function getLoginCookies() as String
returns the Username portion of the Auto-Login cookie. It can be called before calling the SignIn method to retrieve existing Auto-Login cookie value. - function getPassCookies() as HexString
returns the password portion of the Auto-Login cookie. It can be called before calling the SignIn method to retrieve existing Auto-Login cookie value. - sub SignOut()
sign out a user by removing the auto-login cookie, session variable, and his record in the session table.
Methods
the main function which takes Username and Password and generates cookies/session. This method returns True if user is logged in successfully, and False if not.
whether the current user has administrative privilege on the forum
whether the current user is a Guest. The memID property above will return -1 if this method returns True.
returns the Username portion of the Auto-Login cookie. It can be called before calling the SignIn method to retrieve existing Auto-Login cookie value.
returns the password portion of the Auto-Login cookie. It can be called before calling the SignIn method to retrieve existing Auto-Login cookie value.
sign out a user by removing the auto-login cookie, session variable, and his record in the session table.
A sample code in addition to the following Example Usage is available in this package as well. Please refer to the file, login.aspx, in the package.
A sample code in addition to the following Example Usage is available in this package as well.Please refer to the file,login.aspx, in the package.
Example Usage |
Dim objDB as PGDDatabase, objLogin as PGDLogin, success as Boolean
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objLogin = new PGDLogin
objLogin.DatabaseObject = objDB
objLogin.Username = "admin"
objLogin.Password = "admin"
objLogin.saveCookie = true
objLogin.fromCookie = false
objLogin.generateSession = true
success = objLogin.signin()if success then
response.write ("<br>MemID: ")
response.write (objLogin.memID)
response.write ("<br>Username: ")
response.write (objLogin.username)
response.write ("<br>isAdmin: ")
response.write (objLogin.isAdmin)
response.write ("<br>isGuest: ")
response.write (objLogin.isGuest)
response.write ("<br>Cookie, Login: ")
response.write (objLogin.getLoginCookies)
response.write ("<br>Cookie, Pass: ")
response.write (objLogin.getPassCookies)
else
response.write("failed")
end if
objDB = nothing
objLogin = nothing
Example Usage|
Dim objDB as PGDDatabase, objLogin as PGDLogin, success as Boolean
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objLogin = new PGDLogin
objLogin.DatabaseObject = objDB
objLogin.Username = "admin"
objLogin.Password = "admin"
objLogin.saveCookie = true
objLogin.fromCookie = false
objLogin.generateSession = true
success = objLogin.signin()if success then
response.write ("<br>MemID: ")
response.write (objLogin.memID)
response.write ("<br>Username: ")
response.write (objLogin.username)
response.write ("<br>isAdmin: ")
response.write (objLogin.isAdmin)
response.write ("<br>isGuest: ")
response.write (objLogin.isGuest)
response.write ("<br>Cookie, Login: ")
response.write (objLogin.getLoginCookies)
response.write ("<br>Cookie, Pass: ")
response.write (objLogin.getPassCookies)
else
response.write("failed")
end if
objDB = nothing
objLogin = nothing
Dim objDB as PGDDatabase, objLogin as PGDLogin, success as Boolean
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objLogin = new PGDLogin
objLogin.DatabaseObject = objDB
objLogin.Username = "admin"
objLogin.Password = "admin"
objLogin.saveCookie = true
objLogin.fromCookie = false
objLogin.generateSession = true
success = objLogin.signin()
if success then
response.write ("<br>MemID: ")
response.write (objLogin.memID)
response.write ("<br>Username: ")
response.write (objLogin.username)
response.write ("<br>isAdmin: ")
response.write (objLogin.isAdmin)
response.write ("<br>isGuest: ")
response.write (objLogin.isGuest)
response.write ("<br>Cookie, Login: ")
response.write (objLogin.getLoginCookies)
response.write ("<br>Cookie, Pass: ")
response.write (objLogin.getPassCookies)
else
response.write("failed")
end if
objDB = nothing
objLogin = nothing
PGDRegistration
Properties
- DatabaseObject as PGDDatabase (read/write)
You must pass a valid PGDDatabase object into this property in order for this class to work. - Username as String (write)
The user name - Password as String (read/write)
User's password - Email as String (read/write)
User's Email address for registration - MemID as Long (read)
User's member ID on the forum after successfully registered. Should be called after calling the Register method (see below). - ErrorCode as Int (read)
If registration fails, the error code returned. Should be called after calling the Register method (see below). - ErrorMessage as String (read)
If registration fails, the error message returned in English. Should be called after calling the Register method (see below).
Properties
You must pass a valid PGDDatabase object into this property in order for this class to work.
The user name
User's password
User's Email address for registration
User's member ID on the forum after successfully registered. Should be called after calling the Register method (see below).
If registration fails, the error code returned. Should be called after calling the Register method (see below).
If registration fails, the error message returned in English. Should be called after calling the Register method (see below).
Methods
- function Register as Boolean
the main function which takes Username, email, and Password and registers the user. This method returns True if user is registered in successfully, and False if not.
Methods
the main function which takes Username, email, and Password and registers the user. This method returns True if user is registered in successfully, and False if not.
Example Usage |
Dim objDB as pgddatabase, objReg as pgdregistration, success as boolean
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objReg = new PGDRegistration
objReg.DatabaseObject = objDB
objReg.Username = "admin"
objReg.Password = "admin"
objReg.Email = "[email protected]"
success = objReg.Register()
if not success then
response.write ("<br>Error Code: ")
response.write (objReg.ErrorCode)
response.write ("<br>Error Message: ")
response.write (objReg.ErrorMessage)
else
response.write ("<br>New Member ID ")
response.write (objReg.memID)
end if
objReg = nothing
objDB = nothing
Example Usage|
Dim objDB as pgddatabase, objReg as pgdregistration, success as boolean
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objReg = new PGDRegistration
objReg.DatabaseObject = objDB
objReg.Username = "admin"
objReg.Password = "admin"
objReg.Email = "[email protected]"
success = objReg.Register()
if not success then
response.write ("<br>Error Code: ")
response.write (objReg.ErrorCode)
response.write ("<br>Error Message: ")
response.write (objReg.ErrorMessage)
else
response.write ("<br>New Member ID ")
response.write (objReg.memID)
end if
objReg = nothing
objDB = nothing
Dim objDB as pgddatabase, objReg as pgdregistration, success as boolean
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objReg = new PGDRegistration
objReg.DatabaseObject = objDB
objReg.Username = "admin"
objReg.Password = "admin"
objReg.Email = "[email protected]"
success = objReg.Register()
if not success then
response.write ("<br>Error Code: ")
response.write (objReg.ErrorCode)
response.write ("<br>Error Message: ")
response.write (objReg.ErrorMessage)
else
response.write ("<br>New Member ID ")
response.write (objReg.memID)
end if
objReg = nothing
objDB = nothing
PGDSessions
Properties
- DatabaseObject as PGDDatabase (read/write)
You must pass a valid PGDDatabase object into this property in order for this class to work.
Properties
You must pass a valid PGDDatabase object into this property in order for this class to work.
Methods
- function GetSessions as 2 dimensional array
This function returns all users currently in the session table in a 2 dimensional array. The 2 dimensional array is produced by the Recordset.GetRows method. Make sure you check the returned data with the VBScript's isArray() function first. - sub DemoSessions
This sub writes out all users currently in the session table. The string being written is produced by the Recordset.GetString method. This method is useful if you don't know what are returned by the GetSessions method above.
Methods
This function returns all users currently in the session table in a 2 dimensional array. The 2 dimensional array is produced by the Recordset.GetRows method. Make sure you check the returned data with the VBScript's isArray() function first.
This sub writes out all users currently in the session table. The string being written is produced by the Recordset.GetString method. This method is useful if you don't know what are returned by the GetSessions method above.
Example Usage |
Dim objDB as PGDDatabase, objSess as PGDSessions
Dim allData as object
Dim irow, iCol as IntegerobjDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objSess = New PGDSessions
objSess.DatabaseObject = objDB
objSess.demoSessions()
allData = objSess.GetSessions
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>" & cStr(allData(icol,irow)) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
objSess = nothing
objDB = nothing
Example Usage|
Dim objDB as PGDDatabase, objSess as PGDSessions
Dim allData as object
Dim irow, iCol as IntegerobjDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objSess = New PGDSessions
objSess.DatabaseObject = objDB
objSess.demoSessions()
allData = objSess.GetSessions
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>" & cStr(allData(icol,irow)) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
objSess = nothing
objDB = nothing
Dim objDB as PGDDatabase, objSess as PGDSessions
Dim allData as object
Dim irow, iCol as Integer
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objSess = New PGDSessions
objSess.DatabaseObject = objDB
objSess.demoSessions()
allData = objSess.GetSessions
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0
to ubound(allData,1)
response.write ("<td>" & cStr(allData(icol,irow)) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
objSess = nothing
objDB = nothing
PGDMembers
Properties
- DatabaseObject as PGDDatabase (read/write)
You must pass a valid PGDDatabase object into this property in order for this class to work.
Properties
You must pass a valid PGDDatabase object into this property in order for this class to work.
Methods
- function GetMembers (top as int, mode as int
, order as int) as 2 dimensional array and sub
DemoMembers (top as int, mode as int , order
as int)
This function GetMembers returns users based on supplied arguments in a 2 dimensional array. The 2 dimensional array is produced by the Recordset.GetRows method. Make sure you check the returned data with the VBScript's isArray() function first.
This sub DemoMembers writes out all users based on supplied arguments. The string being written is produced by the Recordset.GetString method. This method is useful if you don't know what are returned by the GetMembers method above.
Arguments- top
how many records to return. - mode
2 different modes are supported- 1: return users sorted based on number of posts
- 0: return users sorted based on date of registration
- order
complement the argument mode above- 0: Ascending
- 1: Descending
- top
- function GetModerators (forumid as int) as 2
dimensional array and sub DemoModerators (forumid as int)
This function GetModerators returns moderators based on the supplied forumid in a 2 dimensional array. The 2 dimensional array is produced by the Recordset.GetRows method. Make sure you check the returned data with the VBScript's isArray() function first.
This sub DemoModerators writes out moderators based on supplied arguments. The string being written is produced by the Recordset.GetString method. This method is useful if you don't know what are returned by the GetModerators method above.
Arguments- forumid
the ID of the forum which the moderators you want to display belongs to. If set to 0, the funciton returns all moderators of all forums.
- forumid
- function isAdmin (memID as int) as Boolean
check whether a member has administrative privilege or not.
Arguments- memid
the ID of the member
- memid
- function isModerator (memID as int) as Boolean
check whether a member is a moderator.
Arguments- memid
the ID of the member
- memid
- function isGroupMember (GID as int, memID as int)
as Boolean
check whether a member belongs to a user group.
Arguments- GID
the ID of the user group - memid
the ID of the member
- GID
- sub addUserToGroup (GID as int, memID as int)
add a member to a user group
Arguments- GID
the ID of the user group - memid
the ID of the member
- GID
- sub removeUserFromGroup (GID as int, memID as int)
remove a member from a user group
Arguments- GID
the ID of the user group - memid
the ID of the member
- GID
- sub UpdatePM
The forum caches Private members and Moderators in the forum table. If you use the method addUserToGroup or removeUserFromGroup, make sure you call this method to update the cache.
Methods
This function GetMembers returns users based on supplied arguments in a 2 dimensional array. The 2 dimensional array is produced by the Recordset.GetRows method. Make sure you check the returned data with the VBScript's isArray() function first.
This sub DemoMembers writes out all users based on supplied arguments. The string being written is produced by the Recordset.GetString method. This method is useful if you don't know what are returned by the GetMembers method above.
Arguments
- top
how many records to return. - mode
2 different modes are supported- 1: return users sorted based on number of posts
- 0: return users sorted based on date of registration
- order
complement the argument mode above- 0: Ascending
- 1: Descending
how many records to return.
2 different modes are supported
- 1: return users sorted based on number of posts
- 0: return users sorted based on date of registration
complement the argument mode above
- 0: Ascending
- 1: Descending
This function GetModerators returns moderators based on the supplied forumid in a 2 dimensional array. The 2 dimensional array is produced by the Recordset.GetRows method. Make sure you check the returned data with the VBScript's isArray() function first.
This sub DemoModerators writes out moderators based on supplied arguments. The string being written is produced by the Recordset.GetString method. This method is useful if you don't know what are returned by the GetModerators method above.
Arguments
- forumid
the ID of the forum which the moderators you want to display belongs to. If set to 0, the funciton returns all moderators of all forums.
the ID of the forum which the moderators you want to display belongs to. If set to 0, the funciton returns all moderators of all forums.
check whether a member has administrative privilege or not.
Arguments
- memid
the ID of the member
the ID of the member
check whether a member is a moderator.
Arguments
- memid
the ID of the member
the ID of the member
check whether a member belongs to a user group.
Arguments
- GID
the ID of the user group - memid
the ID of the member
the ID of the user group
the ID of the member
add a member to a user group
Arguments
- GID
the ID of the user group - memid
the ID of the member
the ID of the user group
the ID of the member
remove a member from a user group
Arguments
- GID
the ID of the user group - memid
the ID of the member
the ID of the user group
the ID of the member
The forum caches Private members and Moderators in the forum table. If you use the method addUserToGroup or removeUserFromGroup, make sure you call this method to update the cache.
Example Usage |
Dim objDB as PGDDatabase, objMem as PGDMembers, allData as object
Dim irow, iCol as Integer
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objMem = New PGDMembers
objMem.DatabaseObject = objDB
objMem.DemoMembers(20, 1, 0)
allData = objMem.GetMembers(20, 1, 0)
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>" & allData(icol,irow) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
objMem.DemoModerators(0)
allData = objMem.GetModerators(0)
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>" & allData(icol,irow) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
response.write ("<br>IsAdmin: ")
response.write (objMem.isAdmin(0))
response.write ("<br>IsModerator: ")
response.write (objMem.isModerator(2))
response.write ("<br>IsGroupMember: ")
response.write (objMem.IsGroupMember(11,6))
response.write ("<br>Remove User from group: ")
objMem.removeUserFromGroup(11,6)
response.write ("<br>Is GroupMember: ")
response.write (objMem.IsGroupMember(11,6))
response.write ("<br>Add user back to group: ")
objMem.addUserToGroup(11,6)
response.write ("<br>Is GroupMember: ")
response.write (objMem.IsGroupMember(11,6))
objMem.updatePM()
objMem = nothing
objDB = nothing
Example Usage|
Dim objDB as PGDDatabase, objMem as PGDMembers, allData as object
Dim irow, iCol as Integer
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objMem = New PGDMembers
objMem.DatabaseObject = objDB
objMem.DemoMembers(20, 1, 0)
allData = objMem.GetMembers(20, 1, 0)
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>" & allData(icol,irow) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
objMem.DemoModerators(0)
allData = objMem.GetModerators(0)
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>" & allData(icol,irow) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
response.write ("<br>IsAdmin: ")
response.write (objMem.isAdmin(0))
response.write ("<br>IsModerator: ")
response.write (objMem.isModerator(2))
response.write ("<br>IsGroupMember: ")
response.write (objMem.IsGroupMember(11,6))
response.write ("<br>Remove User from group: ")
objMem.removeUserFromGroup(11,6)
response.write ("<br>Is GroupMember: ")
response.write (objMem.IsGroupMember(11,6))
response.write ("<br>Add user back to group: ")
objMem.addUserToGroup(11,6)
response.write ("<br>Is GroupMember: ")
response.write (objMem.IsGroupMember(11,6))
objMem.updatePM()
objMem = nothing
objDB = nothing
Dim objDB as PGDDatabase, objMem as PGDMembers, allData as object
Dim irow, iCol as Integer
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objMem = New PGDMembers
objMem.DatabaseObject = objDB
objMem.DemoMembers(20, 1, 0)
allData = objMem.GetMembers(20, 1, 0)
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>" & allData(icol,irow) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
objMem.DemoModerators(0)
allData = objMem.GetModerators(0)
if isArray(allData) then
response.write ("<table>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>" & allData(icol,irow) & "</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
response.write ("<br>IsAdmin: ")
response.write (objMem.isAdmin(0))
response.write ("<br>IsModerator: ")
response.write (objMem.isModerator(2))
response.write ("<br>IsGroupMember: ")
response.write (objMem.IsGroupMember(11,6))
response.write ("<br>Remove User from group: ")
objMem.removeUserFromGroup(11,6)
response.write ("<br>Is GroupMember: ")
response.write (objMem.IsGroupMember(11,6))
response.write ("<br>Add user back to group: ")
objMem.addUserToGroup(11,6)
response.write ("<br>Is GroupMember: ")
response.write (objMem.IsGroupMember(11,6))
objMem.updatePM()
objMem = nothing
objDB = nothing
PGDMessages
Properties
- DatabaseObject as PGDDatabase (read/write)
You must pass a valid PGDDatabase object into this property in order for this class to work. - isPinned as Boolean (write); Optional
whether to show sticky threads only. Default is False. - isFAQ as Boolean (write) ; Optional
whether to show FAQ threads only. Default is False. - isPoll as Boolean (write); Optional
whether to show polls only. Default is False. - threadOnly as Boolean (write); Optional
whether to show topics only. Default is True. - timefilter as int (write); Optional
the number in day. If you want to display messages from last 10 days, set it to 10. Default is 30. - forumid as comma-delimited String (write); Optional
the id of the forum from which to display message. e.g. "1" or "1,2,3". Default is "ALL". - top as int (write); Optional
the number of message to retrieve. Default is 10. - orderBy as int (write); Optional
the criteria you want to sort message list by. Accepts one of the following 3 values: 0 (by message date), 1 (by number of views), 2 (by number of replies). Default is 0. - orderDir as int (write); Optional
the direction you want to sort the message list by; complements the orderBy property above. Acceptable value are either 1 (descending) or 0 (ascending). Default is 1. - bypassContextCheck as Boolean (write); Optional
whether to check security context before displaying the message. Default is True (don't check). For example, if you specify "ALL" as the value of the forumid property, but you want to make sure that members should only see messages they are supposed to see, set this property to False and specify the value of the memID property (see below) - memID as int (write); Optional
ID of a member. Default is 0 (administrator). You can programmatically derive the member ID using the PGDLogin class's memID property.
Properties
You must pass a valid PGDDatabase object into this property in order for this class to work.
whether to show sticky threads only. Default is False.
whether to show FAQ threads only. Default is False.
whether to show polls only. Default is False.
whether to show topics only. Default is True.
the number in day. If you want to display messages from last 10 days, set it to 10. Default is 30.
the id of the forum from which to display message. e.g. "1" or "1,2,3". Default is "ALL".
the number of message to retrieve. Default is 10.
the criteria you want to sort message list by. Accepts one of the following 3 values: 0 (by message date), 1 (by number of views), 2 (by number of replies). Default is 0.
the direction you want to sort the message list by; complements the orderBy property above. Acceptable value are either 1 (descending) or 0 (ascending). Default is 1.
whether to check security context before displaying the message. Default is True (don't check). For example, if you specify "ALL" as the value of the forumid property, but you want to make sure that members should only see messages they are supposed to see, set this property to False and specify the value of the memID property (see below)
ID of a member. Default is 0 (administrator). You can programmatically derive the member ID using the PGDLogin class's memID property.
Methods
- function GetMessages as 2 dimensional array
This function returns messages based on the arguments you specified using the properties above in a 2 dimensional array. The 2 dimensional array is produced by the Recordset.GetRows method. Make sure you check the returned data with the VBScript's isArray() function first. - sub DemoMessages
This sub writes out messages based on the arguments you specified using the properties. The string being written is produced by the Recordset.GetString method. This method is useful if you don't know what are returned by the GetMessages method above. - sub GetRSS (Desc as string , Lang as string
, ttl as int)
?
This sub writes out messages in RSS 2.0 format. Remember, when this method is called, it will clear everything in the Response buffer.
Arguments- Desc
Phrase or sentence describing the channel. Required for the <description> element. - Lang
The language the channel is written in. Required for the <language> element. - ttl
ttl stands for time to live. It's a number of minutes that indicates how long a channel can be cached before refreshing from the source.
- Desc
Methods
This function returns messages based on the arguments you specified using the properties above in a 2 dimensional array. The 2 dimensional array is produced by the Recordset.GetRows method. Make sure you check the returned data with the VBScript's isArray() function first.
This sub writes out messages based on the arguments you specified using the properties. The string being written is produced by the Recordset.GetString method. This method is useful if you don't know what are returned by the GetMessages method above.
This sub writes out messages in RSS 2.0 format. Remember, when this method is called, it will clear everything in the Response buffer.
Arguments
- Desc
Phrase or sentence describing the channel. Required for the <description> element. - Lang
The language the channel is written in. Required for the <language> element. - ttl
ttl stands for time to live. It's a number of minutes that indicates how long a channel can be cached before refreshing from the source.
Phrase or sentence describing the channel. Required for the <description> element.
The language the channel is written in. Required for the <language> element.
ttl stands for time to live. It's a number of minutes that indicates how long a channel can be cached before refreshing from the source.
A sample code for generating RSS feed in addition to the following Example Usage is available in this package as well. Please refer to the file, RSS.aspx, in the package.
A sample code for generating RSS feed in addition to the following Example Usage is available in this package as well.Please refer to the file,RSS.aspx, in the package.
Example Usage |
Dim objDB as PGDDatabase, objMessage as PGDMessages, allData as object
Dim irow, iCol as IntegerobjDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objMessage = New PGDMessages
objMessage.DatabaseObject = objDB
objMessage.memID = 0
objMessage.forumid = "16,3,41"
objMessage.timefilter = 1000
objMessage.byassContextCheck = false
objMessage.DemoMessages
allData = objMessage.GetMessages
if isArray(allData) then
response.write ("<table border= 1>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>"&allData(icol,irow)&"</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
' uncomment the following line to write RSS feed.
'call objMessage.GetRss("Testing this RSS feature","en-us",60)
objMessage = nothing
objDB = nothing
Example Usage|
Dim objDB as PGDDatabase, objMessage as PGDMessages, allData as object
Dim irow, iCol as IntegerobjDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objMessage = New PGDMessages
objMessage.DatabaseObject = objDB
objMessage.memID = 0
objMessage.forumid = "16,3,41"
objMessage.timefilter = 1000
objMessage.byassContextCheck = false
objMessage.DemoMessages
allData = objMessage.GetMessages
if isArray(allData) then
response.write ("<table border= 1>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>"&allData(icol,irow)&"</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
' uncomment the following line to write RSS feed.
'call objMessage.GetRss("Testing this RSS feature","en-us",60)
objMessage = nothing
objDB = nothing
Dim objDB as PGDDatabase, objMessage as PGDMessages, allData as object
Dim irow, iCol as Integer
objDB = new PGDDatabase
objDB.dbUser = "sa"
objDB.dbPass = "sapass"
objDB.dbName = "aspplayground_forum_db"
objDB.dbServer = "192.168.0.5"
objDB.dbOwnerPrefix = "sa."
objMessage = New PGDMessages
objMessage.DatabaseObject = objDB
objMessage.memID = 0
objMessage.forumid = "16,3,41"
objMessage.timefilter = 1000
objMessage.byassContextCheck = false
objMessage.DemoMessages
allData = objMessage.GetMessages
if isArray(allData) then
response.write ("<table border= 1>")
for irow = 0 to ubound(alldata,2)
response.write ("<tr>")
for iCol = 0 to ubound(allData,1)
response.write ("<td>"&allData(icol,irow)&"</td>")
next
response.write ("</tr>")
next
response.write ("</table>")
end if
' uncomment the following line to write RSS feed.
'call objMessage.GetRss("Testing this RSS feature","en-us",60)
objMessage = nothing
objDB = nothing