")
else
RESPONSE.WRITE("
")
end if
call drawComment(rs.Fields("comment_id").value)
RESPONSE.WRITE("
")
count = count + 1
rs.MoveNext
loop
RESPONSE.WRITE("
View all site comments")
rs.close
end sub
' 2007.01.07 draw a comment given a comment id.
sub drawComment(comment_id)
rsp.Open "Select * FROM COMMENTS where comment_id = " & comment_id , conn
RESPONSE.WRITE("
On " & createDateString(rsp.Fields("date_created").value))
RESPONSE.WRITE(" " & rsp.Fields("user_name").value & " wrote:")
RESPONSE.WRITE("
" & rsp.Fields("body").value)
if rsp.Fields("deleted").value = "1" then
RESPONSE.WRITE("
COMMENT DELETED BY ADMIN")
end if
' Draw button to allow admin user to delete this post.
if canCreateModPost() = 1 then
dim back_url
back_url = curPageURLWithVariables()
%>
<%
end if
if canCreateModPost() = 1 then
dim delPostUrl
delPostUrl = "action.asp?action=delete_comment&object_id=" & comment_id
RESPONSE.WRITE("
DELETE POST")
end if
'RESPONSE.WRITE("
?" & rsp.Fields("comment_id").value)
'RESPONSE.WRITE("
?" & rsp.Fields("post_id").value)
'RESPONSE.WRITE("
?" & rsp.Fields("user_id").value)
'RESPONSE.WRITE("
?" & rsp.Fields("user_name").value)
'RESPONSE.WRITE("
?" & rsp.Fields("body").value)
'RESPONSE.WRITE("
?" & createDateString(rsp.Fields("date_created").value))
'RESPONSE.WRITE("
?" & rsp.Fields("deleted").value)
rsp.close
end sub
' 2007.01.07 Draw form used for submitting comments.
' if the global variable g_enableComments is false then it displays
' a message instead.
sub drawCommentPostingForm(post_id, parent_type)
dim back_url
back_url = curPageURLWithVariables()
if g_enableComments <> true then
RESPONSE.WRITE("
Comment posting is currently disabled.")
else
RESPONSE.WRITE("
Post a comment:")
%>
<%
end if
end sub
sub updateTagCountForAllTags
dim sql
sql = "Select distinct tag_string FROM TAGS"
sql = sql & " where deleted <> '1' and object_type='IMAGE'"
rs.Open sql, conn
if rs.EOF then
RESPONSE.WRITE("
updateTagCountForAllTags: No tags found.")
rs.close
exit sub
end if
do until rs.EOF
call updateTagCount(rs.Fields("tag_string").value, "IMAGE")
rs.MoveNext
loop
rs.close
end sub
sub updateTagCount(tag_string, object_type)
dim sql
sql = "SELECT count(tag_string) as tag_count FROM TAGS where tag_string='" & tag_string & "'"
sql = sql & " and object_type='" & object_type & "'"
'RESPONSE.WRITE("
sql: " & sql)
rsp.Open sql, conn
if rsp.eof then
'RESPONSE.WRITE("
no Tags found for string:" & tag_string)
rsp.close
exit sub
end if
dim num_rows
num_rows = rsp.Fields("tag_count").value
'RESPONSE.WRITE("
tag_count = " & rsp.Fields("tag_count").value & " for: " & tag_string)
rsp.close
' Now determine if a row exists in TAG_COUNT for the tag.
sql = "select 1 from TAG_COUNT where tag_string='" & tag_string & "'"
sql = sql & " and object_type='" & object_type & "'"
rsp.Open sql, conn
dim row_exists
if rsp.eof then
RESPONSE.WRITE("
No TAG_COUNT row found for string:" & tag_string)
row_exists = 0
else
RESPONSE.WRITE("
TAG_COUNT row found for string:" & tag_string)
row_exists = 1
end if
rsp.close
' Update or insert tag count row.
if row_exists = 0 then
sql = "insert into TAG_COUNT (tag_string, object_type, tag_count)"
sql = sql & " values ('" & tag_string & "','" & object_type & "'," & num_rows & ")"
RESPONSE.WRITE("
SQL: " & sql)
conn.Execute sql
end if
if row_exists = 1 then
sql = "update TAG_COUNT set tag_count=" & num_rows
sql = sql & " where tag_string='" & tag_string & "' and object_type='" & object_type & "'"
RESPONSE.WRITE("
SQL: " & sql)
conn.Execute sql
end if
'insert into TAG_COUNT (tag_string, object_type, count) values ( 'imogen','IMAGE', 22)
end sub
%>
<%
' Page constants
const numLinks = 15 ' number of new links to display
const numNews = 5 ' number of news items to display
const numNewImages = 18 ' number of new images to display
dim passedInID
passedInID = 0
call detectPassedInID
%>
<%
' Connect to database.
call databaseConnect(SERVER)
'set conn=Server.CreateObject("ADODB.Connection")
'conn.Provider="Microsoft.Jet.OLEDB.4.0"
'conn.Open(Server.Mappath("..\private\maindb.mdb"))
set rs = SERVER.CREATEOBJECT("ADODB.recordset")
set rsp = SERVER.CREATEOBJECT("ADODB.recordset") ' used for individual posts
set rsname = SERVER.CREATEOBJECT("ADODB.recordset") ' Used to get username from user id
%>
<% call drawHeader %>
<%
if passedInID = 0 then
%>
Latest Posts
<%
call drawNews
else
%>
<%
call drawPost(passedInID)
call drawComments(passedInID, "POST")
' Handle comment posting
call drawCommentPostingForm(passedInID, "POST")
end if
%>
<%
' *** FUNCTIONS ***
function getNameFromID_removed(user_id)
rsname.Open "Select * FROM USERS where user_id = " & user_id , conn
getNameFromID = rsname.Fields("user_name").value
rsname.close
end function
function detectPassedInID
passedInID = request.querystring("post_id")
end function
sub drawPost_removed(post_id)
rsp.Open "Select * FROM POSTS where post_id = " & post_id , conn
'rsname.Open "Select * FROM USERS where user_id = " & rsp.Fields("user_id").value , conn
dim editUrl
dim bodyFixed
dim userName
userName = getNameFromID(rsp.Fields("user_id").value)
editUrl = "editpost.asp?post_id=" & post_id
bodyFixed = convertSpecialCharacters(rsp.Fields("body").value)
RESPONSE.WRITE("
" & rsp.Fields("heading").value & "" )
RESPONSE.WRITE("
" & bodyFixed & "
")
%>
<%
RESPONSE.WRITE(" posted by " & userName )
RESPONSE.WRITE(" on " & rsp.Fields("date_created").value)
if canEditPost(rsp.Fields("user_id").value) = 1 then
%>
[edit] <%
end if
%>
<%
rsp.close
'rsname.close
end sub
sub drawEditorial
' Create the Editorial recordset
rs.Open "Select * FROM POSTS where type_id = 2 ORDER BY date_created DESC", conn
if rs.EOF then
RESPONSE.WRITE("ERROR: No editorial posts to display.")
else
' Draw one editorial item.
call drawPost(rs.Fields("post_id").value)
end if
rs.close
end sub
sub drawNews
' Create the NEWS recordset
dim sql
sql = "Select * FROM POSTS where type_id = 1"
sql = sql & " AND deleted = '0'"
sql = sql & " ORDER BY date_created DESC"
rs.Open sql, conn
dim count
do until rs.EOF
if count
'1'"
sql = sql & "ORDER BY date_created DESC"
rsp.Open sql, conn
if rsp.EOF then
RESPONSE.WRITE("
Image not found")
rsp.close
exit sub
end if
dim filename
dim linkText ' Used to construct the image link.
dim columnCount
dim filenameStack ' String with all filenames added
dim count
filenameStack = "."
RESPONSE.WRITE("
")
do until rsp.EOF
if count")
end if
' Extract image details from record.
filename = rsp.Fields("filename").value
'filenameStack
' Check if similar named filename has been displayed already
if instr(filenameStack,Left(filename,6)) = 0 then
filenameStack = filenameStack + filename ' Add filename to the combined name string.
linkText = "gallery.asp?image_name=" & filename
RESPONSE.WRITE(" ")
RESPONSE.WRITE("")
RESPONSE.WRITE(" ")
RESPONSE.WRITE("")
RESPONSE.WRITE(" | ")
columnCount = columnCount + 1
if columnCount = 3 then ' 3 columns
columnCount = 0
RESPONSE.WRITE("")
end if
count = count + 1
end if
end if
rsp.MoveNext
loop
RESPONSE.WRITE("
")
rsp.close
end sub
%>