Current Craftysyntax > Craftysyntax2.12.7 / Admin Actions.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 Actions.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(empty(
$UNTRUSTED['whattodo'])){  $UNTRUSTED['whattodo'] = ""; }
if(empty(
$UNTRUSTED['whattodochat'])){  $UNTRUSTED['whattodochat'] = ""; }
if(empty(
$UNTRUSTED['whattodo'])){ $UNTRUSTED['whattodo'] = $UNTRUSTED['whattodochat']; }
 
// get the info of this user.. 
$query "SELECT * FROM livehelp_users WHERE sessionid='".$identity['SESSIONID']."'";    
$people $mydatabase->query($query);
$people $people->fetchRow(DB_FETCHMODE_ASSOC);
$myid $people['user_id'];
$channel $people['onchannel'];
$show_arrival $people['show_arrival']; 
$user_alert $people['user_alert'];
$greeting $people['greeting'];
$photo $people['photo'];
if( (!(empty(
$photo))) && (!(empty($greeting))))
    
$greeting ="<table><tr><td><img src=$photo></td><td>$greeting</td></tr></table>";
$timeof date("YmdHis");

if(empty(
$myid)){
  
// get the if of this user.. 
  
$query "SELECT * FROM livehelp_users WHERE sessionid='".$identity['SESSIONID']."'";    
  
$people $mydatabase->query($query);
  
$people $people->fetchRow(DB_FETCHMODE_ASSOC);
  
$myid intval($people['user_id']);
  
$channel intval($people['onchannel']);
}

// Stop Chat.
if($UNTRUSTED['whattodo'] == "stop"){
  
reset($_POST);
  while (list(
$key,  $val) = each($_POST)) {
      
$pair split("__", $key);
      if(
$pair[0] == "session"){          
      
$query "SELECT * FROM livehelp_users WHERE sessionid='".filter_sql($val)."'";    
      
$rs $mydatabase->query($query);  
      
$person $rs->fetchRow(DB_FETCHMODE_ASSOC);  
      
$who $person['user_id'];
      
$onchannel $person['onchannel'];
      
$sessionid $person['sessionid'];
        
stopchat($sessionid);    
      
$html_head " window.parent.bottomof.location.replace(\"admin_chat_bot.php\");";
        print 
"stopped: $val<br>\n";
      }
  }
  print 
"Done..";
  print 
"<SCRIPT> window.close(); </SCRIPT>";
  exit;
}
   
reset($_POST);
     
$comma "";
     
$listedids "";
   while (list(
$key,  $val) = each($_POST)) {
      
$pair split("__", $key);
      if(
$pair[0] == "session"){
        
$listedids .= $comma intval($pair[1]);
        
$comma ", ";
      }
     } 

// 
if($UNTRUSTED['whattodo'] == "conference"){
   
// go through all the ids and make them all on the same channel:
   
$pairs split(", ", $listedids);
   for(
$i=0;$i<count($pairs);$i++){
     if(
$i==0){
        
$query "SELECT onchannel FROM livehelp_users WHERE user_id=".intval($pairs[$i]);    
        
$rs $mydatabase->query($query);  
        
$person $rs->fetchRow(DB_FETCHMODE_ORDERED);  
        
$onchannel intval($person[0]); 
        
$query "SELECT channelcolor FROM livehelp_operator_channels WHERE channel=$onchannel";
        
$rs $mydatabase->query($query);  
        
$person $rs->fetchRow(DB_FETCHMODE_ORDERED);  
        
$channelcolor $person[0];        
     } else {
        
$query "UPDATE livehelp_users SET onchannel=$onchannel WHERE user_id=".intval($pairs[$i]);    
        
$mydatabase->query($query);  
        
$query "UPDATE livehelp_operator_channels SET channelcolor='$channelcolor' WHERE userid=".intval($pairs[$i]);    
        
$mydatabase->query($query);  
     }
   }
   print 
"done. ";
   print 
"<SCRIPT>";
   print 
"window.close();";
   print 
"</SCRIPT>";    
   exit;
}


// Layer Invite
if($UNTRUSTED['whattodo'] == "DHTML"){
   
Header("Location: layer.php?selectedwho=$listedids");
   exit;
}

// Pop-up Invite
if($UNTRUSTED['whattodo'] == "pop"){
   
Header("Location: invite.php?selectedwho=$listedids");
   exit;
}

// Ask to transfer
if($UNTRUSTED['whattodo'] == "transfer"){
    
?>
    <link title="new" rel="stylesheet" href="style.css" type="text/css">
  <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $lang['charset']; ?>" >
  <body bgcolor=E0E8F0 onload=window.focus()>
  <h2><?php echo $lang['txt178']; ?>:</h2>
  <form action=admin_actions.php method=post>  
  <?php echo $lang['txt179']; ?>:<select name=todepartment>
  <?php
  $query 
"SELECT * FROM livehelp_departments ORDER by nameof";
  
$res $mydatabase->query($query);
  while(
$row $res->fetchRow(DB_FETCHMODE_ASSOC)){
    print 
"<option value=" $row['recno'];
    print 
"> ".$lang['txt43']." " $row['nameof'] . "</option>\n";
  }
 
?>
  </select>
  <input type=hidden name=redirectids value=<?php echo $listedids?>>
  <input type=hidden name=whattodo value=redirect>
  <input type=submit value=GO>
  </form>
<?php 
  
exit;
}

// perform transfer
if($UNTRUSTED['whattodo'] == "redirect"){
  
$pairs split(", ", $UNTRUSTED['redirectids']);
  for(
$i=0;$i<count($pairs);$i++){
    
$thisid $pairs[$i];    
    
$query "SELECT * FROM livehelp_users WHERE user_id=".intval($thisid);    
    
$rs $mydatabase->query($query);  
    
$person $rs->fetchRow(DB_FETCHMODE_ASSOC);  
    
$onchannel $person['onchannel'];
       
$message "[transfer]livehelp.php?department=".$UNTRUSTED['todepartment']."&tab=1[/transfer]";
    
$rightnow date("YmdHis");

    
$query "INSERT INTO livehelp_messages (message, channel, timeof, saidfrom, saidto) VALUES ('$message', ".intval($onchannel).", '$rightnow', ".intval($myid).", '".intval($thisid)."')";  
    
$mydatabase->query($query);
    
// release channel from operator:
    
$query "DELETE FROM livehelp_operator_channels WHERE channel=".intval($person['onchannel']);        
    
$mydatabase->query($query); 
   }
   print 
"done.";
   
?>
    <script>setTimeout('window.close()', 1000);</script>
   <?php
   $mydatabase
->close_connect();
   exit;
}

// activate a chat request..
if($UNTRUSTED['whattodo'] == "activiate"){
  
// see if anyone is chatting with this person. 
  
$query "SELECT * FROM livehelp_operator_channels WHERE userid=" intval($UNTRUSTED['who']);
  
$counting $mydatabase->query($query);
  
// if someone is chatting with them ask if we would like to join...
  
if($counting->numrows() != 0){
   print 
$lang['txt180'];
   
$mydatabase->close_connect();
   exit;
  } 
  if(
$counting->numrows() == 0){       
   
// get session data and post it as a message if not one
   
$query "SELECT * FROM livehelp_users WHERE user_id=" intval($UNTRUSTED['who']);
   
$userdata $mydatabase->query($query);
   
$user_row $userdata->fetchRow(DB_FETCHMODE_ASSOC);
   
$sessiondata $user_row['sessiondata'];
   
$datapairs explode("&", $sessiondata);
   
$datamessage="";
   for(
$l=0;$l<count($datapairs);$l++){
        
$dataset explode("=", $datapairs[$l]);
        if(!(empty(
$dataset[1]))){
            
$fieldid str_replace("field_", "", $dataset[0]);
            
$query "SELECT * FROM livehelp_questions WHERE id=" intval($fieldid);
            
$questiondata $mydatabase->query($query);
        
$question_row $questiondata->fetchRow(DB_FETCHMODE_ASSOC);          
          
$datamessage.= $question_row['headertext'] . "<br><font color=000000><b>" urldecode($dataset[1]) . "</font></b><br>";
      }
   }
   if(
$datamessage!=""){
       
$timeof++; 
       
$query "INSERT INTO livehelp_messages (saidto, saidfrom, message, channel, timeof) VALUES (".intval($myid).", ".intval($who).", '<br>".filter_sql($datamessage)."', ".intval($whatchannel).", '$timeof')";    
     
$mydatabase->query($query);
   }
  }
  if( (empty(
$whatchannel)) || ($whatchannel == 0) ){
   
$whatchannel createchannel(intval($UNTRUSTED['who']));     
  }

   
// generate random Hex..
    
$txtcolor "";
    
$lowletters = array("0", "2", "4", "6");
    for (
$index 1$index <= 6$index++) {
       
$randomindex rand(0, 3); 
       
$txtcolor .= $lowletters[$randomindex];
    }     

   
// generate random Hex..
    
$txtcolor_alt "";
    
$lowletters = array("2", "4", "6", "8");
    for (
$index 1$index <= 6$index++) {
       
$randomindex rand(0, 3); 
       
$txtcolor_alt .= $lowletters[$randomindex];
    }     
           
  
$query "DELETE FROM livehelp_operator_channels WHERE user_id=".intval($myid) . " AND userid=".intval($UNTRUSTED['who']);    
  
$mydatabase->query($query);  
  
$channelcolor get_next_channelcolor();  
  
$query "INSERT INTO livehelp_operator_channels (user_id, channel, userid, txtcolor, txtcolor_alt, channelcolor) VALUES (".intval($myid).", ".intval($whatchannel).", ".intval($UNTRUSTED['who']).", '$txtcolor', '$txtcolor_alt', '$channelcolor')";    
  
$mydatabase->query($query);

  
// add to history:
   
$query "INSERT INTO livehelp_operator_history (opid, action, dateof, channel, totaltime) VALUES ($myid, 'startchat', '".date("YmdHis")."', ".intval($whatchannel).", 0)";
   
$mydatabase->query($query);
   
  if (!(empty(
$UNTRUSTED['conferencein']))){
    
$channelcolor get_next_channelcolor();  
    
$query "INSERT INTO livehelp_operator_channels (user_id, channel, userid, txtcolor, channelcolor) VALUES ('".intval($UNTRUSTED['who'])."', '$whatchannel', '$myid', '$txtcolor', '$txtcolor_alt', '$channelcolor')";    
    
$mydatabase->query($query);    
  }
  
$timeof date("YmdHis");
  
  if(!(empty(
$greeting))){ 
   
$query "INSERT INTO livehelp_messages (saidto, saidfrom, message, channel, timeof) VALUES (".intval($UNTRUSTED['who']).", ".intval($myid).", '".filter_sql($greeting)."', ".intval($whatchannel).", '$timeof')";    
   
$mydatabase->query($query);
  } 
  

  
$channelsplit $whatchannel "__" $who;

  
$query "SELECT * FROM livehelp_users WHERE isoperator='Y' AND isonline='Y'";
  
$operators_online $mydatabase->query($query);
  
$operators_talking = array();
  while(
$operator $operators_online->fetchRow(DB_FETCHMODE_ASSOC)){
      
$commonchannel 0;
      
$query "SELECT * FROM livehelp_operator_channels WHERE user_id="intval($operator['user_id']);
      
$mychannels $mydatabase->query($query);
      while(
$rowof $mychannels->fetchRow(DB_FETCHMODE_ASSOC)){
         
$query "SELECT * FROM livehelp_operator_channels WHERE user_id=".intval($myid) ." And channel="intval($rowof['channel']);
         
$counting $mydatabase->query($query);        
         if(
$counting->numrows() != 0){ 
             
array_push($operators_talking, $operator['user_id']);
         }
      }  
   } 
  
  
// re-buld list:
 
for($k=0;$kcount($operators_talking); $k++){
   if(
$k==0)
     
$operators $operators_talking[$k];
   else
    
$operators .= ", " $operators_talking[$k];
 }
   print 
"Done..";
  print 
"<SCRIPT> window.close(); </SCRIPT>";
  exit;

 print 
"Done..";
  print 
"<SCRIPT> window.close(); </SCRIPT>";
  exit;

$mydatabase->close_connect();

?>


Other Customer Support Scripts:

WebMaster Resources Home

©RingsWorld.com