<?php
include("globals.php");
include("includes/inc.index.php");
doDB();
doLicence();
include("config.php");
include("avatars/avatars.php");
// if chat is room closed
if(!$chatroom_maintenance){
include("maintenance.php");die;
}
// check if installed ok
if(checkInstall()){
echo checkInstall();die;
}
// check software licence has been uploaded
if(checkSoftLicence()){
echo checkSoftLicence();die;
}
// run event time (if enabled)
if($enable_events && file_exists("events/index.php")){
include("events/index.php");
}
// count total active room users
$users_online = countUsersOnline();
// if chat room is full
if($users_online >= $max_users){
$room_full='1';
}
// if chat room is empty
if(!$users_online){
// clear old share files
deleteShareFiles();
// clear webcams table (if installed)
deleteWebStreams();
}
// do user register process
if($_POST && $action=='register'){
// make safe login variables
$reg_uname = str_replace("'","",$reg_uname);
$reg_uname = str_replace("/","",$reg_uname);
$reg_uname = makeSafe($reg_uname);
$reg_email = makeSafe($reg_email);
$reg_password = makeSafe($reg_password);
// check username is unique
$got_reg_username = doRegdName($reg_uname);
// if username is registered
if($got_reg_username){
$reg_username_error='1';
}
// check email is unique
$got_reg_email = doRegdEmail($reg_email);
// email is registered
if($got_reg_email){
$reg_email_error='1';
}
// if alls ok, register user
if(!$got_reg_username && !$got_reg_email){
createeCreditsUser($reg_uname,$eCredits_signup);
doRegNew($reg_uname,$reg_email,$reg_password,AVATAR_25_IMG);
$reg_success='1';
}
}
// send login details reminder email
if($_POST && $action=='lost' && $lost_uname && $lost_email){
$user_not_found = sendLostPassword($lost_uname,$lost_email);
}
// define default font color
if(!$SFC){
setcookie("SFC", $def_fontColor, time()+31536000, "/");
}
// check if remote login via CMS
if($members_only){
include("cms.php");
}
// start chat room login
if($users_online <= $max_users && $_POST && isset($doLogin) && $uname || $uname && $uid){
// reset old user session
resetUserSession();
// auto generate usernames for guests
if($guest){
$uname = C_IND3.'_'.rand(1,999999);
}
// check if username session still set
if($_SESSION['pro_chatrooms']){
$uname=$_SESSION['pro_chatrooms'];
}
// assign room name
if($_POST['room']){
$room=$_POST['room'];
}else{
$room=$_GET['room'];
}
$room = ereg_replace ("%20", " ", htmlspecialchars($room, ENT_QUOTES));
// check room exists
$room_num_rows = checkRoomExists($room);
if(!$room_num_rows){
$room='Lobby';
}
// strip aphostrophes from username
$username = str_replace("'","",$uname);
// replace badwords in username
$username = str_replace($badword_filter,$badword_replacement,$username);
// make safe login info
$username = makeSafe($username);
$password = makeSafe($password);
$room = makeSafe($room);
// get users IP
$user_ip = getUserIP();
// check for bans
$banned = checkBans($username,$user_ip);
// if user is not banned
if(!$banned){
// check for existing user session
$usession = userSessCheck($username);
// check if user is still logged in
if(!$guest && !$members_only){
$password_check="AND password='".$password."'";
}
// is user session still active?
if($_COOKIE['pro_crs']!=$usession){
$login_active = date("U")-$usr_update;
if(!$password_check){
// $logged_in = checkThisUserActive($username,$login_active);
}else{
// $logged_in = checkThisUserPassActive($username,$password_check,$login_active);
}
}
// check user is registered
$user_exists = checkThisUserPass($username,$password);
// check if user is logged in
if($logged_in){
// if user is already logged in, show login error
$login_error='1';
}else{
// login user
$start_login = date("U");
$user_session = md5(rand(1,99999).date("U"));
// assign status
$_status = '';
// admin
if(in_array(strtolower($username),$chatroom_admins)){
$_status = '1';
$assign_admin='yes';
}
// moderator
if(in_array(strtolower($username),$chatroom_moderators)){
$_status = '2';
}
// speaker
if(in_array(strtolower($username),$chatroom_speakers)){
$_status = '3';
}
// if found user
if($user_exists){
doUserExists($assign_admin,$room,$_status,$user_ip,$start_login,$user_session,$username);
doOnlineUpdate($username);
}else{
// assign gender icon
if($enable_login_genders){
if($login_gender=='0'){$avatar= AVATAR_25_IMG;}
if($login_gender=='1'){$avatar= AVATAR_98_IMG;}
if($login_gender=='2'){$avatar= AVATAR_99_IMG;}
if($login_gender=='3'){$avatar= AVATAR_100_IMG;}
}else{
$avatar= AVATAR_25_IMG;
}
// add user to database
if($members_only || $guest){
// add new user
doAddUser($room,$status,$username,$uid,$start_login,$avatar,$user_session,$user_ip);
}else{
$login_error='2';
}
}
// if no login errors so far...
if(!$login_error){
// create profile data
createUserProfile($username);
// create eCredits user
createeCreditsUser($username,$eCredits_bonus);
// reset any inactive users who didnt logout properly
resetInactiveUsers();
// reset existing messages
resetExistingMessages($room);
// reset transcripts
if($_SESSION['pro_mid']){
unset($_SESSION['pro_mid']);
}
// check user id
if(!$uid){
$uid=0;
}
// create new user session
createNewUserSession($username,$uid,$password,$user_session,$login_language);
// reset old PM requests
resetIMS($username);
// set login time
doOnlinetime($username);
// alls ok, lets display main chat room page
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $chatroom_name;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $brower_char;?>" />
<meta content="noindex, nofollow" name=ROBOTS>
<?php
if($enable_adverts && file_exists("adverts/index.php")){
$inc_adverts="68";
}else{
$inc_adverts="45";
}
if($enable_webcams && file_exists("webcams/index.php")){
// define frame size
$inc_webcams="255,";
// reset old cam streams
resetCAMS($username);
// set frame width
$frame_width = "250";
}else{
// default size
$frame_width = "225";
}
// 'hide' userlist (if disabled)
if($disable_userlist){
// set userlist to 10px
$frame_width = "10";
}
if($menu_position){
// show bottom
$umenu_width = "20";
}else{
// show left
$umenu_width = "70";
}
?>
<FRAMESET border=0 rows="<?php echo $inc_adverts;?>,100%">
<FRAME SRC="top.php?room=<?php echo $room;?>" NAME="menu" scrolling=no />
<FRAMESET border=0 name=index cols="<?php echo $umenu_width;?>,100%,<?php echo $frame_width;?>">
<FRAME SRC="menu.php" NAME="umenu" scrolling=no >
<FRAME SRC="main.php?room=<?php echo $room;?>&login=1" NAME="main" scrolling=no >
<FRAME SRC="users.php?room=<?php echo $room;?>" NAME="users" scrolling=no >
</FRAMESET>
</FRAMESET>
<NOFRAMES><?php echo C_PRIV1;?></NOFRAMES>
</head>
<body>
</body>
</html>
<?php
return;
}
}
}
}
// show login message for CMS
if($members_only){
echo C_ERR1;
return;
}
// do login
if(!$members_only && !$action){
include("templates/template.login.php");
}
// do register
if(!$members_only && $action=='register'){
include("templates/template.register.php");
}
// do lost details
if(!$members_only && $action=='lost'){
include("templates/template.lost.php");
}
?>