Current Craftysyntax > Craftysyntax2.12.7 / Admin Chat Xmlhttp.php

Questions? Need Help? Want to share? » PHP Forum
Script Name:
Current Craftysyntax

Download:
current-craftysyntax.zip

Category:
Customer Support

Archive Content:

Craftysyntax2.12.7

Craftysyntax2.12.7 > Chat Smiles

Craftysyntax2.12.7

Craftysyntax2.12.7 > Class

Craftysyntax2.12.7

Craftysyntax2.12.7 > Images

Craftysyntax2.12.7 > Images > Blue

Craftysyntax2.12.7 > Images

Craftysyntax2.12.7 > Images > Brown

Craftysyntax2.12.7 > Images

Craftysyntax2.12.7 > Images > White

Craftysyntax2.12.7 > Images

Craftysyntax2.12.7 > Images > Yellow

Craftysyntax2.12.7

Craftysyntax2.12.7 > Javascript > Dynapi

Craftysyntax2.12.7 > Javascript > Dynapi > Js

Craftysyntax2.12.7 > Javascript > Dynapi

Craftysyntax2.12.7 > Javascript

Craftysyntax2.12.7 > Lang

Craftysyntax2.12.7

Craftysyntax2.12.7 > Layer Invites

Craftysyntax2.12.7

Craftysyntax2.12.7 > README FILES

Craftysyntax2.12.7

Admin Chat Xmlhttp.php:


<?php
//===========================================================================
//* --    ~~                Crafty Syntax Live Help                ~~    -- *
//===========================================================================
//           URL:   http://www.craftysyntax.com/    EMAIL: ericg <at> craftysyntax <dot> com
//         Copyright (C) 2003-2005 Eric Gerdes   (http://www.craftysyntax.com )
// --------------------------------------------------------------------------
// $              CVS will be released with version 3.1.0                   $
// $    Please check http://www.craftysyntax.com/ or REGISTER your program for updates  $
// --------------------------------------------------------------------------
// NOTICE: Do NOT remove the copyright and/or license information any files. 
//         doing so will automatically terminate your rights to use program.
//         If you change the program you MUST clause your changes and note
//         that the original program is Crafty Syntax Live help or you will 
//         also be terminating your rights to use program and any segment 
//         of it.        
// --------------------------------------------------------------------------
// LICENSE:
//     This program is free software; you can redistribute it and/or
//     modify it under the terms of the GNU General Public License
//     as published by the Free Software Foundation; 
//     This program is distributed in the hope that it will be useful,
//     but WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//     GNU General Public License for more details.
//
//     You should have received a copy of the GNU General Public License
//     along with this program in a file named LICENSE.txt .
// --------------------------------------------------------------------------  
// BIG NOTE:
//     At the time of the release of this version of CSLH,  Version 3.1.0 
//     which is a more modular,  extendable ,  “skinable” version of CSLH
//     was being developed.. please visit http://www.craftysyntax.com to see if it was released! 
//===========================================================================
require_once("admin_common.php");

validate_session($identity);

if(
$serversession)
   
session_write_close();
   
// get the info of this user.. 
$query "SELECT * FROM livehelp_users WHERE sessionid='".$identity['SESSIONID']."'";    
$people $mydatabase->query($query);
if(
$people->numrows() != 0){
 
$people $people->fetchRow(DB_FETCHMODE_ASSOC);
 
$UNTRUSTED['myid'] = $people['user_id'];
 
$operator_id $UNTRUSTED['myid'];
 
$channel $people['onchannel'];
}  
  
$jsrn get_jsrn($identity);

if(!(isset(
$UNTRUSTED['cleartonow']))){ $UNTRUSTED['cleartonow'] = ""; }
if(!(isset(
$UNTRUSTED['offset']))){ $UNTRUSTED['offset'] = ""; }
if(!(isset(
$UNTRUSTED['clear']))){ $UNTRUSTED['clear'] = ""; }
if(!(isset(
$UNTRUSTED['channel']))){ $UNTRUSTED['channel'] = 0; }
if(!(isset(
$UNTRUSTED['myid']))){ 
     
$UNTRUSTED['myid'] = 0
} else {
     
$myid intval($UNTRUSTED['myid']);
}
if(!(isset(
$UNTRUSTED['see']))){ 
    
$see ""
} else {
  
$see intval($UNTRUSTED['see']);    
}
if(!(isset(
$UNTRUSTED['starttimeof']))){ $UNTRUSTED['starttimeof'] = 0; }


if(!(empty(
$UNTRUSTED['setchattype']))){
 
$query "UPDATE livehelp_users SET chattype='xmlhttp' WHERE sessionid='".$identity['SESSIONID']."'";    
 
$mydatabase->query($query);
}

$timeof date("YmdHis");
$timeof_load $timeof;
$prev mktime date("H"),  date("i")-30,  date("s"),  date("m"),  date("d"),  date("Y") );
$oldtime date("YmdHis", $prev);
 
if((
$CSLH_Config['use_flush'] == "no") || ($UNTRUSTED['offset'] != "")){ $timeof $oldtime; }
if(
$UNTRUSTED['clear'] == "now"){
  
// get the timestamp of the last message sent on this channel.
  
$query "SELECT * FROM livehelp_messages ORDER BY timeof DESC";    
  
$messages $mydatabase->query($query);
  
$message $messages->fetchRow(DB_FETCHMODE_ASSOC);
  
$timeof $message['timeof'] - 2;  
  
$offset $message['timeof'] - 2
  
$starttimeof =  $message['timeof'] -2

if(isset(
$starttimeof)){
  
$timeof $starttimeof;
}
?>

<HTML>
<head> 
<title>Admin Chat xmlhttp</title> 
<link title="new" rel="stylesheet" href="style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $lang['charset']; ?>" >
<script src="javascript/xmlhttp.js" type="text/javascript"></script> 
<script type="text/javascript"> 

<?php if($UNTRUSTED['cleartonow']==1){ ?>
    HTMLtimeof = <?php print date("YmdHis"); ?>;
 LAYERtimeof = <?php print date("YmdHis"); ?>;
<?php } else { ?>    
var HTMLtimeof = 0;
var LAYERtimeof = 0;
<?php ?>

/**
  * parse the deliminated string of messages from XMLHttpRequest.
  * This will be converted to XML in next version of CSLH.
  *
  *@param string text to parse.
  */
function ExecRes(textstring){

    var chatelement = document.getElementById('currentchat'); 
  
  var messages=new Array();

  //textstring = " messages[0] = new Array();  messages[0][0]=2004010101;   messages[0][1]=1;  messages[0][2]=\"HTML\";  messages[0][3]=\"test\"; ";
  // prevent Null textstrings:
  textstring = textstring + " ok =1; ";
 // alert(textstring);
  eval(textstring);
    
    for (var i=0;i<messages.length;i++){    
    res_timeof = messages[i][0];
      res_jsrn = messages[i][1];
      res_typeof = messages[i][2];      
    res_message = messages[i][3];    
    
    // skip if we are Null
    if(!((res_message == null) || (chatelement.innerHTML==null))){ 
        
      if(res_typeof=="HTML"){  
        if( res_timeof>HTMLtimeof ){    
         chatelement.innerHTML = chatelement.innerHTML + unescape(res_message);    
         HTMLtimeof = res_timeof;
         whatissaid[res_jsrn] = 'nullstring';    
         update_typing();         
         up();         
       }
    }    
      if(res_typeof=="LAYER"){  
        if(res_timeof>LAYERtimeof){ 
       whatissaid[res_jsrn] = unescape(res_message);    
       LAYERtimeof = res_timeof;       
       update_typing();
     }
    } 
  }
  }
}

/** * loads a XMLHTTP response into parseresponse * *@param string url to 
request *@see parseresponse() */
function update_xmlhttp() { // account for cache.. 
    randu=Math.round(Math.random()*9999); 
    sURL = 'xmlhttp.php'; 
    extra = ""; 
  if( (window.parent.bottomof.loaded) && (window.parent.bottomof.channelset) ){ 
        if(window.parent.bottomof.document.chatter.previewsetting.value<3){
             extra = '&includeself=1';
        }
  }           
  sPostData = 'op=yes&externalchats=<?php echo $externalchats;?>&whattodo=messages&rand='+ randu + '&HTML=' + HTMLtimeof + '&LAYER=' + LAYERtimeof + extra;
  //alert(sPostData);  
  fullurl = 'xmlhttp.php?' + sPostData;
  //PostForm(sURL,  sPostData)
  GETForm(fullurl);
     
  



setInterval('update_xmlhttp()', 2100);

</SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="javascript/xLayer.js"></SCRIPT> 
<SCRIPT LANGUAGE="JavaScript" SRC="javascript/xBrowser.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="javascript/staticMenu.js"></SCRIPT> 
<script language="JavaScript" src="javascript/dynapi/js/dynlayer.js"></script>
<SCRIPT LANGUAGE="JavaScript"> 
NS4 = (document.layers) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;
W3C = (document.getElementById) ? 1 : 0;


setTimeout('up();', 1000); 
 
var ismac = navigator.platform.indexOf('Mac');
 ismac = 1;                     
function up(){
  scroll(1, 10000000);
  if( (window.parent.bottomof.loaded) && (window.parent.rooms.document.mine.auto_focus.checked) )
      window.parent.bottomof.shouldifocus();  
}        

</SCRIPT>
<SCRIPT>
myBrowser = new xBrowser(); 
NS4 = (document.layers) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;
W3C = (document.getElementById) ? 1 : 0;    
starttyping_layer_exists = false;
var whatissaid  = new Array(100);
for(i=0;i<100;i++){
  whatissaid[i] = 'nullstring';
}

// start up the is typing layer... 
//--------------------------------------------------------------          
function starttyping(){           
      if (IE4){
          docWidth = document.body.clientWidth;
         } else {
            docWidth = window.innerWidth;
        }
 
          myxvar2 = 50;
      istyping_Layer = new DynLayer('UserIsTypingDiv');                     
         CreateStaticMenu2("UserIsTypingDiv",   myxvar2,  5); 
      starttyping_layer_exists = true;
}

// update the istyping layer.
//---------------------------------------------------------------
function update_typing(){
  if(starttyping_layer_exists == true){                       
    ouputtext = "";
    foundtext = 0;
    for(i=0;i<100;i++){
      if( (whatissaid[i]!='nullstring') && (whatissaid[i]!='nullstring ')){
         ouputtext = ouputtext + whatissaid[i];
         foundtext = 1;
      }
    }
    if(foundtext == 1){
        fulloutput = '<TABLE BORDER=0 WIDTH=400><TR BGCOLOR=#000000><TD><TABLE BORDER=0 WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD width=1 BGCOLOR=#D4DCF2><img src=images/blank.gif width=7 height=120></TD><TD BGCOLOR=#D4DCF2 valign=top><table width=400 bgoclor=DFDFDF><tr><td width=90%> &nbsp; </td><td width=10%><a href=javascript:istyping_Layer.hide();><b>X</b></a></td></tr></table><br>' + ouputtext + '</TD></TR></TABLE></TD></TR></TABLE>';
        istyping_Layer.show();
        istyping_Layer.write(fulloutput);
    } else {
        istyping_Layer.hide();
    }
  }    
}
 
 setTimeout('starttyping()', 1500);            


function delay(gap){ /* gap is in millisecs */
 var then, now; then=new Date().getTime();
 now=then;
 while((now-then)<gap){  now=new Date().getTime();}
}

ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;
readyone = ready = false; // ready for onmouse overs (are the layers known yet)
 
ready = true;


</SCRIPT>
</HEAD>
<body bgcolor="#<?php echo $color_background;?>">
<DIV ID="UserIsTypingDiv" STYLE="position: absolute; z-index: 20; visibility: hidden; top: 0px; left: 0px;"></DIV>
<br>
<pre>


























</pre>
<span id="currentchat"><?php print showmessages($operator_id, "", $timeof, $see);    ?></span>

<?php if(!(empty($see))){ ?>
<SCRIPT>
var sleeping=false;
HTMLtimeof = <?php print date("YmdHis"); ?>;
LAYERtimeof = <?php print date("YmdHis"); ?>;
</SCRIPT>
<?php 
$mydatabase->close_connect();
exit;
?>
</HTML>


Other Customer Support Scripts:

WebMaster Resources Home

©RingsWorld.com