Files
ViciDialSVN/agc_2-X/branches/agc_2.9/extras/SCRIPT_busy_button.php
T
mattf 225a1addac Created stable release branch of 2.9
git-svn-id: svn://192.168.202.10@2127 3d104415-ff17-0410-8863-d5cf3c621b8a
2014-06-12 20:16:40 +00:00

109 lines
4.4 KiB
PHP

<?php
### SCRIPT_busy_button.php - logging of a button click
#
# To be inserted into a SCRIPT in VICIDIAL with the following code:
#
# <iframe src="/agc/SCRIPT_busy_button.php?lead_id=--A--lead_id--B--&list_id=--A--list_id--B--&user=--A--user--B--&campaign_id=--A--campaign_id--B--&phone_number=--A--phone_number--B--&vendor_id=--A--vendor_lead_code--B--" style="width:400;height:40;background-color:transparent;" scrolling="no" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="400" height="30" STYLE="z-index:17"> </iframe>
#
# Copyright (C) 2013 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
########## DB SCHEMA
# CREATE TABLE qr_busy_button_log (
# button_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
# lead_id INT(9) UNSIGNED,
# event_time DATETIME,
# user VARCHAR(20),
# stage ENUM('DISPLAY','CLICK'),
# campaign_id VARCHAR(8),
# phone_number VARCHAR(18),
# vendor_lead_code VARCHAR(20),
# list_id BIGINT(14) UNSIGNED,
# click_seconds INT(5) UNSIGNED,
# index (lead_id)
# );
#
# CHANGES:
# 90408-0618 - First Build
# 90508-0727 - Changed to PHP long tags
# 130328-0026 - Converted ereg to preg functions
#
if (isset($_GET["button_id"])) {$button_id=$_GET["button_id"];}
elseif (isset($_POST["button_id"])) {$button_id=$_POST["button_id"];}
if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];}
elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];}
if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];}
elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];}
if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];}
elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];}
if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];}
elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];}
if (isset($_GET["user"])) {$user=$_GET["user"];}
elseif (isset($_POST["user"])) {$user=$_POST["user"];}
if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];}
elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];}
if (isset($_GET["stage"])) {$stage=$_GET["stage"];}
elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];}
if (isset($_GET["epoch"])) {$epoch=$_GET["epoch"];}
elseif (isset($_POST["epoch"])) {$epoch=$_POST["epoch"];}
### security strip all non-alphanumeric characters out of the variables ###
$button_id=preg_replace("/[^0-9]/","",$button_id);
$lead_id=preg_replace("/[^0-9]/","",$lead_id);
$list_id=preg_replace("/[^0-9]/","",$list_id);
$phone_number=preg_replace("/[^0-9]/","",$phone_number);
$vendor_id = preg_replace("/[^- \:\/\_0-9a-zA-Z]/","",$vendor_id);
$user=preg_replace("/[^0-9a-zA-Z]/","",$user);
$campaign = preg_replace("/[^-\_0-9a-zA-Z]/","",$campaign);
$stage = preg_replace("/[^-\_0-9a-zA-Z]/","",$stage);
$epoch = preg_replace("/[^0-9]/","",$epoch);
require("dbconnect.php");
if (preg_match("/CLICK/i",$stage))
{
$epochNOW = date("U");
$click_seconds = ($epochNOW - $epoch);
if ( ($click_seconds < 0) or ($click_seconds > 3600) )
{$click_seconds=0;}
$stmt="UPDATE qr_busy_button_log SET stage='$stage',click_seconds='$click_seconds' where button_id='$button_id';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_query($stmt, $link);
echo "Thank you for clicking the button\n";
exit;
}
else
{
$CL=':';
$script_name = getenv("SCRIPT_NAME");
$server_name = getenv("SERVER_NAME");
$server_port = getenv("SERVER_PORT");
if (preg_match("/443/i",$server_port)) {$HTTPprotocol = 'https://';}
else {$HTTPprotocol = 'http://';}
if (($server_port == '80') or ($server_port == '443') ) {$server_port='';}
else {$server_port = "$CL$server_port";}
$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name";
$epoch = date("U");
$SQLdate = date("Y-m-d H:i:s");
$stmt="INSERT INTO qr_busy_button_log SET lead_id='$lead_id',list_id='$list_id',phone_number='$phone_number',vendor_lead_code='$vendor_id',user='$user',campaign_id='$campaign',stage='DISPLAY',event_time='$SQLdate';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_query($stmt, $link);
$button_id = mysql_insert_id($link);
echo "<FORM NAME=button_form ID=button_form ACTION=\"$agcPAGE\" METHOD=POST>\n";
echo "<INPUT TYPE=HIDDEN NAME=button_id VALUE=\"$button_id\">\n";
echo "<INPUT TYPE=HIDDEN NAME=stage VALUE=\"CLICK\">\n";
echo "<INPUT TYPE=HIDDEN NAME=epoch VALUE=\"$epoch\">\n";
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=\"PLEASE CLICK THIS TEST BUTTON\">\n";
echo "</FORM>\n\n";
}
?>