From e213de385fae3f46b5718e11f374aa972325334a Mon Sep 17 00:00:00 2001 From: mattf Date: Mon, 8 Jun 2015 11:03:06 +0000 Subject: [PATCH] Added DB fields and web administration for chat features git-svn-id: svn://192.168.202.10@2329 3d104415-ff17-0410-8863-d5cf3c621b8a --- UPGRADE | 2 + extras/MySQL_AST_CREATE_tables.sql | 117 +++- extras/upgrade_2.12.sql | 116 ++++ www/vicidial/AST_chat_log_report.php | 983 +++++++++++++++++++++++++++ www/vicidial/admin.php | 166 +++-- www/vicidial/vicidial_stylesheet.css | 74 ++ 6 files changed, 1397 insertions(+), 61 deletions(-) create mode 100644 www/vicidial/AST_chat_log_report.php create mode 100644 www/vicidial/vicidial_stylesheet.css diff --git a/UPGRADE b/UPGRADE index 91769c4c..f5273714 100644 --- a/UPGRADE +++ b/UPGRADE @@ -69,6 +69,8 @@ OTHER CHANGES: 5. Added user API restrictions for allowed lists and allowed API functions +6. Added web administration for chat features + diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 3db7693a..060a7b26 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -1133,7 +1133,7 @@ max_calls_method ENUM('TOTAL','IN_QUEUE','DISABLED') default 'DISABLED', max_calls_count SMALLINT(5) default '0', max_calls_action ENUM('DROP','AFTERHOURS','NO_AGENT_NO_QUEUE') default 'NO_AGENT_NO_QUEUE', dial_ingroup_cid VARCHAR(20) default '', -group_handling ENUM('PHONE','EMAIL') default 'PHONE', +group_handling ENUM('PHONE','EMAIL','CHAT') default 'PHONE', web_form_address_three TEXT ) ENGINE=MyISAM; @@ -1591,7 +1591,9 @@ language_method VARCHAR(20) default 'DISABLED', meetme_enter_login_filename VARCHAR(255) default '', meetme_enter_leave3way_filename VARCHAR(255) default '', enable_did_entry_list_id ENUM('0','1') default '0', -enable_third_webform ENUM('0','1') default '0' +enable_third_webform ENUM('0','1') default '0', +chat_url VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_timeout INT(3) unsigned DEFAULT NULL ) ENGINE=MyISAM; CREATE TABLE vicidial_campaigns_list_mix ( @@ -3133,6 +3135,115 @@ index (language_id), index (english_text) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci; +CREATE TABLE vicidial_chat_archive ( +chat_id INT(9) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_start_time DATETIME DEFAULT NULL, +status VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_creator VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +group_id VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +lead_id INT(9) UNSIGNED DEFAULT NULL, +PRIMARY KEY (chat_id), +KEY vicidial_chat_archive_lead_id_key (lead_id), +KEY vicidial_chat_archive_start_time_key (chat_start_time) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_chat_log ( +message_row_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_id VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +message MEDIUMTEXT COLLATE utf8_unicode_ci, +message_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +poster VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_member_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_level ENUM('0','1') COLLATE utf8_unicode_ci DEFAULT '0', +PRIMARY KEY (message_row_id), +KEY vicidial_chat_log_user_key (poster) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_chat_log_archive ( +message_row_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_id VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +message MEDIUMTEXT COLLATE utf8_unicode_ci, +message_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +poster VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_member_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_level ENUM('0','1') COLLATE utf8_unicode_ci DEFAULT '0', +PRIMARY KEY (message_row_id), +KEY vicidial_chat_log_archive_user_key (poster) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_chat_participants ( +chat_participant_id INT(9) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_id INT(9) UNSIGNED DEFAULT NULL, +chat_member VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_member_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +ping_date DATETIME DEFAULT NULL, +vd_agent ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (chat_participant_id), +UNIQUE KEY vicidial_chat_participants_key (chat_id,chat_member) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_live_chats ( +chat_id INT(9) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_start_time DATETIME DEFAULT NULL, +status VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_creator VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +group_id VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +lead_id INT(9) UNSIGNED DEFAULT NULL, +PRIMARY KEY (chat_id), +KEY vicidial_live_chats_lead_id_key (lead_id), +KEY vicidial_live_chats_start_time_key (chat_start_time) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_manager_chat_log ( +manager_chat_message_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +manager_chat_id INT(10) UNSIGNED DEFAULT NULL, +manager_chat_subid TINYINT(3) UNSIGNED DEFAULT NULL, +manager VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +user VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +message MEDIUMTEXT COLLATE utf8_unicode_ci, +message_date DATETIME DEFAULT NULL, +message_viewed_date DATETIME DEFAULT NULL, +message_posted_by VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +audio_alerted ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (manager_chat_message_id) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_manager_chat_log_archive ( +manager_chat_message_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +manager_chat_id INT(10) UNSIGNED DEFAULT NULL, +manager_chat_subid TINYINT(3) UNSIGNED DEFAULT NULL, +manager VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +user VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +message MEDIUMTEXT COLLATE utf8_unicode_ci, +message_date DATETIME DEFAULT NULL, +message_viewed_date DATETIME DEFAULT NULL, +message_posted_by VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +audio_alerted ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (manager_chat_message_id) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_manager_chats ( +manager_chat_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_start_date DATETIME DEFAULT NULL, +manager VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +selected_agents MEDIUMTEXT COLLATE utf8_unicode_ci, +selected_user_groups MEDIUMTEXT COLLATE utf8_unicode_ci, +selected_campaigns MEDIUMTEXT COLLATE utf8_unicode_ci, +allow_replies ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (manager_chat_id) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_manager_chats_archive ( +manager_chat_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_start_date DATETIME DEFAULT NULL, +manager VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +selected_agents MEDIUMTEXT COLLATE utf8_unicode_ci, +selected_user_groups MEDIUMTEXT COLLATE utf8_unicode_ci, +selected_campaigns MEDIUMTEXT COLLATE utf8_unicode_ci, +allow_replies ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (manager_chat_id) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + ALTER TABLE vicidial_email_list MODIFY message text character set utf8; @@ -3382,4 +3493,4 @@ UPDATE vicidial_configuration set value='1766' where name='qc_database_version'; UPDATE system_settings set vdc_agent_api_active='1'; -UPDATE system_settings SET db_schema_version='1411',db_schema_update_date=NOW(),reload_timestamp=NOW(); +UPDATE system_settings SET db_schema_version='1412',db_schema_update_date=NOW(),reload_timestamp=NOW(); diff --git a/extras/upgrade_2.12.sql b/extras/upgrade_2.12.sql index 5d96b5d1..b272538c 100644 --- a/extras/upgrade_2.12.sql +++ b/extras/upgrade_2.12.sql @@ -36,3 +36,119 @@ UPDATE system_settings SET db_schema_version='1410',db_schema_update_date=NOW() ALTER TABLE vicidial_email_accounts ADD pop3_auth_mode ENUM('BEST','PASS','APOP','CRAM-MD5') default 'BEST' AFTER email_account_pass; UPDATE system_settings SET db_schema_version='1411',db_schema_update_date=NOW() where db_schema_version < 1411; + +ALTER TABLE system_settings ADD chat_url VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL; +ALTER TABLE system_settings ADD chat_timeout INT(3) UNSIGNED DEFAULT NULL; + +ALTER TABLE vicidial_inbound_groups MODIFY group_handling ENUM('PHONE','EMAIL','CHAT') default 'PHONE'; + +CREATE TABLE vicidial_chat_archive ( +chat_id INT(9) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_start_time DATETIME DEFAULT NULL, +status VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_creator VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +group_id VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +lead_id INT(9) UNSIGNED DEFAULT NULL, +PRIMARY KEY (chat_id), +KEY vicidial_chat_archive_lead_id_key (lead_id), +KEY vicidial_chat_archive_start_time_key (chat_start_time) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_chat_log ( +message_row_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_id VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +message MEDIUMTEXT COLLATE utf8_unicode_ci, +message_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +poster VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_member_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_level ENUM('0','1') COLLATE utf8_unicode_ci DEFAULT '0', +PRIMARY KEY (message_row_id), +KEY vicidial_chat_log_user_key (poster) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_chat_log_archive ( +message_row_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_id VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +message MEDIUMTEXT COLLATE utf8_unicode_ci, +message_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +poster VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_member_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_level ENUM('0','1') COLLATE utf8_unicode_ci DEFAULT '0', +PRIMARY KEY (message_row_id), +KEY vicidial_chat_log_archive_user_key (poster) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_chat_participants ( +chat_participant_id INT(9) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_id INT(9) UNSIGNED DEFAULT NULL, +chat_member VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_member_name VARCHAR(100) COLLATE utf8_unicode_ci DEFAULT NULL, +ping_date DATETIME DEFAULT NULL, +vd_agent ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (chat_participant_id), +UNIQUE KEY vicidial_chat_participants_key (chat_id,chat_member) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_live_chats ( +chat_id INT(9) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_start_time DATETIME DEFAULT NULL, +status VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +chat_creator VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +group_id VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +lead_id INT(9) UNSIGNED DEFAULT NULL, +PRIMARY KEY (chat_id), +KEY vicidial_live_chats_lead_id_key (lead_id), +KEY vicidial_live_chats_start_time_key (chat_start_time) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_manager_chat_log ( +manager_chat_message_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +manager_chat_id INT(10) UNSIGNED DEFAULT NULL, +manager_chat_subid TINYINT(3) UNSIGNED DEFAULT NULL, +manager VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +user VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +message MEDIUMTEXT COLLATE utf8_unicode_ci, +message_date DATETIME DEFAULT NULL, +message_viewed_date DATETIME DEFAULT NULL, +message_posted_by VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +audio_alerted ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (manager_chat_message_id) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_manager_chat_log_archive ( +manager_chat_message_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +manager_chat_id INT(10) UNSIGNED DEFAULT NULL, +manager_chat_subid TINYINT(3) UNSIGNED DEFAULT NULL, +manager VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +user VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +message MEDIUMTEXT COLLATE utf8_unicode_ci, +message_date DATETIME DEFAULT NULL, +message_viewed_date DATETIME DEFAULT NULL, +message_posted_by VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +audio_alerted ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (manager_chat_message_id) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_manager_chats ( +manager_chat_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_start_date DATETIME DEFAULT NULL, +manager VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +selected_agents MEDIUMTEXT COLLATE utf8_unicode_ci, +selected_user_groups MEDIUMTEXT COLLATE utf8_unicode_ci, +selected_campaigns MEDIUMTEXT COLLATE utf8_unicode_ci, +allow_replies ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (manager_chat_id) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE vicidial_manager_chats_archive ( +manager_chat_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, +chat_start_date DATETIME DEFAULT NULL, +manager VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL, +selected_agents MEDIUMTEXT COLLATE utf8_unicode_ci, +selected_user_groups MEDIUMTEXT COLLATE utf8_unicode_ci, +selected_campaigns MEDIUMTEXT COLLATE utf8_unicode_ci, +allow_replies ENUM('Y','N') COLLATE utf8_unicode_ci DEFAULT 'N', +PRIMARY KEY (manager_chat_id) +) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci; + +UPDATE system_settings SET db_schema_version='1412',db_schema_update_date=NOW() where db_schema_version < 1412; diff --git a/www/vicidial/AST_chat_log_report.php b/www/vicidial/AST_chat_log_report.php new file mode 100644 index 00000000..2e1deb31 --- /dev/null +++ b/www/vicidial/AST_chat_log_report.php @@ -0,0 +1,983 @@ +, Joe Johnson LICENSE: AGPLv2 +# +# CHANGES +# +# 150608-0647 First build +# + +$startMS = microtime(); + +require("dbconnect_mysqli.php"); +require("functions.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["inbound_group"])) {$inbound_group=$_GET["inbound_group"];} + elseif (isset($_POST["inbound_group"])) {$inbound_group=$_POST["inbound_group"];} +if (isset($_GET["users"])) {$users=$_GET["users"];} + elseif (isset($_POST["users"])) {$users=$_POST["users"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["text_search"])) {$text_search=$_GET["text_search"];} + elseif (isset($_POST["text_search"])) {$text_search=$_POST["text_search"];} +if (isset($_GET["report_display_type"])) {$report_display_type=$_GET["report_display_type"];} + elseif (isset($_POST["report_display_type"])) {$report_display_type=$_POST["report_display_type"];} +if (isset($_GET["chat_log_type"])) {$chat_log_type=$_GET["chat_log_type"];} + elseif (isset($_POST["chat_log_type"])) {$chat_log_type=$_POST["chat_log_type"];} +if (isset($_GET["download_chat_id"])) {$download_chat_id=$_GET["download_chat_id"];} + elseif (isset($_POST["download_chat_id"])) {$download_chat_id=$_POST["download_chat_id"];} +if (isset($_GET["download_chat_subid"])) {$download_chat_subid=$_GET["download_chat_subid"];} + elseif (isset($_POST["download_chat_subid"])) {$download_chat_subid=$_POST["download_chat_subid"];} +if (isset($_GET["download_user"])) {$download_user=$_GET["download_user"];} + elseif (isset($_POST["download_user"])) {$download_user=$_POST["download_user"];} +if (isset($_GET["download_manager"])) {$download_manager=$_GET["download_manager"];} + elseif (isset($_POST["download_manager"])) {$download_manager=$_POST["download_manager"];} + + +if (strlen($shift)<2) {$shift='ALL';} + +$report_name = 'Agent-Manager Chat Log'; +$db_source = 'M'; +$JS_text="\n"; +$HTML_head.="\n"; +$HTML_head.="\n"; +$HTML_text.="\n"; + +$HTML_head.="\n"; +$HTML_head.=""._QXZ("$report_name")."\n"; + + $short_header=1; + +# require("admin_header.php"); + +$HTML_text.="
"; + +$HTML_text.="
\n"; +$HTML_text.=""; + +$HTML_text.=""; + +$HTML_text.="\n"; +$HTML_text.="
"._QXZ("Dates").":
"; +$HTML_text.="\n"; +$HTML_text.=""; + +$HTML_text.="\n"; + +$HTML_text.="
"._QXZ("to")."
"; + +$HTML_text.="\n"; + +$HTML_text.="
"._QXZ("Campaigns").":
"; +$HTML_text.="\n"; +$HTML_text.="
"._QXZ("Inbound Groups").":
"; +$HTML_text.="\n"; +$HTML_text.="
"._QXZ("User Groups").":
"; +$HTML_text.="\n"; +$HTML_text.="
"._QXZ("Users").":
"; +$HTML_text.="\n"; +$HTML_text.="
"; +$HTML_text.=_QXZ("Chat type").":
"; +$HTML_text.="\n

"; +$HTML_text.=_QXZ("Chat text").":
"; +$HTML_text.="

"; +$HTML_text.=_QXZ("Display as").":
"; +$HTML_text.="

\n"; +$HTML_text.="$NWB#agent_performance_detail$NWE\n"; +$HTML_text.="
        "; + +$HTML_text.="          \n"; +$HTML_text.=" "._QXZ("REPORTS")." \n"; +$HTML_text.="\n"; +$HTML_text.="
"; + +$HTML_text.="
\n\n"; + + +$HTML_text.="
\n";
+
+if (!$group)
+	{
+	$HTML_text.="\n";
+	$HTML_text.=_QXZ("PLEASE SELECT A CAMPAIGN AND DATE-TIME ABOVE AND CLICK SUBMIT")."\n";
+	$HTML_text.=" "._QXZ("NOTE: stats taken from shift specified")."\n";
+	}
+else 
+	{
+	if ($shift == 'AM') {
+		$time_BEGIN=$AM_shift_BEGIN;
+		$time_END=$AM_shift_END;
+		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+		if (strlen($time_END) < 6) {$time_END = "15:14:59";}
+	}
+	if ($shift == 'PM') {
+		$time_BEGIN=$PM_shift_BEGIN;
+		$time_END=$PM_shift_END;
+		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+		if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+	if ($shift == 'ALL') {
+		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+	$query_date_BEGIN = "$query_date $time_BEGIN";   
+	$query_date_END = "$end_date $time_END";
+
+	$HTML_text.=_QXZ("Agent/Manager Chat Log Report",47)." $NOW_TIME\n";
+
+	$HTML_text.=_QXZ("Time range").": $query_date_BEGIN "._QXZ("to")." $query_date_END\n\n";
+	$HTML_text.="---------- "._QXZ("$chat_log_type CHAT LOG Details")." -------------\n\n";
+
+
+	if ($chat_log_type=="INTERNAL") {
+		$stmt="select * from vicidial_manager_chats_archive where chat_start_date>='$query_date 00:00:00' and chat_start_date<='$end_date 23:59:59' $user_SQL$matching_text_SQL order by chat_start_date asc";
+		if ($DB) {echo "$stmt
\n";} + $rslt=mysql_to_mysqli($stmt, $link); + if (mysqli_num_rows($rslt)>0) + { + $ASCII_text.="$ASCII_rpt_header\n"; + if ($DB) {$ASCII_text.=$stmt."\n";} + if ($DB) {$GRAPH_text.=$stmt."\n";} + $ASCII_border="+---------+---------------------+------------+---------+$ASCII_border_header\n"; + $ASCII_header="| "._QXZ("CHAT ID",7)." | "._QXZ("CHAT START DATE",19)." | "._QXZ("MANAGER",10)." | "._QXZ("REPLIES",7)." |$ASCII_header\n"; + $ASCII_text.=$ASCII_border.$ASCII_header.$ASCII_border; + + $GRAPH_text.="

"; + $GRAPH_text.="$GRAPH_header"; + + while ($row=mysqli_fetch_array($rslt)) + { + $colspan='6'; + $ASCII_text.="| ".sprintf("%7s", $row["manager_chat_id"])." "; + $ASCII_text.="| ".$row["chat_start_date"]." "; + $ASCII_text.="| ".sprintf("%-10s", $row["manager"])." "; + $ASCII_text.="| ".$row["allow_replies"]." "; + $selected_agents=preg_replace('/^\|$/', "ALL", $row["selected_agents"]); + $selected_user_groups=preg_replace('/^\|$/', "ALL", $row["selected_user_groups"]); + $selected_campaigns=preg_replace('/^\|$/', "ALL", $row["selected_campaigns"]); + $selected_agents=preg_replace('/^\||\|$/', '', $selected_agents); + $selected_user_groups=preg_replace('/^\||\|$/', '', $selected_user_groups); + $selected_campaigns=preg_replace('/^\||\|$/', '', $selected_campaigns); + $selected_agents=preg_replace('/\|/', ', ', $selected_agents); + $selected_user_groups=preg_replace('/\|/', ', ', $selected_user_groups); + $selected_campaigns=preg_replace('/\|/', ', ', $selected_campaigns); + + $GRAPH_text.=""; + if (!preg_match("/\-\-ALL\-\-/", $user_string)) { + $ASCII_text.="| ".sprintf("%-50s", $selected_agents)." "; + $GRAPH_text.=""; + $colspan++; + } + if (!preg_match("/\-\-ALL\-\-/", $user_group_string)) { + $ASCII_text.="| ".sprintf("%-50s", $selected_user_groups)." "; + $GRAPH_text.=""; + $colspan++; + } + if (!preg_match("/\-\-ALL\-\-/", $group_string)) { + $ASCII_text.="| ".sprintf("%-50s", $selected_campaigns)." "; + $GRAPH_text.=""; + $colspan++; + } + + $ASCII_text.="| ["._QXZ("DOWNLOAD FULL LOG")."]["._QXZ("SHOW INDIVIDUAL CHATS")."]\n"; + + $GRAPH_text.=""; + + $sub_stmt="select manager_chat_subid, v.user, vu.full_name, count(*) from vicidial_manager_chat_log_archive v, vicidial_users vu where manager_chat_id='".$row["manager_chat_id"]."' and v.user=vu.user $matching_text_subid_SQL group by manager_chat_subid, user, full_name order by manager_chat_subid asc"; + if ($DB) {echo "$sub_stmt
\n";} + $sub_rslt=mysqli_query($link, $sub_stmt); + + $ASCII_text.=""; + + } + $ASCII_text.=$ASCII_border; + $GRAPH_text.="
"._QXZ("CHAT ID").""._QXZ("CHAT START DATE").""._QXZ("MANAGER").""._QXZ("REPLIES")."  
$row[manager_chat_id]$row[chat_start_date]$row[manager]$row[allow_replies]$selected_agents$selected_user_groups$selected_campaigns ["._QXZ("DOWNLOAD FULL LOG")."] ["._QXZ("SHOW INDIVIDUAL CHATS")."]
"; + } + } else if ($chat_log_type=="CUSTOMER") { + # chat_id | chat_start_time | status | chat_creator | group_id | lead_id - vicidial_chat_archive + $stmt="select vca.*, v.first_name, v.last_name from vicidial_chat_archive vca, vicidial_list v where chat_start_time>='$query_date 00:00:00' and chat_start_time<='$end_date 23:59:59' and vca.lead_id=v.lead_id $inbound_group_SQL$ingroup_SQL$customer_user_SQL$matching_text_SQL order by chat_start_time asc"; + if ($DB) {echo "**********$stmt
\n";} + $rslt=mysql_to_mysqli($stmt, $link); + if (mysqli_num_rows($rslt)>0) + { + $ASCII_text.="$ASCII_rpt_header\n"; + if ($DB) {$ASCII_text.=$stmt."\n";} + if ($DB) {$GRAPH_text.=$stmt."\n";} + $ASCII_border="+---------+---------------------+------------+----------------------------------------------------+$ASCII_border_header\n"; + $ASCII_header="| "._QXZ("CHAT ID",7)." | "._QXZ("CHAT START DATE",19)." | "._QXZ("AGENT",10)." | "._QXZ("CUSTOMER",50)." |$ASCII_header\n"; + $ASCII_text.=$ASCII_border.$ASCII_header.$ASCII_border; + + $GRAPH_text.="

"; + $GRAPH_text.="$GRAPH_header"; + + while ($row=mysqli_fetch_array($rslt)) + { + $colspan='5'; + $ASCII_text.="| ".sprintf("%7s", $row["chat_id"])." "; + $ASCII_text.="| ".$row["chat_start_time"]." "; + $ASCII_text.="| ".sprintf("%-10s", $row["chat_creator"])." "; + $ASCII_text.="| ".sprintf("%-50s", "$row[first_name] $row[last_name]")." "; + $selected_agents=preg_replace('/^\|$/', "ALL", $row["selected_agents"]); + $selected_inbound_groups=preg_replace('/^\|$/', "ALL", $row["selected_inbound_groups"]); + #$selected_campaigns=preg_replace('/^\|$/', "ALL", $row["selected_campaigns"]); + $selected_agents=preg_replace('/^\||\|$/', '', $selected_agents); + $selected_inbound_groups=preg_replace('/^\||\|$/', '', $selected_inbound_groups); + #$selected_campaigns=preg_replace('/^\||\|$/', '', $selected_campaigns); + $selected_agents=preg_replace('/\|/', ', ', $selected_agents); + $selected_inbound_groups=preg_replace('/\|/', ', ', $selected_inbound_groups); + #$selected_campaigns=preg_replace('/\|/', ', ', $selected_campaigns); + + $GRAPH_text.=""; + if (!preg_match("/\-\-ALL\-\-/", $user_string)) { + $ASCII_text.="| ".sprintf("%-50s", $selected_agents)." "; + $GRAPH_text.=""; + $colspan++; + } + if (!preg_match("/\-\-ALL\-\-/", $inbound_group_string)) { + $ASCII_text.="| ".sprintf("%-50s", $selected_inbound_groups)." "; + $GRAPH_text.=""; + $colspan++; + } + + $ASCII_text.="| ["._QXZ("DOWNLOAD FULL LOG")."]["._QXZ("SHOW CHAT")."]\n"; + + $GRAPH_text.=""; + ### YOU LEFT OFF HERE 4/19 + + #message_row_id | chat_id | message | message_time | poster | chat_member_name | chat_level + + $sub_stmt="select message_time, chat_member_name, message, chat_id from vicidial_chat_log_archive where chat_id='".$row["chat_id"]."' $matching_text_subid_SQL order by message_time asc"; + if ($DB) {echo "$sub_stmt
\n";} + $sub_rslt=mysqli_query($link, $sub_stmt); + + $ASCII_text.=""; + + } + + $ASCII_text.=$ASCII_border; + $GRAPH_text.="
"._QXZ("CHAT ID").""._QXZ("CHAT START DATE").""._QXZ("AGENT").""._QXZ("CUSTOMER")."  
$row[chat_id]$row[chat_start_time]$row[chat_creator]$selected_agents$selected_inbound_groups ["._QXZ("DOWNLOAD FULL LOG")."] ["._QXZ("SHOW CHAT")."]
"; + } + } + + if ($file_download == 1) + { + $CSV_text.="\""._QXZ("$chat_log_type Chat Log Report")." $NOW_TIME\"\n"; + $CSV_text.="\""._QXZ("Time range").": $query_date_BEGIN "._QXZ("to")." $query_date_END\"\n"; + $ASCII_rpt_header=preg_replace('/\s\s\s/i', "\",\"", $ASCII_rpt_header); + $CSV_text.="\"".$ASCII_rpt_header."\"\n"; + + $mgr_stmt="select full_name from vicidial_users where user='$download_manager'"; + $mgr_rslt=mysqli_query($link, $mgr_stmt); + $mgr_row=mysqli_fetch_row($mgr_rslt); + $mgr_name=$mgr_row[0]; + + if ($DB) {$CSV_text.="|$mgr_stmt|\n";} + + if ($chat_log_type=="INTERNAL") { + $user_stmt="select vu.user, vu.full_name from vicidial_users vu, vicidial_manager_chat_log_archive v where manager_chat_id='$download_chat_id' and v.user=vu.user"; + if ($download_chat_subid) {$user_stmt.=" and manager_chat_subid='$download_chat_subid' ";} + $user_rslt=mysqli_query($link, $user_stmt); + while ($user_row=mysqli_fetch_row($user_rslt)) { + $user_name["$user_row[0]"]=$user_row[1]; + } + + $csv_stmt="select * from vicidial_manager_chat_log_archive where manager_chat_id='$download_chat_id' "; + if ($download_chat_subid) {$csv_stmt.=" and manager_chat_subid='$download_chat_subid' ";} + $csv_stmt.=" order by message_date asc"; + $csv_rslt=mysqli_query($link, $csv_stmt); + if ($DB) {$CSV_text.="|$csv_stmt|\n";} + + $CSV_text.="\""._QXZ("MESSAGE DATE")."\",\""._QXZ("MESSAGE POSTED BY")."\",\""._QXZ("MESSAGE")."\"\n"; + + while($csv_row=mysqli_fetch_array($csv_rslt)) + { + if ($csv_row["message_posted_by"]==$download_manager) {$poster="$mgr_name";} else {$poster=$user_name["$csv_row[message_posted_by]"];} + $CSV_text.="\"".$csv_row["message_date"]."\",\"".$poster."\",\"".$csv_row["message"]."\"\n"; + } + } else if ($chat_log_type=="CUSTOMER") { + $csv_stmt="select * from vicidial_chat_log_archive where chat_id='$download_chat_id' order by message_time asc"; + $csv_rslt=mysqli_query($link, $csv_stmt); + + $CSV_text.="\""._QXZ("MESSAGE TIME")."\",\""._QXZ("MESSAGE POSTED BY")."\",\""._QXZ("MESSAGE")."\"\n"; + while($csv_row=mysqli_fetch_array($csv_rslt)) + { + $CSV_text.="\"".$csv_row["message_time"]."\",\"".$csv_row["chat_member_name"]."\",\"".$csv_row["message"]."\"\n"; + } + } + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AST_CHAT_LOG$US$FILE_TIME.csv"; + + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$CSV_text"; + + if ($db_source == 'S') + { + mysqli_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect_mysqli.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + + exit; + } + + if ($report_display_type=="HTML") + { + $HTML_text.=$GRAPH_text; + } + else + { + $HTML_text.=$ASCII_text; + } + + $HTML_text.="\n\n
$db_source"; + $HTML_text.="
"; + + $HTML_text.=""; + } + + if ($file_download == 0 || !$file_download) + { + echo $HTML_head; + require("admin_header.php"); + echo $HTML_text; + } + + + if ($db_source == 'S') + { + mysqli_close($link); + $use_slave_server=0; + $db_source = 'M'; + require("dbconnect_mysqli.php"); + } + + $endMS = microtime(); + $startMSary = explode(" ",$startMS); + $endMSary = explode(" ",$endMS); + $runS = ($endMSary[0] - $startMSary[0]); + $runM = ($endMSary[1] - $startMSary[1]); + $TOTALrun = ($runS + $runM); + + $stmt="UPDATE vicidial_report_log set run_time='$TOTALrun' where report_log_id='$report_log_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + + exit; +?> + + diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index d70e5d07..edd2b5f7 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -109,9 +109,9 @@ $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; $PHP_SELF=$_SERVER['PHP_SELF']; $QUERY_STRING = getenv("QUERY_STRING"); -$Vreports = 'NONE, Real-Time Main Report, Real-Time Campaign Summary , Inbound Report, Inbound Service Level Report, Inbound Summary Hourly Report, Inbound Daily Report, Inbound DID Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Lists Campaign Statuses Report, Campaign Status List Report, Export Calls Report, Export Leads Report , Agent Time Detail, Agent Status Detail, Agent Performance Detail, Team Performance Detail, Performance Comparison Report, Single Agent Daily, Single Agent Daily Time, User Group Login Report, User Timeclock Report, User Group Timeclock Status Report, User Timeclock Detail Report , Server Performance Report, Administration Change Log, List Update Stats, User Stats, User Time Sheet, Download List, Dialer Inventory Report, Maximum System Stats, Maximum Stats Detail, Search Leads Logs, Email Log Report, Carrier Log Report, Campaign Debug, Hangup Cause Report, Lists Pass Report, Called Counts List IDs Report'; +$Vreports = 'NONE, Real-Time Main Report, Real-Time Campaign Summary , Inbound Report, Inbound Service Level Report, Inbound Summary Hourly Report, Inbound Daily Report, Inbound DID Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Lists Campaign Statuses Report, Campaign Status List Report, Export Calls Report, Export Leads Report , Agent Time Detail, Agent Status Detail, Agent Performance Detail, Team Performance Detail, Performance Comparison Report, Single Agent Daily, Single Agent Daily Time, User Group Login Report, User Timeclock Report, User Group Timeclock Status Report, User Timeclock Detail Report , Server Performance Report, Administration Change Log, List Update Stats, User Stats, User Time Sheet, Download List, Dialer Inventory Report, Maximum System Stats, Maximum Stats Detail, Search Leads Logs, Email Log Report, Carrier Log Report, Campaign Debug, Hangup Cause Report, Lists Pass Report, Called Counts List IDs Report, Agent-Manager Chat Log'; -$UGreports = 'ALL REPORTS, NONE, Real-Time Main Report, Real-Time Campaign Summary , Inbound Report, Inbound Service Level Report, Inbound Summary Hourly Report, Inbound Daily Report, Inbound DID Report, Inbound Email Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Lists Campaign Statuses Report, Campaign Status List Report, Export Calls Report , Export Leads Report , Agent Time Detail, Agent Status Detail, Agent Performance Detail, Team Performance Detail, Performance Comparison Report, Single Agent Daily, Single Agent Daily Time, User Group Login Report, User Timeclock Report, User Group Timeclock Status Report, User Timeclock Detail Report , Server Performance Report, Administration Change Log, List Update Stats, User Stats, User Time Sheet, Download List, Dialer Inventory Report, Custom Reports Links, CallCard Search, Maximum System Stats, Maximum Stats Detail, Search Leads Logs, Email Log Report, Lists Pass Report, Called Counts List IDs Report, Front Page System Summary'; +$UGreports = 'ALL REPORTS, NONE, Real-Time Main Report, Real-Time Campaign Summary , Inbound Report, Inbound Service Level Report, Inbound Summary Hourly Report, Inbound Daily Report, Inbound DID Report, Inbound Email Report, Inbound IVR Report, Outbound Calling Report, Outbound Summary Interval Report, Outbound IVR Report, Fronter - Closer Report, Lists Campaign Statuses Report, Campaign Status List Report, Export Calls Report , Export Leads Report , Agent Time Detail, Agent Status Detail, Agent Performance Detail, Team Performance Detail, Performance Comparison Report, Single Agent Daily, Single Agent Daily Time, User Group Login Report, User Timeclock Report, User Group Timeclock Status Report, User Timeclock Detail Report , Server Performance Report, Administration Change Log, List Update Stats, User Stats, User Time Sheet, Download List, Dialer Inventory Report, Custom Reports Links, CallCard Search, Maximum System Stats, Maximum Stats Detail, Search Leads Logs, Email Log Report, Lists Pass Report, Called Counts List IDs Report, Front Page System Summary, Agent-Manager Chat Log'; $Vtables = 'NONE,log_noanswer,did_agent_log,contact_information'; @@ -1746,6 +1746,14 @@ if (isset($_GET["dial_ingroup_cid"])) {$dial_ingroup_cid=$_GET["dial_ingroup_c elseif (isset($_POST["dial_ingroup_cid"])) {$dial_ingroup_cid=$_POST["dial_ingroup_cid"];} if (isset($_GET["allow_emails"])) {$allow_emails=$_GET["allow_emails"];} elseif (isset($_POST["allow_emails"])) {$allow_emails=$_POST["allow_emails"];} +if (isset($_GET["allow_chats"])) {$allow_chats=$_GET["allow_chats"];} + elseif (isset($_POST["allow_chats"])) {$allow_chats=$_POST["allow_chats"];} +if (isset($_GET["chat_url"])) {$chat_url=$_GET["chat_url"];} + elseif (isset($_POST["chat_url"])) {$chat_url=$_POST["chat_url"];} +if (isset($_GET["chat_timeout"])) {$chat_timeout=$_GET["chat_timeout"];} + elseif (isset($_POST["chat_timeout"])) {$chat_timeout=$_POST["chat_timeout"];} +if (isset($_GET["manager_chat_id"])) {$manager_chat_id=$_GET["manager_chat_id"];} + elseif (isset($_POST["manager_chat_id"])) {$manager_chat_id=$_POST["manager_chat_id"];} if (isset($_GET["group_handling"])) {$group_handling=$_GET["group_handling"];} elseif (isset($_POST["group_handling"])) {$group_handling=$_POST["group_handling"];} if (isset($_GET["agentcall_email"])) {$agentcall_email=$_GET["agentcall_email"];} @@ -1934,7 +1942,7 @@ if (strlen($dial_status) > 0) ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,allow_chats,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); @@ -1984,12 +1992,13 @@ if ($qm_conf_ct > 0) $SScountry_code_list_stats = $row[40]; $SSfrozen_server_call_clear = $row[41]; $SSactive_modules = $row[42]; - $SSenable_languages = $row[43]; - $SSlanguage_method = $row[44]; - $SSmeetme_enter_login_filename = $row[45]; - $SSmeetme_enter_leave3way_filename = $row[46]; - $SSenable_did_entry_list_id = $row[47]; - $SSenable_third_webform = $row[48]; + $SSallow_chats = $row[43]; + $SSenable_languages = $row[44]; + $SSlanguage_method = $row[45]; + $SSmeetme_enter_login_filename = $row[46]; + $SSmeetme_enter_leave3way_filename = $row[47]; + $SSenable_did_entry_list_id = $row[48]; + $SSenable_third_webform = $row[49]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -3483,12 +3492,13 @@ else # 150428-1705 - Added options for third webform # 150429-1222 - Added new API user restrictions # 150512-2225 - Fixed SQL for permissions +# 150603-2000 - Modified for chat settings # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 9 to access this page the first time -$admin_version = '2.12-485a'; -$build = '150512-2225'; +$admin_version = '2.12-486a'; +$build = '150603-2000'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -3910,6 +3920,7 @@ echo "\n"; echo "\n"; echo "\n"; echo "\n"; +echo ""; if ($SSnocache_admin=='1') { echo "\n"; @@ -5507,7 +5518,11 @@ if ($ADD==11) {$eswHTML = "";} if ($SScustom_fields_enabled > 0) {$cfwHTML = "";} - echo ""._QXZ("Get Call Launch").": $NWB#campaigns-get_call_launch$NWE\n"; + if ($SSallow_emails > 0) + {$aemHTML = "";} + if ($SSallow_chats > 0) + {$achHTML = "";} + echo ""._QXZ("Get Call Launch").": $NWB#campaigns-get_call_launch$NWE\n"; echo "\n"; echo "\n"; } @@ -5978,7 +5993,11 @@ if ($ADD==1111) {$eswHTML = "";} if ($SScustom_fields_enabled > 0) {$cfwHTML = "";} - echo ""._QXZ("Get Call Launch").": $NWB#inbound_groups-get_call_launch$NWE\n"; + if ($SSallow_emails > 0) + {$aemHTML = "";} + if ($SSallow_chats > 0) + {$achHTML = "";} + echo ""._QXZ("Get Call Launch").": $NWB#inbound_groups-get_call_launch$NWE\n"; if ($SSallow_emails>0 || $SSallow_chats > 0) { echo ""._QXZ("Group Handling").": $eswHTML$cfwHTML$achHTML$NWB#inbound_groups-get_call_launch$NWE\n"; + echo ""._QXZ("Get Call Launch").": $NWB#inbound_groups-get_call_launch$NWE\n"; echo "\n"; echo "\n"; } @@ -6120,9 +6141,11 @@ if ($ADD==18111) {$eswHTML = "";} if ($SScustom_fields_enabled > 0) {$cfwHTML = "";} + if ($SSallow_emails > 0) + {$aemHTML = "";} if ($SSallow_chats > 0) {$achHTML = "";} - echo ""._QXZ("Get Call Launch").": $NWB#inbound_groups-get_call_launch$NWE\n"; + echo ""._QXZ("Get Call Launch").": $NWB#inbound_groups-get_call_launch$NWE\n"; echo "\n"; echo "\n"; } @@ -6263,7 +6286,7 @@ if ($ADD==1911) if ($ADD==19111) { - if ( ($LOGmodify_ingroups==1) and ($SSallow_emails>0) ) + if ( ($LOGmodify_ingroups==1) and ($SSallow_chats>0) ) { ##### BEGIN ID override optional section, if enabled it increments user by 1 ignoring entered value ##### $stmt = "SELECT count(*) FROM vicidial_override_ids where id_table='vicidial_inbound_groups' and active='1';"; @@ -14927,7 +14950,7 @@ if ($ADD==411111111111111) $custom_dialplanSQL=''; if ($LOGmodify_custom_dialplans > 0) {$custom_dialplanSQL = ",custom_dialplan_entry='$custom_dialplan_entry'";} - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages',language_method='$language_method',meetme_enter_login_filename='$meetme_enter_login_filename',meetme_enter_leave3way_filename='$meetme_enter_leave3way_filename',enable_did_entry_list_id='$enable_did_entry_list_id',enable_third_webform='$enable_third_webform'$custom_dialplanSQL;"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages',language_method='$language_method',meetme_enter_login_filename='$meetme_enter_login_filename',meetme_enter_leave3way_filename='$meetme_enter_leave3way_filename',enable_did_entry_list_id='$enable_did_entry_list_id',enable_third_webform='$enable_third_webform',allow_chats='$allow_chats',chat_url='$chat_url',chat_timeout='$chat_timeout'$custom_dialplanSQL;"; $rslt=mysql_to_mysqli($stmt, $link); if ( ($meetme_enter_login_filename != $SSmeetme_enter_login_filename) or ($meetme_enter_leave3way_filename != $SSmeetme_enter_leave3way_filename) ) @@ -18277,7 +18300,7 @@ if ($ADD==31) $enable_vtiger_integration_LU = $row[0]; $vtiger_url_LU = $row[1]; - $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,in_group_dial,in_group_dial_select,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,cpd_unknown_action,manual_dial_search_filter,web_form_address_three from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; + $stmt="SELECT campaign_id,campaign_name,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_third_audio_file,survey_third_status,survey_third_exten,survey_fourth_digit,survey_fourth_audio_file,survey_fourth_status,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,waitforsilence_options,agent_select_territories,campaign_calldate,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,queuemetrics_callstatus_override,extension_appended_cidname,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,inbound_queue_no_dial,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,ivr_park_call_agi,manual_preview_dial,realtime_agent_time_stats,use_auto_hopper,auto_hopper_multi,auto_trim_hopper,api_manual_dial,manual_dial_call_time_check,display_leads_count,lead_order_randomize,lead_order_secondary,per_call_notes,my_callback_option,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_resume_precall,auto_pause_precall_code,manual_dial_cid,post_phone_time_diff_alert,custom_3way_button_transfer,available_only_tally_threshold,available_only_tally_threshold_agents,dial_level_threshold,dial_level_threshold_agents,safe_harbor_audio,safe_harbor_menu_id,survey_menu_id,callback_days_limit,dl_diff_target_method,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,na_call_url,survey_recording,pllb_grouping,pllb_grouping_limit,call_count_limit,call_count_target,callback_hours_block,callback_list_calltime,user_group,hopper_vlc_dup_check,in_group_dial,in_group_dial_select,safe_harbor_audio_field,pause_after_next_call,owner_populate,use_other_campaign_dnc,allow_emails,amd_inbound_group,amd_callmenu,survey_wait_sec,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,allow_chats,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,cpd_unknown_action,manual_dial_search_filter,web_form_address_three from vicidial_campaigns where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $campaign_name = $row[1]; @@ -18508,15 +18531,16 @@ if ($ADD==31) $wrapup_after_hotkey = $row[226]; $callback_active_limit = $row[227]; $callback_active_limit_override = $row[228]; - $comments_all_tabs = $row[229]; - $comments_dispo_screen = $row[230]; - $comments_callback_screen = $row[231]; - $qc_comment_history = $row[232]; - $show_previous_callback = $row[233]; - $clear_script = $row[234]; - $cpd_unknown_action = $row[235]; - $manual_dial_search_filter=$row[236]; - $web_form_address_three=$row[237]; + $allow_chats = $row[229]; + $comments_all_tabs = $row[230]; + $comments_dispo_screen = $row[231]; + $comments_callback_screen = $row[232]; + $qc_comment_history = $row[233]; + $show_previous_callback = $row[234]; + $clear_script = $row[235]; + $cpd_unknown_action = $row[236]; + $manual_dial_search_filter=$row[237]; + $web_form_address_three=$row[238]; if (preg_match('/DISABLED/', $list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -19377,9 +19401,11 @@ if ($ADD==31) {$eswHTML = "";} if ($SScustom_fields_enabled > 0) {$cfwHTML = '';} + if ($SSallow_emails > 0) + {$aemHTML = "";} if ($SSallow_chats > 0) {$achHTML = '';} - echo ""._QXZ("Get Call Launch").": $NWB#campaigns-get_call_launch$NWE\n"; + echo ""._QXZ("Get Call Launch").": $NWB#campaigns-get_call_launch$NWE\n"; echo ""._QXZ("Answering Machine Message").": "._QXZ("audio chooser")." $NWB#campaigns-am_message_exten$NWE\n"; $stmt="SELECT count(*) from vicidial_lists where campaign_id='$campaign_id' and am_message_exten_override != '' and active='Y' $LOGallowed_campaignsSQL;"; @@ -20135,18 +20161,18 @@ if ($ADD==31) echo "
"._QXZ("CUSTOM STATUSES WITHIN THIS CAMPAIGN").":   $NWB#campaign_statuses$NWE
\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; ##### get status category listings for dynamic pulldown @@ -23517,9 +23543,21 @@ if ($ADD==3111) {$eswHTML = "";} if ($SScustom_fields_enabled > 0) {$cfwHTML = "";} + if ($SSallow_emails > 0) + {$aemHTML = "";} if ($SSallow_chats > 0) {$achHTML = "";} - echo "\n"; + echo "\n"; + + if ($SSallow_emails>0 || $SSallow_chats > 0) + { + echo "\n"; + } + else + {echo "\n";} echo "\n"; @@ -25290,6 +25328,8 @@ if ($ADD==3911) echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; @@ -29930,7 +29970,7 @@ if ($ADD==311111111111111) $ALLagent_count = $rowx[2]; } - $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform from system_settings;"; + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,allow_chats,chat_url,chat_timeout,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform from system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $version = $row[0]; @@ -30057,12 +30097,15 @@ if ($ADD==311111111111111) $queuemetrics_pause_type = $row[121]; $frozen_server_call_clear = $row[122]; $callback_time_24hour = $row[123]; - $enable_languages = $row[124]; - $language_method = $row[125]; - $meetme_enter_login_filename = $row[126]; - $meetme_enter_leave3way_filename = $row[127]; - $enable_did_entry_list_id = $row[128]; - $enable_third_webform = $row[129]; + $allow_chats = $row[124]; + $chat_url = $row[125]; + $chat_timeout = $row[126]; + $enable_languages = $row[127]; + $language_method = $row[128]; + $meetme_enter_login_filename = $row[129]; + $meetme_enter_leave3way_filename = $row[130]; + $enable_did_entry_list_id = $row[131]; + $enable_third_webform = $row[132]; if ($pass_hash_enabled > 0) {$pass_hash_enabled = 'ENABLED';} else {$pass_hash_enabled = 'DISABLED';} @@ -30293,6 +30336,12 @@ if ($ADD==311111111111111) echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; echo "\n"; @@ -30482,18 +30531,18 @@ if ($ADD==321111111111111) echo "
\n"; echo ""._QXZ("STATUSES WITHIN THIS SYSTEM").":   $NWB#system_statuses$NWE
\n"; echo "
S
T
A
T
U
S
"._QXZ("STATUS").""._QXZ("DESCRIPTION").""._QXZ("CATEGORY")."
A
G
E
N
T
 
S
E
L
E
C
T
A
B
L
E
H
U
M
A
N
 
A
N
S
W
E
R
S
A
L
E
D
N
C
C
U
S
T
O
M
E
R
 
C
O
N
T
A
C
T
N
O
T
 
I
N
T
E
R
E
S
T
E
D
U
N
W
O
R
K
A
B
L
E
S
C
H
E
D
U
L
E
D
 
C
A
L
L
B
A
C
K
C
O
M
P
L
E
T
E
D
"._QXZ("AGENT SELECTABLE").""._QXZ("HUMAN ANSWER").""._QXZ("SALE").""._QXZ("DNC").""._QXZ("CUSTOMER CONTACT").""._QXZ("NOT INTERESTED").""._QXZ("UNWORKABLE").""._QXZ("SCHEDULED CALLBACK").""._QXZ("COMPLETED").""._QXZ("MODIFY/DELETE")."
"._QXZ("Get Call Launch").": $NWB#inbound_groups-get_call_launch$NWE
"._QXZ("Get Call Launch").": $NWB#inbound_groups-get_call_launch$NWE
"._QXZ("Group Handling").": $NWB#inbound_groups-group_handling$NWE
"._QXZ("Transfer-Conf DTMF")." 1: $NWB#inbound_groups-xferconf_a_dtmf$NWE
"._QXZ("Uniqueid Status Prefix").": $NWB#inbound_groups-uniqueid_status_prefix$NWE
"._QXZ("Download customer chat files").": "._QXZ("Download").", "._QXZ("unzip, and place unzipped vdchat_customer folder in htdocs folder on web server, or a server or location of your choosing, location MUST be on a server with Vicidial installed specific to your system. Enter the URL of the final location in the Chat URL setting under the System Settings.")."
"._QXZ("Allow Emails").": $NWB#settings-allow_emails$NWE
"._QXZ("Allow Chats").": $NWB#settings-allow_chats$NWE
"._QXZ("Chat Timeout in seconds").": $NWB#campaigns-chat_timeout$NWE
"._QXZ("Chat URL").": $NWB#settings-chat_url$NWE
"._QXZ("First Login Trigger").": $first_login_trigger   $NWB#settings-first_login_trigger$NWE
"._QXZ("Default Phone Registration Password").": $NWB#settings-default_phone_registration_password$NWE     "._QXZ("Strength").":
\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; ##### get status category listings for dynamic pulldown @@ -31518,14 +31567,14 @@ if ( ($ADD==1900) and ($SSallow_chats>0) ) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} - echo ""; + echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; - echo "\n"; + echo "\n"; $o++; } @@ -34066,6 +34115,7 @@ if ($ADD==999994) echo "
  • "._QXZ("Webserver-URL Report")."\n"; echo "
  • "._QXZ("Agent LAGGED Report")."\n"; echo "
  • "._QXZ("User Group Login Report")."\n"; + echo "
  • "._QXZ("Agent-Manager Chat Log")."\n"; echo "
  • "._QXZ("Admin Report Log Viewer")."\n"; echo "

    \n"; echo "
  • "._QXZ("Bulk Phone Insert Page")."\n"; diff --git a/www/vicidial/vicidial_stylesheet.css b/www/vicidial/vicidial_stylesheet.css new file mode 100644 index 00000000..c4f51eeb --- /dev/null +++ b/www/vicidial/vicidial_stylesheet.css @@ -0,0 +1,74 @@ +.vertical-text { + writing-mode:tb-rl; + -webkit-transform:rotate(90deg); + -moz-transform:rotate(90deg); + -o-transform: rotate(90deg); + white-space:nowrap; + display:block; + top:0; + width:20px; + height:20px; +} +input.tiny_red_btn{ + color:#FFFFFF; + font-size:9px; + font-weight:bold; + background-color:#993333; + border:1px solid; + border-top-color:#FFCCCC; + border-left-color:#FFCCCC; + border-right-color:#660000; + border-bottom-color:#660000; + filter:progid:DXImageTransform.Microsoft.Gradient + (GradientType=0,StartColorStr='#00ffffff',EndColorStr='#ff660000');} +input.tiny_blue_btn{ + color:#FFFFFF; + font-size:9px; + font-weight:bold; + background-color:#3333FF; + border:1px solid; + border-top-color:#CCCCFF; + border-left-color:#CCCCFF; + border-right-color:#000066; + border-bottom-color:#000066; + filter:progid:DXImageTransform.Microsoft.Gradient + (GradientType=0,StartColorStr='#00ffffff',EndColorStr='#ff000066');} +input.tiny_yellow_btn{ + color:#000000; + font-size:9px; + font-weight:bold; + background-color:#FFFF00; + border:1px solid; + border-top-color:#FFFFCC; + border-left-color:#FFFFCC; + border-right-color:#333300; + border-bottom-color:#333300; + filter:progid:DXImageTransform.Microsoft.Gradient + (GradientType=0,StartColorStr='#00ffffff',EndColorStr='#ffFFFF00');} +input.tiny_green_btn{ + color:#FFFFFF; + font-size:9px; + font-weight:bold; + background-color:#009900; + border:1px solid; + border-top-color:#CCFFCC; + border-left-color:#CCFFCC; + border-right-color:#003300; + border-bottom-color:#003300; + filter:progid:DXImageTransform.Microsoft.Gradient + (GradientType=0,StartColorStr='#00ffffff',EndColorStr='#FF003300');} +div.scrolling { + height: 77px; + width: 320px; + overflow: auto; + border: 1px solid #666; + background-color: #FFF; + padding: 2px; +} +textarea.chat_box { + font-family: Arial, Sans-Serif; + font-size: 10px; + margin-bottom: 3px; + padding: 2px; + border: solid 1px #000066; +}
  • S
    T
    A
    T
    U
    S
    "._QXZ("STATUS").""._QXZ("DESCRIPTION").""._QXZ("CATEGORY")."
    A
    G
    E
    N
    T
     
    S
    E
    L
    E
    C
    T
    A
    B
    L
    E
    H
    U
    M
    A
    N
     
    A
    N
    S
    W
    E
    R
    S
    A
    L
    E
    D
    N
    C
    C
    U
    S
    T
    O
    M
    E
    R
     
    C
    O
    N
    T
    A
    C
    T
    N
    O
    T
     
    I
    N
    T
    E
    R
    E
    S
    T
    E
    D
    U
    N
    W
    O
    R
    K
    A
    B
    L
    E
    S
    C
    H
    E
    D
    U
    L
    E
    D
     
    C
    A
    L
    L
    B
    A
    C
    K
    C
    O
    M
    P
    L
    E
    T
    E
    D
    "._QXZ("AGENT SELECTABLE").""._QXZ("HUMAN ANSWER").""._QXZ("SALE").""._QXZ("DNC").""._QXZ("CUSTOMER CONTACT").""._QXZ("NOT INTERESTED").""._QXZ("UNWORKABLE").""._QXZ("SCHEDULED CALLBACK").""._QXZ("COMPLETED").""._QXZ("MODIFY/DELETE")."
    $row[0]
    $row[0] $row[1] $row[2] $row[3] $allowed_campaigns_warning $row[6] $row[4]  "._QXZ("MODIFY")."
    "._QXZ("MODIFY")."