%
'
' $Id: default.asp,v 1.2 2002/11/03 16:48:34 peter Exp $
'
' This page is the main entrace for ConquerChat. It shows a list of currently
' logged in chatusers and makes it possible to log in by entering your user-
' name in the appropriate field.
'
' @author Peter Theill peter@theill.com
'
Option Explicit
Response.Buffer = True
%>
<%
' many users does not read the included README.TXT file before trying to
' set up this chat -- in order to help them a bit we check if we have the
' required objects properly initialised
On Error Resume Next
If (NOT IsObject(conquerChatUsers) OR NOT IsObject(conquerChatRooms)) Then
Response.Redirect("errorInSetup.asp")
Response.End
End If
Dim userId
userId = Request("userId")
' do not show login screen if a valid session exists
If (userId <> "") Then
Response.Redirect "frames.asp?userId=" & userId
Response.End
End If
Dim mode, errorMessage
mode = Request("mode")
If (mode = "userLogin") Then
Dim userName
userName = Server.HTMLEncode(Request("username"))
If (countUsers() >= USERS) Then
errorMessage = getMsg("error.maximum_users_reached")
ElseIf (Len(userName) = 0) Then
errorMessage = getMsg("error.missing_username")
ElseIf (Len(userName) > MAX_USERNAME_LENGTH) Then
errorMessage = getMsg("error.username_length_exceeded", MAX_USERNAME_LENGTH)
ElseIf (userExists(userName)) Then
errorMessage = getMsg("error.username_in_use")
ElseIf (NOT isValidUsername(userName)) Then
errorMessage = getMsg("error.invalid_username")
ElseIf (isUserNameBlocked(userName)) Then
errorMessage = getMsg("error.username_blocked")
Else
Dim p
Set p = New Person
p.id = -1
p.name = userName
p.roomId = 0
p.ipAddress = Request.ServerVariables("REMOTE_ADDR")
' we have a new chat user thus we need to create a new
' id for him/her
Set p = addUser(p)
' tell all other users about this new user
Call addMessage( _
p.id, _
"-1", _
" " & getMsg("user.logged_on", p.name, Now()) & " " _
)
' redirect to new frame window and create a new user login
Response.Redirect("frames.asp?userId=" & p.id)
Response.End
End If
End If ' > If (mode = "userLogin") Then
' make sure we don't show any inactive users for new chat users
kickInactiveUsers()
If (conquerChatRooms.Count = 0) Then
setupRooms()
End If
%>
<%= APPLICATION_NAME %>
<% If (Len(errorMessage) > 0) Then %>
<%
' display all users and their associated rooms
Dim user, room_
For Each userId In conquerChatUsers
Set user = getUser(userId)
Set room_ = getRoom(user.roomId)
If (room_ Is Nothing) Then
Set room_ = New Room
room_.name = "N/A"
End If
Response.Write("
[This is the development version of ConquerChat -- you are able to log on to test the features of it but errors might occur since I'm working
directly on this one. This chat may not show the exact downloadable source
either since I might be in the progress of developing additional
features. If you're interested in getting the free ASP source code
for this chat, visit the ConquerChat section where you're able to download all versions.]