Current Craftysyntax > Craftysyntax2.12.7 / Admin Chat Refresh.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 Refresh.php:


<?php
//===========================================================================
//* --    ~~                Crafty Syntax Live Help                ~~    -- *
//===========================================================================
//           URL:   http://www.craftysyntax.com/    EMAIL: ericg <at> craftysyntax <dot> com
//         Copyright (C) 2003-2004 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 user_id, onchannel FROM livehelp_users WHERE sessionid='".$identity['SESSIONID']."'";    
$people $mydatabase->query($query);
$people $people->fetchRow(DB_FETCHMODE_ORDERED);
$myid $people[0];
$channel $people[1];
$operator_id $myid;
  
$jsrn get_jsrn($identity);

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

if(!(isset(
$UNTRUSTED['see']))){ 
     
$UNTRUSTED['see'] = 0
} else {
  
$see intval($UNTRUSTED['see']);    
}
if(!(isset(
$UNTRUSTED['starttimeof']))){ $UNTRUSTED['starttimeof'] = 0; }

$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);
$timeof $oldtime;

if( (
$UNTRUSTED['clear'] == "now") || ($UNTRUSTED['cleartonow'] == 1) ){
  
// get the timestamp of the last message sent on this channel.
  
$query "SELECT timeof FROM livehelp_messages ORDER BY timeof DESC";    
  
$messages $mydatabase->query($query);
  
$message $messages->fetchRow(DB_FETCHMODE_ORDERED);
  
$timeof $message[0] - 2;  
  
$offset $message[0] - 2
  
$starttimeof =  $message[0] -2

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

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

// if no one is talking end here also update security:
$query "SELECT livehelp_operator_channels.txtcolor, livehelp_operator_channels.userid, livehelp_users.username, livehelp_users.onchannel, livehelp_users.lastaction FROM livehelp_operator_channels, livehelp_users where livehelp_operator_channels.userid=livehelp_users.user_id AND livehelp_operator_channels.user_id=".intval($myid);
$mychannels $mydatabase->query($query);
if(
$mychannels->numrows() == 0){
   
$query "SELECT * FROM livehelp_users WHERE user_id=" intval($myid);
   
$person_a $mydatabase->query($query);
   
$person $person_a->fetchRow(DB_FETCHMODE_ASSOC);
   
$visits intval($person['visits']);         
   if( (
$visits 35) == 34){
      
$visits++;
      
$query "UPDATE livehelp_users SET visits=$visits WHERE user_id=".intval($myid);
      
$mydatabase->query($query);
      
?><SCRIPT> setTimeout('security();', 1000); 
function security(){
     // for security reasons this page is here. If a major hack is discovered it will be listed here
    url = '<?php print "http://www.craftysyntax.com/remote/updates.php"?>'
    window.open(url, 'rdfdsf', 'toolbar=yes, location=yes, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes');
}  
 
var sleeping=true;
</SCRIPT>
<?php 
 print 
"<SCRIPT> var sleeping=true; </SCRIPT><body bgcolor=$color_background>" $lang['noone_online2'];
 print 
"  <img id=\"imageformac\" name=\"imageformac\" src=\"images/blank.gif\" width=10 heith=10 border=\"0\">"
 exit;
?>
<HTML>
<head> 
<title>Admin Chat Refresh</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 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;
var sleeping=false;
setTimeout('up();', 1000); 
 
var ismac = navigator.platform.indexOf('Mac');                  
function up(){
  scroll(1, 10000000);
  if(skipfocus == 0){
    if(window.parent.bottomof.loaded)
      window.parent.bottomof.shouldifocus();
  }
}        

myBrowser = new xBrowser();
skipfocus = 1;     
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'){
         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%><?php echo str_replace("'", "\\'", $lang['istyping']); ?></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()', 2000);            


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

function up(){
  scroll(1, 10000000);
}
<?php if( ($CSLH_Config['use_flush'] == "no") || (isset($offset)) ){ ?>
skipfocus = 1;
setTimeout('skipfocus=0;', 2999);
<?php } else { ?>
skipfocus = 0;
<?php ?>

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


</SCRIPT>
<?php
    $message_test 
date("YmdHis") -3;
?>
<SCRIPT>
//-----------------------------------------------------------------
// Update the control image. This is the image that the operators 
// use to communitate with the visitor. 
function csgetimage()
{     
     // set a number to identify this page .
     csID=Math.round(Math.random()*9999);
     randu=Math.round(Math.random()*9999);
   
   cscontrol = new Image;
 
     var u = 'admin_image.php?randu=' + randu + '&cmd=messagecheck' + '&message_test=<?php echo $message_test?>'
 
     if (ismac > -1){
       document.getElementById("imageformac").src= u;
       document.getElementById("imageformac").onload = lookatimage;
    } else {
       cscontrol.src = u;
       cscontrol.onload = lookatimage;
    }        
}

function lookatimage(){
 
  
    if(typeof(cscontrol) == 'undefined' ){
        setTimeout('refreshit()', 9000); 
    return; 
 }   
       
         if (ismac > -1)
      w = document.getElementById("imageformac").width;
    else
      w = cscontrol.width;        
  
   if( (w == 55) || (w == 0)){
           delete cscontrol;
           imageloaded = 0;     
         refreshit();
     }                             
        delete cscontrol;                


    
csTimeout = 299; 
imageloaded = 0;
cscontrol = new Image;

<?php 
if($CSLH_Config['refreshrate']==1) { ?>
setInterval('csgetimage()',  3500); 
<?php 

?>


function refreshit(){
 window.location.replace("admin_chat_refresh.php");
}    

</SCRIPT>
<?php

  
if($CSLH_Config['refreshrate']!=1) { 
    print 
"<META HTTP-EQUIV=\"refresh\" content=\""$CSLH_Config['refreshrate'] .";URL=admin_chat_refresh.php\">";
  }

 print 
"  <img id=\"imageformac\" name=\"imageformac\" src=\"images/blank.gif\" width=10 heith=10 border=\"0\">"

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

$abort_counter 
1;
$abort_counter_end 2;
 
 
$abort_counter 0
$timeof_new 0;
$timeofDHTML $timeof;
if(!(empty(
$see))){
 
$timeof showmessages($operator_id, "", $timeof, $see);
 
$timeofDHTML showmessages($operator_id, "writediv", $timeofDHTML, $see);
 
$timeofDHTML $timeof date("YmdHis") -1;
}

    print 
showmessages($operator_id, "", $timeof, "");
    
$timeof $timeof_new;  
 
  
     
     
$offset "";
     
?>
     <SCRIPT>up(); setTimeout('up()', 9);</SCRIPT>
     <?php
    $abort_counter
++;    


 

$mydatabase->close_connect();
exit;
?>


Other Customer Support Scripts:

WebMaster Resources Home

©RingsWorld.com