Вход Регистрация
Файл: js/userlist.js
Строк: 727
<?php
/**

 Author: Pro Chatrooms
 Software: Avatar Chat
 Url: http://www.prochatrooms.com
 Copyright 2007-2010 All Rights Reserved

 Avatar Chat and all of its source code/files are protected by Copyright Laws. 
 The license for Avatar Chat permits you to install this software on a single domain only (.com, .co.uk, .org, .net, etc.). 
 Each additional installation requires an additional software licence, please contact us for more information.
 You may NOT remove the copyright information and credits for Avatar Chat unless you have been granted permission. 
 Avatar Chat is NOT free software - For more details http://www.prochatrooms.com/software_licence.php

**/


    //Define XmlHttpRequest
    
var receiveULReq = getXmlHttpRequestObject();

    
//Update user
    
var updateUser = '';

    
//Gets the usersonline
    
function getUsersOnline() {
        if (
receiveULReq.readyState == 4 || receiveULReq.readyState == 0) {
            
receiveULReq.open("GET", 'includes/userlistData.php?roomID='+room, true);
            
receiveULReq.onreadystatechange = handleUsersOnline; 
            
receiveULReq.send(null);
        }
            
    }

    
//Function for handling the users online
    
function handleUsersOnline() {

        if (
receiveULReq.readyState == 4) {

            var 
xmldoc = receiveULReq.responseXML;
            var 
allUsers_nodes = xmldoc.getElementsByTagName("userdetails"); 
            var 
n_users = allUsers_nodes.length;

            for (
i = 0; i < n_users; i++) {

                var 
uids_node = allUsers_nodes[i].getElementsByTagName("uids");
                var 
userid_node = allUsers_nodes[i].getElementsByTagName("userids");
                var 
user_node = allUsers_nodes[i].getElementsByTagName("usernames");
                var 
avatar_node = allUsers_nodes[i].getElementsByTagName("useravatars");
                var 
avatarx_node = allUsers_nodes[i].getElementsByTagName("useravatarx");
                var 
avatary_node = allUsers_nodes[i].getElementsByTagName("useravatary");
                var 
webcam_node = allUsers_nodes[i].getElementsByTagName("userwebcams");
                var 
isguest_node = allUsers_nodes[i].getElementsByTagName("userguests");
                var 
isadmin_node = allUsers_nodes[i].getElementsByTagName("useradmins");
                var 
isvip_node = allUsers_nodes[i].getElementsByTagName("uservip");

                var 
love_node = allUsers_nodes[i].getElementsByTagName("ulove");
                var 
like_node = allUsers_nodes[i].getElementsByTagName("ulike");
                var 
star_node = allUsers_nodes[i].getElementsByTagName("ustar");

                var 
online_node = allUsers_nodes[i].getElementsByTagName("useronlines");

                
showUsers(uids_node[0].firstChild.nodeValue, userid_node[0].firstChild.nodeValue, user_node[0].firstChild.nodeValue, avatar_node[0].firstChild.nodeValue, avatarx_node[0].firstChild.nodeValue, avatary_node[0].firstChild.nodeValue, webcam_node[0].firstChild.nodeValue, online_node[0].firstChild.nodeValue, love_node[0].firstChild.nodeValue, like_node[0].firstChild.nodeValue, star_node[0].firstChild.nodeValue, isguest_node[0].firstChild.nodeValue, isadmin_node[0].firstChild.nodeValue, isvip_node[0].firstChild.nodeValue);

            }

            
uTimer = setTimeout('getUsersOnline();',refreshUsers);

            
//Clear out the existing timer so we don't have 
            //multiple timer instances running.
            //clearInterval(uTimer);

            
uTimer = '0';

        }

    }

    
//show users avatars
    
function showUsers(dUid,dUserid, dUname,dAvatar,dAvatarx,dAvatary,dWebcam,dOffline,dlove,dlike,dstar,dGuest,dAdmin,dVip){

        
// do user offline
        
if(dOffline < '1'){

            
hideUsers(dUid);    

        }else{

            
// create new user avatar

            
dAvatar = dAvatar.split("|");

            if(!
document.getElementById(dUid)){

                var 
isSTATUS = '';

                
// VIP - yellow

                
var isSTATUS = '<font color=#ffff33>' + dUname + '</font>';

                
// Guest - green

                
if(dVip !=1){

                    var 
isSTATUS = '<font color=#33ff66>' + dUname + '</font>';

                }

                
// Admin - red

                
if(dAdmin==1){

                    var 
isSTATUS = '<font color=#ff0033>' + dUname + '</font>';

                }

                
//create div
                
var ni = document.getElementById('chatscreen');
                var 
newdiv = document.createElement('div');
                
newdiv.setAttribute("id",dUid);
                
newdiv.className='';
                
newdiv.innerHTML  = "<div id='l"+dUid+"myMessage' class='myMessage' style='top: "+dAvatary+"px; left: "+dAvatarx+"px;'></div>";
                
newdiv.innerHTML += "<div id='"+dUid+"myMessage' class='myMessage' style='top: "+dAvatary+"px; left: "+dAvatarx+"px;'></div>";
                
newdiv.innerHTML += "<div id='r"+dUid+"myMessage' class='myMessage' style='top: "+dAvatary+"px; left: "+dAvatarx+"px;'></div>";

                
newdiv.innerHTML += "<div id='"+dUid+"myAvatar' class='myAvatar' style='top: "+dAvatary+"px; left: "+dAvatarx+"px; position:absolute; width:70px; height:140px; cursor:pointer;'><center><span style='cursor:pointer;' onclick=showUserDetails('"+dUid+"','"+dUname+"','"+dAvatary+"','"+dAvatarx+"','"+dAdmin+"');><b>"+isSTATUS+"</b></span><br><span class="span"><img id="base" src=""+dAvatar[1]+"" height="140" width="70"></span><span class="span"><img id="bottoms" src=""+dAvatar[2]+"" height="140" width="70"></span><span class="span"><img id="eyes" src=""+dAvatar[3]+"" height="140" width="70"></span><span class="span"><img id="hair" src=""+dAvatar[4]+"" height="140" width="70"></span><span class="span"><img id="beard" src=""+dAvatar[5]+"" height="140" width="70"></span><span class="span"><img id="mouth" src=""+dAvatar[6]+"" height="140" width="70"></span><span class="span"><img id="shoes" src=""+dAvatar[7]+"" height="140" width="70"></span><span class="span"><img id="tops" src=""+dAvatar[8]+"" height="140" width="70"></span><span class="span"><img id="accessories" src=""+dAvatar[9]+"" height="140" width="70"></span><span class="span"><img id="trans" src="avatars/nopic.png" height="140" width="70" onclick=showUserDetails('"+dUid+"','"+dUname+"','"+dAvatary+"','"+dAvatarx+"','"+dAdmin+"');></span></center></div>";
                
ni.appendChild(newdiv);

                
document.getElementById('l'+dUid+'myMessage').style.visibility="hidden";
                
document.getElementById(''+dUid+'myMessage').style.visibility="hidden";
                
document.getElementById('r'+dUid+'myMessage').style.visibility="hidden";

            }

        }

        
//Get users avatar posistion
        
if(document.getElementById(dUid+'myAvatar')){

            
// get the existing avatar div pos
            
var _x = document.getElementById(dUid+"myAvatar").offsetLeft; // x axis
            
var _y = document.getElementById(dUid+"myAvatar").offsetTop; // y axis
            
            // create buffer
            
if(dAvatarx < (_x-30) || dAvatarx > (_x+30) || dAvatary < (_y-30) || dAvatary > (_y+30)){

                
moveUImage(dUid,dAvatary,dAvatarx,_x,_y);

            }

        }



    }

    
//Move the users avatar to new posistion
    
function moveUImage(dUid,dAvatary,dAvatarx,_x,_y) {

        
//Keep on moving the image till the target is achieved

        
if(_x<dAvatarx) _x = _x + interval; 
        if(
_y<dAvatary) _y = _y + interval;
        if(
_x>dAvatarx) _x = _x - interval; 
        if(
_y>dAvatary) _y = _y - interval;

        
//Update the avatar

        
document.getElementById(dUid+"myAvatar").style.top  = _y+'px';
        
document.getElementById(dUid+"myAvatar").style.left = _x+'px';

        
// add padding

        
document.getElementById(dUid+"myMessage").style.padding="4px";

        
//Default pos
        
var _posShowX = 20;
        var 
_posShowXX = 15;

        
//Reverse speech bubble if user is too far right

        
if(_x > 400){

            
// move speech bubble left 
            
_posShowX = 20 - document.getElementById(dUid+"myMessage").clientWidth;

            
// set padding
            
document.getElementById(dUid+"myMessage").style.paddingLeft="10px";
            
document.getElementById(dUid+"myMessage").style.paddingRight="0px";

            
// reverse speech bubble
            
var _doRe = 1;

            
// assign xx value
            
_posShowXX = 5;

        }else{

            
// set padding
            
document.getElementById(dUid+"myMessage").style.paddingLeft="0px";
            
document.getElementById(dUid+"myMessage").style.paddingRight="10px";

            
// default speech bubble
            
var _doRe = 0;

        }

        
//Assign the speech bubble posistioning

        
_yy = _y - 50;
        
_xx = _x + _posShowX;

        
//Update the speech bubble location

        
document.getElementById(dUid+"myMessage").style.paddingTop="11px";
        
document.getElementById(dUid+"myMessage").style.paddingRight="10px";
        
document.getElementById(dUid+"myMessage").style.left = _xx+'px';
        
document.getElementById(dUid+"myMessage").style.top  = _yy+'px';
        
document.getElementById(dUid+"myMessage").style.height = '30px';
        
document.getElementById(dUid+"myMessage").style.background="url(images/sp2.png)";

        
//assign left div

        
_yyy = _y - 50;
        
_xxx = _xx - _posShowXX;

        
document.getElementById('l'+dUid+'myMessage').style.left = _xxx+'px';
        
document.getElementById('l'+dUid+'myMessage').style.top  = _yyy+'px';

        if(
_doRe==0){
            
document.getElementById('l'+dUid+'myMessage').style.height = '48px';
            
document.getElementById('l'+dUid+'myMessage').style.width = '16px';
            
document.getElementById('l'+dUid+'myMessage').style.background="url(images/sp1.png)";
        }else{
            
document.getElementById('l'+dUid+'myMessage').style.height = '43px';
            
document.getElementById('l'+dUid+'myMessage').style.width = '6px';
            
document.getElementById('l'+dUid+'myMessage').style.background="url(images/sp3rev.png)";
        }

        
// assign right div

        //set posistion for right speech bubble
        
setRightSpeech = document.getElementById(dUid+"myMessage").clientWidth;

        
_yyyy = _y - 50;
        
_xxxx = _xx + setRightSpeech;

        
document.getElementById('r'+dUid+'myMessage').style.left = _xxxx+'px';
        
document.getElementById('r'+dUid+'myMessage').style.top  = _yyyy+'px';

        if(
_doRe==0){
            
document.getElementById('r'+dUid+'myMessage').style.height = '43px';
            
document.getElementById('r'+dUid+'myMessage').style.width = '6px';
            
document.getElementById('r'+dUid+'myMessage').style.background="url(images/sp3.png)";
        }else{
            
document.getElementById('r'+dUid+'myMessage').style.height = '48px';
            
document.getElementById('r'+dUid+'myMessage').style.width = '16px';
            
document.getElementById('r'+dUid+'myMessage').style.background="url(images/sp1rev.png)";
        }

        if ((
_x+interval < dAvatarx) || (_y+interval < dAvatary) || (_x-interval > dAvatarx) || (_y-interval > dAvatary)) {

            
//Keep on calling this function every 100 microsecond 
            //till the target location is reached

            
avatarDiv = dUid;
            
avatary = dAvatary;
            
avatarx = dAvatarx;
            
_x_ = _x;
            
_y_ = _y;

            
window.setTimeout('moveUImage(avatarDiv,avatary,avatarx,_x_,_y_)',100);

        }

    }

    
//Remove inactive users
    
function hideUsers(divUID){

        if(
document.getElementById(divUID)){

            var 
d = document.getElementById('chatscreen');
            var 
olddiv = document.getElementById(divUID);
            
d.removeChild(olddiv);

        }

    }

    
//show user details (options window)
    
function showUserDetails(dUid,dUser,dY,dX,dAdmin){

        
//set this user details
        
updateUser = dUser;

        
//update votes
        
updateUserPoints();

        
// get the existing avatar div pos
        
var dx = document.getElementById(dUid+"myAvatar").offsetLeft; // x axis
        
var dy = document.getElementById(dUid+"myAvatar").offsetTop; // y axis

        
if(dx<600){

            var 
dXX = Number(dx) + 50;

        }else{

            var 
dXX = Number(dx) - 210;

        }
        
        
//build aboutme box
        
document.getElementById('userdetails').style.left = dXX+'px';
        
document.getElementById('userdetails').style.top  = dy+'px';
        
document.getElementById('userdetails').style.padding="2px";

        
//add data
        
document.getElementById('userdetails').innerHTML  = "<span class='userinfo' onClick="toggleBox('userdetails')">Name: "+dUser+" [x]</span><br>";
        
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="sendVote('love', '"+dUid+"','"+dUser+"');toggleBox('userdetails');"><img id='love' style='cursor:pointer;vertical-align:middle;padding-top:4px;' src=images/heart_add.png><span id='lovepts'>0</b></span></span>&nbsp;";
        
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="sendVote('like', '"+dUid+"','"+dUser+"');toggleBox('userdetails')"><img id='thumbsup' style='cursor:pointer;vertical-align:middle;padding-top:4px;' src=images/thumbs_up_add.png><span id='likepts'>0</b></span></span>&nbsp;";
        
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="sendVote('star', '"+dUid+"','"+dUser+"');toggleBox('userdetails')"><img id='star' style='cursor:pointer;vertical-align:middle;padding-top:4px;' src=images/star_add.png><span id='starpts'>0</b></span></span>&nbsp;<br>";

        
//assign profile url
        
if(chatProfileID == '0'){

            var 
userProfileUrl = chatProfileUrl+dUser;

        }else{

            var 
userProfileUrl = chatProfileUrl+dUid.replace(/_/gi,"");

        }

        
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="window.open('"+userProfileUrl+"','"+dUid+"')"><img id='profile' style='cursor:pointer;vertical-align:middle;padding-top:4px;' src=images/zoom.png> View Profile</span></br>";

        if(
chatMemberLevel == 1){

            
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="doWhisper('"+dUser+"')"><img id='pchat' style='cursor:pointer;vertical-align:middle;padding-top:4px;' src=images/private_chat.png> Private Chat</span></br>";

        }else{

            
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="grayOut(true);showVIP();"><img id='pchat' style='cursor:pointer;vertical-align:middle;padding-top:4px;' src=images/private_chat.png> Private Chat</span></br>";

        }

        
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="toggleBox('userdetails');reqFriend('"+dUid+"','"+dUser+"')"><img id='useradd' style='cursor:pointer;vertical-align:middle;padding-top:4px;' src=images/user_add.png> Add to Friends</span></br>";

        
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="toggleBox('userdetails');showInteractionWindow('"+dUser+"');"><img id='useradd' style='cursor:pointer;vertical-align:middle;padding-top:4px;' src=images/iaction.png> Send Interaction</span></br>";

        
// check if user is trying to block room owner
        
var getThisUserID = "-"+dUid.replace(/_/gi,"");

        if(
getThisUserID == room || dAdmin > 0){

            
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="alert('you cannot block admins or room owners')"><img id='block' style='vertical-align:middle;padding-top:4px;' src=images/block.png> Block User</span>";

        }else{

            
document.getElementById('userdetails').innerHTML += "<span class='userinfo' onClick="blockUser('"+dUid+"','"+dUser+"')"><img id='block' style='vertical-align:middle;padding-top:4px;' src=images/block.png> Block User</span>";

        }

        if(
toWhisper != dUser){

            
document.getElementById('pchat').src="images/private_chat.png";

        }else{

            
// document.getElementById('pchat').src="images/private_chat_on.png";

        
}        

        
// get the existing avatar div pos
        
dest_x = document.getElementById("_a_myAvatar").offsetLeft; // x axis
        
dest_y = document.getElementById("_a_myAvatar").offsetTop; // y axis

        
toggleBox('userdetails');

        
moveAvatar = '0';

    }

    
//hide user details
    
function hideUserDetails(){

        
//document.getElementById('userdetails').style.visibility='hidden';

    
}

    
//show interaction window
    
function showInteractionWindow(toUser){

        
// reset custom interaction
        
document.getElementById('custom_interaction').value ="";

        
// grey out bg
        
grayOut(true);
        
        
// show indow
        
document.getElementById('avatarInteraction').style.visibility="visible";        

        
// assign to user name
        
document.getElementById('avatarInteractionID').value = toUser;

        
// pause avatar
        
moveAvatar = '0';

    }

    
//hide avatar interaction window
    
function hideInteractionWindow(){

        
// ungrey background
        
grayOut(false);

        
// hide window
        
document.getElementById('avatarInteraction').style.visibility="hidden";

        
// unset interaction message
        
document.getElementById('message').value = "";

        
// pause avatar
        
moveAvatar = '0';

    }

    
//send avatar interaction

    
var isSystemMessage = '0';
    function 
sendInteraction(){

        var 
interactionToUser = document.getElementById('avatarInteractionID').value;

        for (var 
i=0; i < document.doInteraction._interaction.length; i++){

               if (
document.doInteraction._interaction[i].checked){

                      var 
iAction = cInteraction(document.doInteraction._interaction[i].value);
                  }
           }

           
// check for custom interaction
             
whSpc = new RegExp(/^s+$/);

             if (
document.getElementById('custom_interaction').value && whSpc.test(document.getElementById('custom_interaction').value)) {
                  
alert('invalid interaction');
                  return 
false;
             }

        if(
document.getElementById('custom_interaction').value){

            var 
iAction = document.getElementById('custom_interaction').value;

        }

        
// do interaction message
        
document.getElementById('message').value = "** "+chatName+" "+iAction+" "+interactionToUser+"! **";

        
// set system message
        
isSystemMessage = '1';

        
// send message
        
showTxt();

        
// hide window
        
hideInteractionWindow();

        
// pause avatar
        
moveAvatar = '0';

    }

    
//whisper to user

    
var toWhisper = '';
    var 
sessionWhisper = '0';
    var 
inWhisper = '';

    function 
doWhisper(toUser){

        
toWhisper = toUser;

        
//change private chat icon
        //document.getElementById('pchat').src="images/private_chat_on.png";

        //hide aboutme
        
document.getElementById('userdetails').style.visibility='hidden';

        
//create private window
        
createPChatWindow("_"+chatName.toLowerCase()+toWhisper.toLowerCase()+"_",toWhisper.toLowerCase());

        
// hide any open chat windows

        
activeChatWindow();

        
showChatWindow("_"+chatName.toLowerCase()+toWhisper.toLowerCase()+"_",toWhisper.toLowerCase());


    }

    
//Logout user
    
function logOut() {

        
//redirect to index
        
window.location = "?do=logout";

    }

    
//Load room
    
function loadRoom(theRoom) {

        if(
room == theRoom && editAvatar != 1){

            
grayOut(false);

            
document.getElementById('myrooms').style.visibility="hidden";

            
// pause avatar
            
moveAvatar = '0';

            
// rest editAvatar
            
editAvatar = 0;

            return 
false;

        }

        
// pause avatar
        
moveAvatar = '0';

        
//redirect to index
        
window.location = "?rID="+theRoom;

    }

    
//Get Avatar
    
function getAvatar() {

        
//redirect to avatar creator
        
window.open ("http://www.doppleme.com/","doppleme");

    }
?>
Онлайн: 2
Реклама