Файл: js/usermail.js
Строк: 261
<?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 mailReq = getXmlHttpRequestObject();
var totalMailMessages = 0;
//Gets the mail for this user
function getMail() {
// if inbox window is hidden
if(document.getElementById('myinbox').style.visibility != 'visible'){
// reset messages
document.getElementById('myinbox').innerHTML = '';
if (mailReq.readyState == 4 || mailReq.readyState == 0) {
mailReq.open("GET", 'includes/mail.php', true);
mailReq.onreadystatechange = gotMail;
mailReq.send(null);
}
}
totalMailMessages = 0;
}
//Function for handling the mail
function gotMail() {
if (mailReq.readyState == 4) {
var xmldoc = mailReq.responseXML;
var allUsers_nodes = xmldoc.getElementsByTagName("mailinbox");
var n_messages = allUsers_nodes.length;
for (i = 0; i < n_messages; i++) {
var mID_node = allUsers_nodes[i].getElementsByTagName("mid");
var mUserID_node = allUsers_nodes[i].getElementsByTagName("muserid");
var mUsername_node = allUsers_nodes[i].getElementsByTagName("musername");
var mTousername_node = allUsers_nodes[i].getElementsByTagName("mtousername");
var mMessage_node = allUsers_nodes[i].getElementsByTagName("mmessage");
var mTime_node = allUsers_nodes[i].getElementsByTagName("mtime");
var mStatus_node = allUsers_nodes[i].getElementsByTagName("mstatus");
// show message
showM(mID_node[0].firstChild.nodeValue, mUserID_node[0].firstChild.nodeValue, mUsername_node[0].firstChild.nodeValue, mTousername_node[0].firstChild.nodeValue, mMessage_node[0].firstChild.nodeValue, mTime_node[0].firstChild.nodeValue, mStatus_node[0].firstChild.nodeValue);
}
// check for new messages
gTimer = setTimeout('getMail();',refreshMails);
gTimer = 0;
}
}
//Function for displaying the mail
function showM(mID,mUserID,mUsername,mTousername,mMessage,mTime,mStatus){
// unescape message
mMessage = unescape(mMessage);
mMessage = mMessage.replace(/</gi,"<" );
mMessage = mMessage.replace(/>/gi,">" );
mMessage = mMessage.replace(/'/gi,"'" );
mMessage = mMessage.replace(/"/gi,""" );
mMessage = mMessage.replace(/%/gi,"%" );
if(!document.getElementById("mail_"+mID)){
//create div
var ni = document.getElementById('myinbox');
var newdiv = document.createElement('div');
newdiv.setAttribute("id","mail_"+mID);
newdiv.className='mymessages';
if(mStatus=='new'){
newdiv.innerHTML = "<img style='vertical-align:middle;' src=images/email.png> From: "+mUsername+"<br>Date: "+mTime+"<br><br>"+mMessage+"<br><br>";
// update mail count
totalMailMessages += 1;
// show flashing icon
document.getElementById("mailButton").style.backgroundImage ="url('images/newemail.gif')";
}else{
newdiv.innerHTML = "<img style='vertical-align:middle;' src=images/oldemail.png> From: "+mUsername+"<br>Date: "+mTime+"<br><br>"+mMessage+"<br><br>";
}
newdiv.innerHTML += "[<a href='javascript:void(0);' onClick="hideM('"+mID+"');">delete</a>] ";
newdiv.innerHTML += "[<a href='javascript:void(0);' onClick="replyM('"+mUsername+"','"+mMessage+"');">reply</a>]<br>";
ni.appendChild(newdiv);
// show total messages
document.getElementById('mailButton').innerHTML = totalMailMessages;
}
}
//Reply to mail
var setReplyMess = '';
function replyM(rUser,rMessage){
document.getElementById('sendmail').style.visibility = 'visible';
document.getElementById('send_to').value = rUser;
// toggle icon
toggleStyle(this, 'sendmail', 'sendmailButton');
}
//Delete the mail
function hideM(divmID){
if(document.getElementById("mail_"+divmID)){
// update mail count
totalMailMessages = Number(totalMailMessages) - 1;
// show total messages
document.getElementById('mailButton').innerHTML = totalMailMessages;
var d = document.getElementById('myinbox');
var olddiv = document.getElementById("mail_"+divmID);
d.removeChild(olddiv);
dOldMail(divmID);
}
}
//Define XmlHttpRequest
var delMailReq = getXmlHttpRequestObject();
//Add a message to the chat server.
function dOldMail(delMID) {
var param = '?';
param += '&uref=' + chatRef;
param += '&uname=' + chatName;
param += '&uid=' + chatID;
param += '&uaction=delmail';
param += '&uroom=' + room;
param += '&umessage=';
param += '&uXX=' + dest_x;
param += '&uYY=' + dest_y;
param += '&umailID=' + delMID;
// if ready to send message to DB
if (delMailReq.readyState == 4 || delMailReq.readyState == 0) {
delMailReq.open("POST", 'includes/sendData.php', true);
delMailReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
delMailReq.onreadystatechange = handleSendDelMail;
delMailReq.send(param);
}
}
//When our message has been sent, update our page.
function handleSendDelMail() {
//Clear out the existing timer so we don't have
//multiple timer instances running.
clearInterval(mTimer);
}
//Define XmlHttpRequest
var readMailReq = getXmlHttpRequestObject();
//Add a message to the chat server.
function readOldMail() {
// if inbox window is visible
if(document.getElementById('myinbox').style.visibility != 'hidden'){
var param = '?';
param += '&uref=' + chatRef;
param += '&uname=' + chatName;
param += '&uid=' + chatID;
param += '&uaction=readmail';
param += '&uroom=' + room;
param += '&umessage=';
param += '&uXX=' + dest_x;
param += '&uYY=' + dest_y;
// if ready to send message to DB
if (readMailReq.readyState == 4 || readMailReq.readyState == 0) {
readMailReq.open("POST", 'includes/sendData.php', true);
readMailReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
readMailReq.onreadystatechange = handleSendReadMail;
readMailReq.send(param);
}
}
}
//When our message has been sent, update our page.
function handleSendReadMail() {
//Clear out the existing timer so we don't have
//multiple timer instances running.
clearInterval(mTimer);
}
?>