From b4b0caa5c9722fc899f85848cec27bdcafe52cb7 Mon Sep 17 00:00:00 2001 From: mattf Date: Mon, 12 Oct 2009 07:56:15 +0000 Subject: [PATCH] added agent-selectable territories option to vicidial.php git-svn-id: svn://192.168.202.10@1241 3d104415-ff17-0410-8863-d5cf3c621b8a --- UPGRADE | 10 +- docs/QUEUEMETRICS.txt | 26 +- extras/MySQL_AST_CREATE_tables.sql | 21 +- extras/upgrade_2.2.0.sql | 19 ++ .../TO_BE_TRANSLATED_2.2.0.txt | 4 + www/agc/vdc_db_query.php | 71 +++- www/agc/vicidial.php | 305 +++++++++++++++--- www/vicidial/admin.php | 91 ++++-- www/vicidial/user_territories.php | 73 ++++- 9 files changed, 524 insertions(+), 96 deletions(-) diff --git a/UPGRADE b/UPGRADE index a073e8f6..ec62efd1 100644 --- a/UPGRADE +++ b/UPGRADE @@ -245,7 +245,15 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom drop inbound group to override campaign settings for leads within a specific list - +62. Added Agent-selectable territories list upon login to select what list + territories they want to place calls in. + REQUIREMENTS: + - Must have System Setting "User Territories Active" enabled + - Must have Campaign "No Hopper Dialing" enabled + - Must have Campaign "Owner Only Dialing" set to TERRITORY + - Must have Campaign "Agent Select Territories" enabled + - Must have User "Agent Choose Territories" enabled + - Leads must have the owner field set to desired territory diff --git a/docs/QUEUEMETRICS.txt b/docs/QUEUEMETRICS.txt index 6a013c61..98027d56 100644 --- a/docs/QUEUEMETRICS.txt +++ b/docs/QUEUEMETRICS.txt @@ -145,6 +145,15 @@ index(call_id) ); + +# NOTE: by default QueueMetrics does not index the time_id and call_id field. We strongly recommend you add these indexes: + +CREATE INDEX time_id on queue_log(time_id); +CREATE INDEX call_id on queue_log(call_id); + + + + partition: set to "P01" for the first partition, should match up with configuration.properties presets time_id: epoch, unixtime (seconds since 1970-01-01 00:00:00) [1170345603] @@ -209,6 +218,7 @@ serverid: number of the server the call came from [for VICIDIAL use the database +### For documentation ONLY, these fields should already exist: On the vicidial database side of things, we will add the following columns to the system_settings table: enable_queuemetrics_logging ENUM('0','1') default '0', queuemetrics_server_ip VARCHAR(15), @@ -297,6 +307,12 @@ er=queuemetrics&password=javadude +# NOTE: by default QueueMetrics does not index the time_id and call_id field. We strongly recommend you add these indexes: +mysql queuemetrics +CREATE INDEX time_id on queue_log(time_id); +CREATE INDEX call_id on queue_log(call_id); + + @@ -330,16 +346,18 @@ How to install Queue Metrics on OpenSuSE v.11.1 (32 or 64 bit) with a system tha 15) mysql queuemetrics --execute="GRANT ALL PRIVILEGES ON queuemetrics.* TO queuemetrics@localhost IDENTIFIED BY 'javadude';" 16) mysql queuemetrics --execute="GRANT ALL PRIVILEGES ON queuemetrics.* TO queuemetrics@'%' IDENTIFIED BY 'javadude';" 17) mysql queuemetrics --user=queuemetrics --password=javadude < /srv/tomcat6/webapps/QM/WEB-INF/README/queuemetrics_sample.sql -18) rctomcat6 start +18) mysql queuemetrics --execute="CREATE INDEX time_id on queue_log(time_id);" +19) mysql queuemetrics --execute="CREATE INDEX call_id on queue_log(call_id);" +20) rctomcat6 start -19) Edit /srv/tomcat6/webapps/QM/WEB-INF/configuration.properties and change the entry to the following: +21) Edit /srv/tomcat6/webapps/QM/WEB-INF/configuration.properties and change the entry to the following: - # This is the default queue log file. - default.queue_log_file=sql:P01 -20) Edit /srv/tomcat6/webapps/QM/WEB-INF/web.xml and change the IP address of the following entry: +22) Edit /srv/tomcat6/webapps/QM/WEB-INF/web.xml and change the IP address of the following entry: - jdbc:mysql://10.0.0.4/queuemetrics?autoReconnect=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&user=queuemetrics&password=javadude -21) Go to http://:8080/QM and it should tell you the schema is old, just click next or yes to everything and have fun +23) Go to http://:8080/QM and it should tell you the schema is old, just click next or yes to everything and have fun diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 7a394aab..e66cc4cd 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -306,7 +306,8 @@ index (status), index (gmt_offset_now), index (postal_code), index (last_local_call_time), -index (rank) +index (rank), +index (owner) ); CREATE TABLE vicidial_hopper ( @@ -351,6 +352,7 @@ external_pause VARCHAR(20) default '', external_dial VARCHAR(100) default '', agent_log_id INT(9) UNSIGNED default '0', last_state_change DATETIME, +agent_territories TEXT, index (random_id), index (last_call_time), index (last_update_time), @@ -515,7 +517,8 @@ delete_from_dnc ENUM('0','1') default '0', email VARCHAR(100) default '', user_code VARCHAR(100) default '', territory VARCHAR(100) default '', -allow_alerts ENUM('0','1') default '0' +allow_alerts ENUM('0','1') default '0', +agent_choose_territories ENUM('0','1') default '1' ); @@ -675,7 +678,8 @@ no_hopper_dialing ENUM('Y','N') default 'N', agent_dial_owner_only ENUM('NONE','USER','TERRITORY','USER_GROUP') default 'NONE', agent_display_dialable_leads ENUM('Y','N') default 'N', web_form_address_two TEXT, -waitforsilence_options VARCHAR(25) default '' +waitforsilence_options VARCHAR(25) default '', +agent_select_territories ENUM('Y','N') default 'N' ); CREATE TABLE vicidial_lists ( @@ -1810,6 +1814,15 @@ old_messages INT(4) default '0', email VARCHAR(100) ); +CREATE TABLE vicidial_user_territory_log ( +user VARCHAR(20), +campaign_id VARCHAR(20), +event_date DATETIME, +agent_territories TEXT, +index (user), +index (event_date) +); + ALTER TABLE vicidial_campaign_server_stats ENGINE=HEAP; @@ -1934,7 +1947,7 @@ CREATE INDEX phone_number on vicidial_closer_log (phone_number); CREATE INDEX date_user on vicidial_closer_log (call_date,user); CREATE INDEX comment_a on live_inbound_log (comment_a); -UPDATE system_settings SET db_schema_version='1175',db_schema_update_date=NOW(); +UPDATE system_settings SET db_schema_version='1176',db_schema_update_date=NOW(); GRANT RELOAD ON *.* TO cron@'%'; GRANT RELOAD ON *.* TO cron@localhost; diff --git a/extras/upgrade_2.2.0.sql b/extras/upgrade_2.2.0.sql index 545976e1..d2a5283b 100644 --- a/extras/upgrade_2.2.0.sql +++ b/extras/upgrade_2.2.0.sql @@ -566,3 +566,22 @@ ALTER TABLE vicidial_lists ADD am_message_exten_override VARCHAR(100) default '' ALTER TABLE vicidial_lists ADD drop_inbound_group_override VARCHAR(20) default ''; UPDATE system_settings SET db_schema_version='1175',db_schema_update_date=NOW(); + +ALTER TABLE vicidial_campaigns ADD agent_select_territories ENUM('Y','N') default 'N'; + +ALTER TABLE vicidial_users ADD agent_choose_territories ENUM('0','1') default '1'; + +ALTER TABLE vicidial_live_agents ADD agent_territories TEXT; + +CREATE INDEX owner ON vicidial_list (owner); + +CREATE TABLE vicidial_user_territory_log ( +user VARCHAR(20), +campaign_id VARCHAR(20), +event_date DATETIME, +agent_territories TEXT, +index (user), +index (event_date) +); + +UPDATE system_settings SET db_schema_version='1176',db_schema_update_date=NOW(); diff --git a/translations/raw_translation_files/TO_BE_TRANSLATED_2.2.0.txt b/translations/raw_translation_files/TO_BE_TRANSLATED_2.2.0.txt index c7122bfc..8feae818 100644 --- a/translations/raw_translation_files/TO_BE_TRANSLATED_2.2.0.txt +++ b/translations/raw_translation_files/TO_BE_TRANSLATED_2.2.0.txt @@ -336,6 +336,10 @@ Answering Machine Message Override|| If this field is set, this will override the Answering Machine Message set in the campaign for customers in this list. Default is not set|| Drop Inbound Group Override|| If this field is set, this in-group will be used for outbound calls within this list that drop from the outbound campaign instead of the drop in-group set in the campaign detail screen. Default is not set|| +Agent Select Territories|| +If this option is enabled and the agent belongs to at least one territory, the agent will have the option of selecting territories to dial leads from. The agent will see a list of available territories upon login and they will have the ability to go back to that territory list when paused to change their territories. For this function to work the Owner Only Dialing option must be set to TERRITORY and User Terriories must be enabled in the System Settings. +Agent Choose Territories|| +This option if set to 1 allows the user to choose the territories that they will receive calls from when they login to a MANUAL or INBOUND_MAN campaign. Otherwise the user will be set to use all of the territories that they are set to belong to in the User Territories administrative section|| add-file: user_territories.php diff --git a/www/agc/vdc_db_query.php b/www/agc/vdc_db_query.php index 6018446a..3e91fc18 100644 --- a/www/agc/vdc_db_query.php +++ b/www/agc/vdc_db_query.php @@ -13,7 +13,7 @@ # - $pass # optional variables: # - $format - ('text','debug') -# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','updateLEAD','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change','AlertControl','AGENTSview','CALLSINQUEUEview','CALLSINQUEUEgrab','DiaLableLeaDsCounT') +# - $ACTION - ('regCLOSER','regTERRITORY','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','updateLEAD','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change','AlertControl','AGENTSview','CALLSINQUEUEview','CALLSINQUEUEgrab','DiaLableLeaDsCounT') # - $stage - ('start','finish','lookup','new') # - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') # - $conf_exten - ('8600011',...) @@ -85,6 +85,7 @@ # - $wrapup - ('WRAPUP','') # - $vtiger_callback_id - ('16534'...) # - $nodeletevdac - ('0','1') +# - $agent_territories - ('ABC001','ABC002'...) # # CHANGELOG: # 50629-1044 - First build of script @@ -214,12 +215,13 @@ # 90916-1839 - Added nodeletevdac # 90917-2246 - Fixed auto-alt-dial DNC check bug # 90924-1544 - Added List callerid override option +# 90930-1638 - Added agent_territories feature # -$version = '2.2.0-124'; -$build = '90924-1544'; +$version = '2.2.0-125'; +$build = '90930-1638'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=252; +$mysql_log_count=256; $one_mysql_log=0; require("dbconnect.php"); @@ -393,7 +395,8 @@ if (isset($_GET["no_delete_sessions"])) {$no_delete_sessions=$_GET["no_delete elseif (isset($_POST["no_delete_sessions"])) {$no_delete_sessions=$_POST["no_delete_sessions"];} if (isset($_GET["nodeletevdac"])) {$nodeletevdac=$_GET["nodeletevdac"];} elseif (isset($_POST["nodeletevdac"])) {$nodeletevdac=$_POST["nodeletevdac"];} - +if (isset($_GET["agent_territories"])) {$agent_territories=$_GET["agent_territories"];} + elseif (isset($_POST["agent_territories"])) {$agent_territories=$_POST["agent_territories"];} header ("Content-type: text/html; charset=utf-8"); header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 @@ -786,6 +789,64 @@ if ($ACTION == 'regCLOSER') +################################################################################# +### regTERRITORY - update the vicidial_live_agents table to reflect the territory +### choices made upon login or while paused (agent_territories) +################################################################################# +if ($ACTION == 'regTERRITORY') + { + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($agent_territories)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Territory Choice $agent_territories is not valid\n"; + exit; + } + else + { + if (preg_match("/^MGRLOCK/",$agent_territories)) + { + $stmt="SELECT territory FROM vicidial_user_territories where user='$user';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00253',$user,$server_ip,$session_name,$one_mysql_log);} + $territories_ct = mysql_num_rows($rslt); + if ($DB) {echo "$territories_ct|$stmt\n";} + $k=0; + $agent_territories=''; + while ($territories_ct > $k) + { + $row=mysql_fetch_row($rslt); + $agent_territories .= " $row[0]"; + $k++; + } + $agent_territories .= " -"; + + $stmt="UPDATE vicidial_live_agents set agent_territories='$agent_territories',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00254',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt="UPDATE vicidial_live_agents set agent_territories='$agent_territories',last_state_change='$NOW_TIME' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00255',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $stmt="INSERT INTO vicidial_user_territory_log set user='$user',campaign_id='$campaign',event_date='$NOW_TIME',agent_territories='$agent_territories';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00256',$user,$server_ip,$session_name,$one_mysql_log);} + } + echo "Territory Choice $agent_territories has been registered to user $user\n"; + } + + + + + ################################################################################ ### For every process below, lookup the current agent_log_id for the user ################################################################################ diff --git a/www/agc/vicidial.php b/www/agc/vicidial.php index 2ab61926..d0e3eba1 100644 --- a/www/agc/vicidial.php +++ b/www/agc/vicidial.php @@ -36,7 +36,6 @@ # 50817-1113 - Fixes to auto_dialing call receipt # 50817-1234 - Added inbound call receipt capability # 50817-1541 - Added customer time display -# 50817-1541 - Added customer time display # 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option # 50818-1703 - Added pretty login section # 50825-1200 - Modified form field lengths, added double-click dispositions @@ -257,10 +256,11 @@ # 90920-2108 - Changed web forms to use window.open instead of traditional links(IE7 compatibility issue) # 90923-1310 - Rolled back last change # 90928-1955 - Added lead update before closer transfer +# 90930-2243 - Added Territory selection functions # -$version = '2.2.0-234'; -$build = '90928-1955'; +$version = '2.2.0-235'; +$build = '90930-2243'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=61; $one_mysql_log=0; @@ -338,7 +338,7 @@ $random = (rand(1000000, 9999999) + 10000000); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -357,6 +357,7 @@ while ($i < $qm_conf_ct) $enable_vtiger_integration = $row[7]; $outbound_autodial_active = $row[8]; $enable_second_webform = $row[9]; + $user_territories_active = $row[10]; $i++; } @@ -513,7 +514,7 @@ if ($MGR_override > 0) if ($DB) {echo "|$stmt|\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01059',$VD_login,$server_ip,$session_name,$one_mysql_log);} - print "\n"; + echo "\n"; ### Add a record to the vicidial_admin_log $SQL_log = "$stmt|"; @@ -797,7 +798,7 @@ $VDloginDISPLAY=0; $login=strtoupper($VD_login); $password=strtoupper($VD_pass); ##### grab the full name of the agent - $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override,alert_enabled,agent_shift_enforcement_override,shift_override_flag,allow_alerts,closer_campaigns from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override,alert_enabled,agent_shift_enforcement_override,shift_override_flag,allow_alerts,closer_campaigns,agent_choose_territories from vicidial_users where user='$VD_login' and pass='$VD_pass'"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01007',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -819,6 +820,7 @@ $VDloginDISPLAY=0; $VU_shift_override_flag = $row[15]; $VU_allow_alerts = $row[16]; $VU_closer_campaigns = $row[17]; + $VU_agent_choose_territories = $row[18]; if ( ($VU_alert_enabled > 0) and ($VU_allow_alerts > 0) ) {$VU_alert_enabled = 'ON';} else {$VU_alert_enabled = 'OFF';} @@ -895,7 +897,7 @@ $VDloginDISPLAY=0; $stmt="SELECT shift_id,shift_start_time,shift_length,shift_weekdays from vicidial_shifts where $LOGgroup_shiftsSQL order by shift_id"; $rslt=mysql_query($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01056',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01056',$VD_login,$server_ip,$session_name,$one_mysql_log);} $shifts_to_print = mysql_num_rows($rslt); $o=0; @@ -962,10 +964,6 @@ $VDloginDISPLAY=0; - - - - if ($WeBRooTWritablE > 0) { fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); @@ -1089,7 +1087,7 @@ $VDloginDISPLAY=0; $HKstatusnames = substr("$HKstatusnames", 0, -1); ##### grab the campaign settings - $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,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,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,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,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -1149,6 +1147,14 @@ $VDloginDISPLAY=0; $agent_dial_owner_only = $row[52]; $agent_display_dialable_leads = $row[53]; $web_form_address_two = $row[54]; + $agent_select_territories = $row[55]; + + if ($user_territories_active < 1) + {$agent_select_territories = 0;} + if (preg_match("/Y/",$agent_select_territories)) + {$agent_select_territories=1;} + else + {$agent_select_territories=0;} if (preg_match("/Y/",$agent_display_dialable_leads)) {$agent_display_dialable_leads=1;} @@ -1208,7 +1214,7 @@ $VDloginDISPLAY=0; } } - $stmt = "select group_web_vars from vicidial_campaign_agents where campaign_id='$VD_campaign' and user='$user';"; + $stmt = "select group_web_vars from vicidial_campaign_agents where campaign_id='$VD_campaign' and user='$VD_login';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01056',$VD_login,$server_ip,$session_name,$one_mysql_log);} @@ -1222,7 +1228,7 @@ $VDloginDISPLAY=0; if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) { $campaign_recording = $VU_vicidial_recording_override; - print "\n"; + echo "\n"; } if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) {$scheduled_callbacks='1';} @@ -1295,6 +1301,27 @@ $VDloginDISPLAY=0; else {$closer_campaigns = "''";} + ##### gather territory listings for this agent if select territories is enabled + $VARterritories=''; + if ($agent_select_territories > 0) + { + $stmt="SELECT territory from vicidial_user_territories where user='$VD_login';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $territory_ct = mysql_num_rows($rslt); + $territoryCT=0; + while ($territoryCT < $territory_ct) + { + $row=mysql_fetch_row($rslt); + $territories[$territoryCT] =$row[0]; + $VARterritories = "$VARterritories'$territories[$territoryCT]',"; + $territoryCT++; + } + $VARterritories = substr("$VARterritories", 0, -1); + echo "\n"; + } + ##### grab the allowable inbound groups to choose from for transfer options $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); $xfer_groups = preg_replace("/ /","','",$xfer_groups); @@ -1355,7 +1382,7 @@ $VDloginDISPLAY=0; if ($DB) {echo "$stmt\n";} $row=mysql_fetch_row($rslt); $campaign_leads_to_call = $row[0]; - print "\n"; + echo "\n"; } else @@ -1673,15 +1700,15 @@ else { $VICIDiaL_park_on_extension = "$park_ext"; $VICIDiaL_park_on_filename = "$park_file_name"; - print "\n"; + echo "\n"; } - print "\n"; + echo "\n"; # If a web form address is not set, use the default one if (strlen($web_form_address)>0) { $VICIDiaL_web_form_address = "$web_form_address"; - print "\n"; + echo "\n"; } else { @@ -1695,12 +1722,12 @@ else if (strlen($web_form_address_two)>0) { $VICIDiaL_web_form_address_two = "$web_form_address_two"; - print "\n"; + echo "\n"; } else { $VICIDiaL_web_form_address_two = "$VICIDiaL_web_form_address"; - print "\n"; + echo "\n"; $VICIDiaL_web_form_address_two_enc = rawurlencode($VICIDiaL_web_form_address_two); } $VICIDiaL_web_form_address_two_enc = rawurlencode($VICIDiaL_web_form_address_two); @@ -1709,12 +1736,12 @@ else if ($allow_closers=="Y") { $VICIDiaL_allow_closers = 1; - print "\n"; + echo "\n"; } else { $VICIDiaL_allow_closers = 0; - print "\n"; + echo "\n"; } @@ -1760,7 +1787,7 @@ else $i++; } if ($prev_login_ct > 0) - {print "\n";} + {echo "\n";} else { ##### grab the next available vicidial_conference room and reserve it @@ -1776,14 +1803,14 @@ else $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01034',$VD_login,$server_ip,$session_name,$one_mysql_log);} - $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and ( (extension='$SIP_user') or (extension='$user') );"; + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and ( (extension='$SIP_user') or (extension='$VD_login') );"; if ($format=='debug') {echo "\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01035',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); $session_id = $row[0]; } - print "\n"; + echo "\n"; } ### mark leads that were not dispositioned during previous calls as ERI @@ -1792,30 +1819,30 @@ else $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01036',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); - print "\n"; + echo "\n"; $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01037',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); - print "\n"; + echo "\n"; $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01038',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); - print "\n"; + echo "\n"; $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01039',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); - print "\n"; + echo "\n"; - # print "You have logged in as user: $VD_login on phone: $SIP_user to campaign: $VD_campaign
\n"; + # echo "You have logged in as user: $VD_login on phone: $SIP_user to campaign: $VD_campaign
\n"; $VICIDiaL_is_logged_in=1; ### set the callerID for manager middleware-app to connect the phone to the user @@ -1846,7 +1873,7 @@ else if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) { $SIPSAK_prefix = 'LIN-'; - print "\n"; + echo "\n"; passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; } @@ -1857,7 +1884,7 @@ else $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); - print "\n"; + echo "\n"; ##### grab the campaign_weight and number of calls today on that campaign for the agent $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; @@ -1881,12 +1908,12 @@ else $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01043',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); - print "\n"; + echo "\n"; } if ($auto_dial_level > 0) { - print "\n"; + echo "\n"; $closer_chooser_string=''; @@ -1895,7 +1922,7 @@ else $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01044',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); - print "\n"; + echo "\n"; if ($enable_queuemetrics_logging > 0) { @@ -1907,14 +1934,14 @@ else $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01045',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); - print "\n"; + echo "\n"; $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01046',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); - print "\n"; + echo "\n"; mysql_close($linkB); mysql_select_db("$VARDB_database", $link); @@ -1935,7 +1962,7 @@ else $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01047',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); - print "\n"; + echo "\n"; if ($enable_queuemetrics_logging > 0) { @@ -1947,14 +1974,14 @@ else $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01048',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); - print "\n"; + echo "\n"; $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_query($stmt, $linkB); if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01049',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($linkB); - print "\n"; + echo "\n"; mysql_close($linkB); mysql_select_db("$VARDB_database", $link); @@ -2013,12 +2040,12 @@ else if (ereg('MSIE',$browser)) { $useIE=1; - print "\n"; + echo "\n"; } else { $useIE=0; - print "\n"; + echo "\n"; } $StarTtimE = date("U"); @@ -2030,7 +2057,7 @@ else if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01050',$VD_login,$server_ip,$session_name,$one_mysql_log);} $affected_rows = mysql_affected_rows($link); $agent_log_id = mysql_insert_id($link); - print "\n"; + echo "\n"; $stmt="UPDATE vicidial_live_agents SET agent_log_id='$agent_log_id' where user='$VD_login';"; if ($DB) {echo "$stmt\n";} @@ -2227,6 +2254,8 @@ $CCAL_OUT .= ""; var VU_hotkeys_active = ''; var VU_agent_choose_ingroups = ''; var VU_agent_choose_ingroups_DV = ''; + var agent_choose_territories = ''; + var agent_select_territories = ''; var VU_closer_campaigns = ''; var CallBackDatETimE = ''; var CallBackrecipient = ''; @@ -2251,6 +2280,8 @@ $CCAL_OUT .= ""; var VD_statuses_ct = ''; VARingroups = new Array(); var INgroupCOUNT = ''; + VARterritories = new Array(); + var territoryCOUNT = ''; VARxfergroups = new Array(); VARxfergroupsnames = new Array(); var XFgroupCOUNT = ''; @@ -7401,7 +7432,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} { var CloserSelectListValue = document.vicidial_form.CloserSelectList.value; var CSCchange = 0; - var regCS = new RegExp(" "+taskCSgrp+" ","ig"); + var regCS = new RegExp(" " + taskCSgrp + " ","ig"); var regCSall = new RegExp("-ALL-----","ig"); var regCSallADD = new RegExp("-----ADD-ALL-----","ig"); var regCSallDELETE = new RegExp("-----DELETE-ALL-----","ig"); @@ -7427,7 +7458,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var live_CSC_LIST_value = " "; while (loop_ct < INgroupCOUNT) { - var regCSL = new RegExp(" "+VARingroups[loop_ct]+" ","ig"); + var regCSL = new RegExp(" " + VARingroups[loop_ct] + " ","ig"); if (CloserSelectListValue.match(regCSL)) {CSCcolumn = 'DELETE';} else {CSCcolumn = 'ADD';} if ( ( (VARingroups[loop_ct] == taskCSgrp) && (taskCSchange == 'DELETE') ) || (taskCSgrp.match(regCSallDELETE)) ) {CSCcolumn = 'ADD';} @@ -7518,6 +7549,142 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } +// ################################################################################ +// Generate the Territory Chooser panel + function TerritorySelectContent_create() + { + if (agent_select_territories == '1') + { + if (agent_choose_territories > 0) + { + var live_TERR_HTML = "
TERRITORIES NOT SELECTEDSELECTED TERRITORIES
  --- ADD ALL ---
"; + var loop_ct = 0; + while (loop_ct < territoryCOUNT) + { + live_TERR_HTML = live_TERR_HTML + "
" + VARterritories[loop_ct] + "
"; + loop_ct++; + } + live_TERR_HTML = live_TERR_HTML + "
"; + + document.vicidial_form.TerritorySelectList.value = ''; + document.getElementById("TerritorySelectContent").innerHTML = live_TERR_HTML; + } + else + { + agent_select_territories = "MGRLOCK"; + var live_TERR_HTML = "Manager has selected territories for you
"; + document.vicidial_form.TerritorySelectList.value = ''; + document.getElementById("TerritorySelectContent").innerHTML = live_TERR_HTML; + } + } + } + +// ################################################################################ +// Move a Territory record to the selected column or reverse + function TerritorySelect_change(taskTERRgrp,taskTERRchange) + { + var TerritorySelectListValue = document.vicidial_form.TerritorySelectList.value; + var TERRchange = 0; + var regTERR = new RegExp(" " + taskTERRgrp + " ","ig"); + var regTERRall = new RegExp("-ALL-----","ig"); + var regTERRallADD = new RegExp("-----ADD-ALL-----","ig"); + var regTERRallDELETE = new RegExp("-----DELETE-ALL-----","ig"); + if ( (TerritorySelectListValue.match(regTERR)) && (TerritorySelectListValue.length > 3) ) + { + if (taskTERRchange == 'DELETE') {TERRchange = 1;} + } + else + { + if (taskTERRchange == 'ADD') {TERRchange = 1;} + } + if (taskTERRgrp.match(regTERRall)) + {TERRchange = 1;} +// alert("TERR: " + TerritorySelectListValue + "\nCHANGE: " + TERRchange + "\nACTION: " + taskTERRchange + "\nSELECTED: " + taskTERRgrp + "\nTOTAL: " + territoryCOUNT); + if (TERRchange==1) + { + var loop_ct = 0; + var TERRcolumn = ''; + var live_TERR_HTML_ADD = ''; + var live_TERR_HTML_DELETE = ''; + var live_TERR_LIST_value = " "; + while (loop_ct < territoryCOUNT) + { + var regTERRL = new RegExp(" " + VARterritories[loop_ct] + " ","ig"); + if (TerritorySelectListValue.match(regTERRL)) {TERRcolumn = 'DELETE';} + else {TERRcolumn = 'ADD';} + if ( ( (VARterritories[loop_ct] == taskTERRgrp) && (taskTERRchange == 'DELETE') ) || (taskTERRgrp.match(regTERRallDELETE)) ) + {TERRcolumn = 'ADD';} + if ( ( (VARterritories[loop_ct] == taskTERRgrp) && (taskTERRchange == 'ADD') ) || (taskTERRgrp.match(regTERRallADD)) ) + {TERRcolumn = 'DELETE';} + + if (TERRcolumn == 'DELETE') + { + live_TERR_HTML_DELETE = live_TERR_HTML_DELETE + "" + VARterritories[loop_ct] + "
"; + live_TERR_LIST_value = live_TERR_LIST_value + VARterritories[loop_ct] + " "; + } + else + { + live_TERR_HTML_ADD = live_TERR_HTML_ADD + "
" + VARterritories[loop_ct] + "
"; + } + loop_ct++; + } + + document.vicidial_form.TerritorySelectList.value = live_TERR_LIST_value; + document.getElementById("TerritorySelectAdd").innerHTML = "  
--- ADD ALL ---
" + live_TERR_HTML_ADD; + document.getElementById("TerritorySelectDelete").innerHTML = "  
--- DELETE ALL ---
" + live_TERR_HTML_DELETE; + } + } + +// ################################################################################ +// Update vicidial_live_agents record with territory choices + function TerritorySelect_submit() + { + var TerritorySelectChoices = document.vicidial_form.TerritorySelectList.value; + + if (agent_select_territories == "MGRLOCK") + {TerritorySelectChoices = "MGRLOCK";} + + var xmlhttp=false; + /*@cc_on @*/ + /*@if (@_jscript_version >= 5) + // JScript gives us Conditional compilation, we can cope with old IE versions. + // and security blocked creation of the objects. + try { + xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttp = false; + } + } + @end @*/ + if (!xmlhttp && typeof XMLHttpRequest!='undefined') + { + xmlhttp = new XMLHttpRequest(); + } + if (xmlhttp) + { + TERRupdate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=regTERRITORY&format=text&user=" + user + "&pass=" + pass + "&comments=" + agent_select_territories + "&campaign=" + campaign + "&agent_territories=" + TerritorySelectChoices + "-"; + xmlhttp.open('POST', 'vdc_db_query.php'); + xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); + xmlhttp.send(TERRupdate_query); + xmlhttp.onreadystatechange = function() + { + if (xmlhttp.readyState == 4 && xmlhttp.status == 200) + { + // alert(xmlhttp.responseText); + } + } + delete xmlhttp; + } + + hideDiv('TerritorySelectBox'); + MainPanelToFront(); + TerritorySelecting = 0; + } + + // ################################################################################ // Log the user out of the system when they close their browser while logged in function BrowserCloseLogout() @@ -8350,6 +8517,21 @@ function phone_number_format(formatphone) { } +// ################################################################################ +// Show the territories selection span + function OpeNTerritorYSelectioN() + { + if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) ) + { + alert("YOU MUST BE PAUSED TO CHANGE GROUPS"); + } + else + { + showDiv('TerritorySelectBox') + } + } + + // ################################################################################ // Hide the CBcommentsBox span upon click function CBcommentsBoxhide() @@ -8594,6 +8776,18 @@ else document.getElementById("DiaLControl").innerHTML = DiaLControl_manual_HTML; } } + if (territoryCOUNT > 0) + { + showDiv('TerritorySelectBox'); + var TerritorySelecting = 1; + TerritorySelectContent_create(); + } + else + { + hideDiv('TerritorySelectBox'); + MainPanelToFront(); + var TerritorySelecting = 0; + } if ( (VtigeRLogiNScripT == 'Y') && (VtigeREnableD > 0) ) { document.getElementById("ScriptContents").innerHTML = " "; @@ -8613,7 +8807,7 @@ else { var WaitingForNextStep=0; - if (CloserSelecting==1) {WaitingForNextStep=1;} + if ( (CloserSelecting==1) || (TerritorySelecting==1) ) {WaitingForNextStep=1;} if (open_dispo_screen==1) { wrapup_counter=0; @@ -9260,6 +9454,7 @@ echo "\n";     + 0) {echo "
TERRITORIES     \n";} ?> 0) {echo "GROUPS     \n";} ?> LOGOUT\n"; ?> @@ -9578,7 +9773,7 @@ if ($agent_display_dialable_leads > 0) - + height=460>
SELECT A PAUSE CODE :
Pause Code Selection @@ -9586,7 +9781,7 @@ if ($agent_display_dialable_leads > 0)
- + height=460>
SELECT A GROUP ALIAS :
Group Alias Selection @@ -9594,7 +9789,7 @@ if ($agent_display_dialable_leads > 0)
- + @@ -9668,7 +9863,17 @@ if ($agent_display_dialable_leads > 0) - + + height=460>
TERRITORY SELECTION
+ Territory Selection +
+ RESET | + SUBMIT +



  +
+
+ + Channel Channel diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index 40db54de..63b95b98 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -1127,6 +1127,10 @@ if (isset($_GET["am_message_exten_override"])) {$am_message_exten_override=$_G elseif (isset($_POST["am_message_exten_override"])) {$am_message_exten_override=$_POST["am_message_exten_override"];} if (isset($_GET["drop_inbound_group_override"])) {$drop_inbound_group_override=$_GET["drop_inbound_group_override"];} elseif (isset($_POST["drop_inbound_group_override"])) {$drop_inbound_group_override=$_POST["drop_inbound_group_override"];} +if (isset($_GET["agent_select_territories"])) {$agent_select_territories=$_GET["agent_select_territories"];} + elseif (isset($_POST["agent_select_territories"])) {$agent_select_territories=$_POST["agent_select_territories"];} +if (isset($_GET["agent_choose_territories"])) {$agent_choose_territories=$_GET["agent_choose_territories"];} + elseif (isset($_POST["agent_choose_territories"])) {$agent_choose_territories=$_POST["agent_choose_territories"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} @@ -1139,7 +1143,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 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 FROM system_settings;"; $rslt=mysql_query($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysql_num_rows($rslt); @@ -1154,6 +1158,7 @@ while ($i < $qm_conf_ct) $SSoutbound_autodial_active = $row[4]; $SSsounds_central_control_active = $row[5]; $SSenable_second_webform = $row[6]; + $SSuser_territories_active = $row[7]; $i++; } ##### END SETTINGS LOOKUP ##### @@ -1326,7 +1331,7 @@ if ($non_latin < 1) $rank = ereg_replace("[^0-9]","",$rank); $enable_second_webform = ereg_replace("[^0-9]","",$enable_second_webform); $campaign_cid_override = ereg_replace("[^0-9]","",$campaign_cid_override); - $am_message_exten_override = ereg_replace("[^0-9]","",$am_message_exten_override); + $agent_choose_territories = ereg_replace("[^0-9]","",$agent_choose_territories); $drop_call_seconds = ereg_replace("[^-0-9]","",$drop_call_seconds); @@ -1393,6 +1398,7 @@ if ($non_latin < 1) $random = ereg_replace("[^NY]","",$random); $rebuild_music_on_hold = ereg_replace("[^NY]","",$rebuild_music_on_hold); $active_agent_login_server = ereg_replace("[^NY]","",$active_agent_login_server); + $agent_select_territories = ereg_replace("[^NY]","",$agent_select_territories); $qc_enabled = ereg_replace("[^0-9NY]","",$qc_enabled); $active = ereg_replace("[^0-9NY]","",$active); @@ -1597,6 +1603,7 @@ if ($non_latin < 1) $agent_alert_exten = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$agent_alert_exten); $filename = ereg_replace("[^-\/\._0-9a-zA-Z]","",$filename); $am_message_exten = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$am_message_exten); + $am_message_exten_override = ereg_replace("[^-\|\/\._0-9a-zA-Z]","",$am_message_exten_override); ### ALPHA-NUMERIC and underscore and dash and comma $logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); @@ -1969,11 +1976,12 @@ else # 90917-1108 - Added Extra Voicemail boxes config in Admin section # 90919-2251 - Removed all "SELECT *" instances in the code, code cleanup to conform to standard # 90924-1645 - Added list_id overrides for cid, am_message and drop in-group +# 90930-2107 - Added agent territory selection options for ViciDial agents # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time -$admin_version = '2.2.0-219'; -$build = '90924-1645'; +$admin_version = '2.2.0-220'; +$build = '90930-2107'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -2105,7 +2113,7 @@ $browser = getenv("HTTP_USER_AGENT"); $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$LOGuser_group';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - $LOGallowed_campaigns =$row[0]; + $LOGallowed_campaigns = $row[0]; if ($WeBRooTWritablE > 0) { @@ -2793,22 +2801,22 @@ if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($A $qc_groups_value=''; $qc_groups_list=' 1) ) { # echo ""; $campaigns_list .= " CHECKED"; @@ -2862,9 +2870,9 @@ if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($A $group_name_value = $rowx[1]; $qc_groups_list .= " 1) ) { $qc_groups_list .= " CHECKED"; $qc_groups_value .= " $group_id_value"; @@ -2980,6 +2988,11 @@ if ($ADD==99999)
Agent Choose Ingroups - This option if set to 1 allows the user to choose the ingroups that they will receive calls from when they login to a CLOSER or INBOUND campaign. Otherwise the Manager will need to set this in their user detail screen of the admin page. +
+ +
+ Agent Choose Territories - This option if set to 1 allows the user to choose the territories that they will receive calls from when they login to a MANUAL or INBOUND_MAN campaign. Otherwise the user will be set to use all of the territories that they are set to belong to in the User Territories administrative section. +

@@ -3523,6 +3536,18 @@ if ($ADD==99999)
Owner Only Dialing - If This is enabled, the agent will only receive leads that they are within the ownership parameters for. If this is set to USER then the agent must be the user defined in the database as the owner of this lead. If this is set to TERRITORY then the owner of the lead must match the territory listed in the User Modification screen for this agent. If this is set to USER_GROUP then the owner of the lead must match the user group that the agent is a member of. For this feature to work the dial method must be set to MANUAL or INBOUND_MAN and No Hopper Dialing must be enabled. Default is NONE for disabled. + 0) + { + ?> +
+
+
+ Agent Select Territories - If this option is enabled and the agent belongs to at least one territory, the agent will have the option of selecting territories to dial leads from. The agent will see a list of available territories upon login and they will have the ability to go back to that territory list when paused to change their territories. For this function to work the Owner Only Dialing option must be set to TERRITORY and User Terriories must be enabled in the System Settings. + +

@@ -8085,7 +8110,7 @@ if ($ADD=="2A") $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; $rslt=mysql_query($stmt, $link); } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts from vicidial_users where user=\"$source_user_id\";"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_query($stmt, $link); $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; @@ -8400,7 +8425,7 @@ if ($ADD==20) { echo "
CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; - $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,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,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,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,qc_get_record_launch,qc_show_recording,qc_shift_id,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_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,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) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",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,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,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,qc_get_record_launch,qc_show_recording,qc_shift_id,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_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,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 from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,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,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,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,qc_get_record_launch,qc_show_recording,qc_shift_id,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_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,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) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",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,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,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,qc_get_record_launch,qc_show_recording,qc_shift_id,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_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,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 from vicidial_campaigns where campaign_id='$source_campaign_id';"; $rslt=mysql_query($stmt, $link); $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; @@ -10188,7 +10213,7 @@ if ($ADD=="4A") } echo "
USER MODIFIED - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts' where user='$user';"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories' where user='$user';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -10421,7 +10446,7 @@ if ($ADD=="4B") } echo "
USER MODIFIED - ADMIN: $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',hotkeys_active='$hotkeys_active',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',closer_default_blended='$closer_default_blended',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',alter_custphone_override='$alter_custphone_override',active='$active',agent_shift_enforcement_override='$agent_shift_enforcement_override',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts' where user='$user';"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',hotkeys_active='$hotkeys_active',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',closer_default_blended='$closer_default_blended',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',alter_custphone_override='$alter_custphone_override',active='$active',agent_shift_enforcement_override='$agent_shift_enforcement_override',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories' where user='$user';"; $rslt=mysql_query($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -10992,7 +11017,7 @@ if ($ADD==41) if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) {$hopper_level='100';} - $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options' where campaign_id='$campaign_id';"; + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call',no_hopper_dialing='$no_hopper_dialing',agent_dial_owner_only='$agent_dial_owner_only',agent_display_dialable_leads='$agent_display_dialable_leads',web_form_address_two='" . mysql_real_escape_string($web_form_address_two) . "',waitforsilence_options='$waitforsilence_options',agent_select_territories='$agent_select_territories' where campaign_id='$campaign_id';"; $rslt=mysql_query($stmtA, $link); if ($reset_hopper == 'Y') @@ -15167,7 +15192,7 @@ if ($ADD==3) echo "\n"; echo "\n"; echo "\n"; - echo "\n"; + echo "\n"; + + if ($SSuser_territories_active > 0) + { + $stmt="SELECT vut.territory,vt.territory_description from vicidial_user_territories vut,vicidial_territories vt where user='$user' and vut.territory=vt.territory;"; + $rslt=mysql_query($stmt, $link); + $Uterrs_to_print = mysql_num_rows($rslt); + $Uterrs_list=''; + $o=0; + while ($Uterrs_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Uterrs_list .= "$rowx[0] - $rowx[1]
\n"; + $o++; + } + echo "\n"; + } if ( ($LOGuser_level > 8) or ($LOGalter_agent_interface == "1") ) { echo "\n"; echo "\n"; + if ($SSuser_territories_active > 0) + { + echo "\n"; + } echo "\n"; echo "\n"; echo "\n"; @@ -15447,7 +15493,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 from vicidial_campaigns where campaign_id='$campaign_id';"; + $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 from vicidial_campaigns where campaign_id='$campaign_id';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $campaign_name = $row[1]; @@ -15576,6 +15622,7 @@ if ($ADD==31) $agent_display_dialable_leads = $row[127]; $web_form_address_two = $row[128]; $waitforsilence_options = $row[129]; + $agent_select_territories = $row[130]; if (ereg("DISABLED",$list_order_mix)) {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} @@ -16270,6 +16317,10 @@ if ($ADD==31) echo "\n"; + if ($SSuser_territories_active > 0) + { + echo "\n"; + } echo "\n"; } diff --git a/www/vicidial/user_territories.php b/www/vicidial/user_territories.php index dd728baf..92006655 100644 --- a/www/vicidial/user_territories.php +++ b/www/vicidial/user_territories.php @@ -10,11 +10,12 @@ # CHANGES # 90520-1928 - first build # 90717-0651 - Added batch -# 90726-2302 - Added vicidial_list update option +# 90726-2302 - Added vicidial_list user owner update option +# 91012-0310 - Added vicidial_list counts for territory as owner # -$version = '2.2.0-3'; -$build = '90726-2302'; +$version = '2.2.0-4'; +$build = '91012-0310'; $MT[0]=''; @@ -858,6 +859,18 @@ if ($action == "MODIFY_TERRITORY") } echo ""; + $owner_count=0; + $stmt = "SELECT count(*) FROM vicidial_list where owner='$territory';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLo_ct = mysql_num_rows($rslt); + if ($VLo_ct > 0) + { + $row=mysql_fetch_row($rslt); + $owner_count = $row[0]; + } + echo ""; + if ($enable_vtiger_integration > 0) { $stmtV = "SELECT count(*) FROM vtiger_account where tickersymbol='$territory';"; @@ -884,17 +897,27 @@ if ($action == "MODIFY_TERRITORY") while ($territories_to_print > $o) { $rowx=mysql_fetch_row($rslt); + $Tuser[$o] = $rowx[0]; + $Tlevel[$o] = $rowx[1]; + $Tfull_name[$o] = $rowx[2]; $o++; - if (eregi("1$|3$|5$|7$|9$", $o)) + } + $o=0; + while ($territories_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $p++; + + if (eregi("1$|3$|5$|7$|9$", $p)) {$bgcolor='bgcolor="#B9CBFD"';} else {$bgcolor='bgcolor="#9BB9FB"';} - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; if ($enable_vtiger_integration > 0) { - $stmtV="SELECT id from vtiger_users where user_name='$rowx[0]';"; + $stmtV="SELECT id from vtiger_users where user_name='$Tuser[$o]';"; $rsltV=mysql_query($stmtV, $linkV); if ($DB) {echo "$stmtV\n";} $vtu_ct = mysql_num_rows($rsltV); @@ -910,21 +933,35 @@ if ($action == "MODIFY_TERRITORY") if ($vca_ct > 0) { $row=mysql_fetch_row($rsltV); - echo ""; + echo ""; } } } + + # $owner_count=0; + # $stmt = "SELECT count(*) FROM vicidial_list where owner='$territory';"; + # $rslt=mysql_query($stmt, $link); + # if ($DB) {echo "$stmt\n";} + # $VLo_ct = mysql_num_rows($rslt); + # if ($VLo_ct > 0) + # { + # $row=mysql_fetch_row($rslt); + # $owner_count = $row[0]; + # } + # echo ""; + echo ""; - echo ""; + echo ""; echo "\n"; + $o++; } echo "
\n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts from vicidial_users where user='$user';"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories from vicidial_users where user='$user';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); $user_id = $row[0]; @@ -15238,6 +15263,7 @@ if ($ADD==3) $user_code = $row[67]; $territory = $row[68]; $allow_alerts = $row[69]; + $agent_choose_territories = $row[70]; if ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) { @@ -15289,12 +15315,32 @@ if ($ADD==3) echo "
Active: $NWB#vicidial_users-active$NWE
Email: $NWB#vicidial_users-optional$NWE
User Code: $NWB#vicidial_users-optional$NWE
Territory: $NWB#vicidial_users-optional$NWE
Main Territory: $NWB#vicidial_users-optional$NWE
User Territories: $Uterrs_list
AGENT INTERFACE OPTIONS:
Agent Choose Ingroups: $NWB#vicidial_users-agent_choose_ingroups$NWE
Agent Choose Territories: $NWB#vicidial_users-agent_choose_territories$NWE
Hot Keys Active: $NWB#vicidial_users-hotkeys_active$NWE
Scheduled Callbacks: $NWB#vicidial_users-scheduled_callbacks$NWE
Agent-Only Callbacks: $NWB#vicidial_users-agentonly_callbacks$NWE
Owner Only Dialing: $NWB#vicidial_campaigns-agent_dial_owner_only$NWE
Agent Select Territories: $NWB#vicidial_campaigns-agent_select_territories$NWE
Agent Display Dialable Leads: $NWB#vicidial_campaigns-agent_display_dialable_leads$NWE
Agents: $user_count
Accounts: $owner_count
$o$rowx[0]$rowx[2]
$p$Tuser[$o]$Tfull_name[$o]Accounts: $row[0]VT Accounts: $row[0]Accounts: $owner_count"; echo "
"; echo ""; echo ""; - echo ""; - echo " "; + echo ""; + echo " "; echo ""; echo "
"; echo "
DELETEDELETE
\n"; @@ -957,6 +994,7 @@ if ($action == "LIST_ALL_TERRITORIES") echo "TERRITORY"; echo "DESCRIPTION\n"; echo "AGENTS\n"; + echo "ACCOUNTS\n"; if ($enable_vtiger_integration > 0) { echo "VT ACCOUNTS\n"; @@ -989,6 +1027,16 @@ if ($action == "LIST_ALL_TERRITORIES") $Lterritory_count[$i] = $row[0]; } + $stmt = "SELECT count(*) FROM vicidial_list where owner='$Lterritory[$i]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLo_ct = mysql_num_rows($rslt); + if ($VLo_ct > 0) + { + $row=mysql_fetch_row($rslt); + $Lterritory_owner_count[$i] = $row[0]; + } + if ($enable_vtiger_integration > 0) { $stmtV = "SELECT count(*) FROM vtiger_account where tickersymbol='$Lterritory[$i]';"; @@ -1011,6 +1059,7 @@ if ($action == "LIST_ALL_TERRITORIES") echo "
$Lterritory[$i]"; echo " $Lterritory_description[$i]"; echo " $Lterritory_count[$i]"; + echo " $Lterritory_owner_count[$i]"; if ($enable_vtiger_integration > 0) { echo " $Lvtiger_count[$i]";