diff --git a/UPGRADE b/UPGRADE index 26b33134..2e7e5237 100644 --- a/UPGRADE +++ b/UPGRADE @@ -22,6 +22,12 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom mkdir $PATHweb/vicidial/server_reports/ chmod 0777 $PATHweb/vicidial/server_reports/ +4. A new set of changes have been made to the statuses sections in the admin.php + pages allowing for categorizing statuse and modifyig them without delete + +5. The admin.php interface has had more sections broken into sub-sections for + easier management and rapid modifications. + diff --git a/docs/BASE_INSTALL.txt b/docs/BASE_INSTALL.txt index 5d0090b6..ef5e118f 100644 --- a/docs/BASE_INSTALL.txt +++ b/docs/BASE_INSTALL.txt @@ -451,23 +451,23 @@ insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101',' insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead07','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); ### these first 5 must be in all VICIDIAL systems for it to work properly # -insert into vicidial_statuses values('NEW','New Lead','N'); -insert into vicidial_statuses values('QUEUE','Lead To Be Called','N'); -insert into vicidial_statuses values('INCALL','Lead Being Called','N'); -insert into vicidial_statuses values('DROP','Agent Not Available','N'); -insert into vicidial_statuses values('NA','No Answer AutoDial','N'); +insert into vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED'); +insert into vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED'); +insert into vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED'); +insert into vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED'); +insert into vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED'); -insert into vicidial_statuses values('CALLBK','Call Back','Y'); -insert into vicidial_statuses values('A','Answering Machine','Y'); -insert into vicidial_statuses values('B','Busy','Y'); -insert into vicidial_statuses values('DC','Disconnected Number','Y'); -insert into vicidial_statuses values('DEC','Declined Sale','Y'); -insert into vicidial_statuses values('DNC','DO NOT CALL','Y'); -insert into vicidial_statuses values('SALE','Sale Made','Y'); -insert into vicidial_statuses values('N','No Answer','Y'); -insert into vicidial_statuses values('NI','Not Interested','Y'); -insert into vicidial_statuses values('NP','No Pitch No Price','Y'); -insert into vicidial_statuses values('XFER','Call Transferred','Y'); +insert into vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('A','Answering Machine','Y','N','UNDEFINED'); +insert into vicidial_statuses values('B','Busy','Y','N','UNDEFINED'); +insert into vicidial_statuses values('DC','Disconnected Number','Y','N','UNDEFINED'); +insert into vicidial_statuses values('DEC','Declined Sale','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('DNC','DO NOT CALL','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('SALE','Sale Made','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('N','No Answer','Y','N','UNDEFINED'); +insert into vicidial_statuses values('NI','Not Interested','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('NP','No Pitch No Price','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('XFER','Call Transferred','Y','Y','UNDEFINED'); quit diff --git a/docs/IE_INCOMPATIBILITIES.txt b/docs/IE_INCOMPATIBILITIES.txt new file mode 100644 index 00000000..25bed9fb --- /dev/null +++ b/docs/IE_INCOMPATIBILITIES.txt @@ -0,0 +1,29 @@ +Microsoft Internet Explorer Incompatibilities with VICIDIAL Agent Interface 2007-06-13 + +There are quite a few issues with using Microsoft Internet Explorer(IE) with VICIDIAL because of incompatibilites with the W3C standards as well as stability and architectural issues. + +The decision was made to stop testing on IE because of time constraints as well as the lack of cross-compatibility of IE and lack of compatibility with standards. Firefox meets both of those requirements which is why that is the recommended platform for VICIDIAL agents. + +If enough time is available during developent of 2.0.4, there will be some time put into addressing these IE incompatibilities. + + +Some of the issues include the following: +- Because ActiveX is used for AJAX with IE(and no other browser) it is difficult to debug the issue with faulty garabage collection where IE, or rather ActiveX, will not delete any of the XMLHTTPRequest events that it grabs resulting in the eventual crashing of IE after it hits its memory limit. I have heard that with IE7 and newer ActiveX there is a potential way around this through using some different Javascript commands. +- Using a span with NOSCROLL and a form element inside of it are sometimes ignored by IE, not sure why, but using spans with form elements may need to be changed to accomodate IE in the future. + Changed: + .cust_form {font-family: sans-serif; font-size: 10px; overflow:} + To: + .cust_form {font-family: sans-serif; font-size: 10px} +- For some reason form elements inside of a hidden span cannot be given focus or blur(Causing Hotkeys not to work): + Commented out the following lines: + document.vicidial_form.inert_button.focus(); + document.vicidial_form.inert_button.blur(); +- There are issues with Hotkeys key-binding working with some versions of IE dues to the Javascript used to achieve the function. +- Sometimes document elements will error out as undefined even though Firefox ses them just fine, for example: + Commented out the folowing lines(3 locations): + if ( (dialed_label.length < 3) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + Changed to: + if (dialed_label=='NONE') {dialed_label='MAIN';} + Making these changes allows IE to work with 2.0.3 but does not allow for color status bar changes on inbound calls. + + diff --git a/docs/SCRATCH_INSTALL.txt b/docs/SCRATCH_INSTALL.txt index d47d2994..48ddbbb7 100644 --- a/docs/SCRATCH_INSTALL.txt +++ b/docs/SCRATCH_INSTALL.txt @@ -2876,23 +2876,23 @@ insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101',' insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead07','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0'); ### these first 5 must be in all VICIDIAL systems for it to work properly # -insert into vicidial_statuses values('NEW','New Lead','N'); -insert into vicidial_statuses values('QUEUE','Lead To Be Called','N'); -insert into vicidial_statuses values('INCALL','Lead Being Called','N'); -insert into vicidial_statuses values('DROP','Agent Not Available','N'); -insert into vicidial_statuses values('NA','No Answer AutoDial','N'); +insert into vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED'); +insert into vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED'); +insert into vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED'); +insert into vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED'); +insert into vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED'); -insert into vicidial_statuses values('CALLBK','Call Back','Y'); -insert into vicidial_statuses values('A','Answering Machine','Y'); -insert into vicidial_statuses values('B','Busy','Y'); -insert into vicidial_statuses values('DC','Disconnected Number','Y'); -insert into vicidial_statuses values('DEC','Declined Sale','Y'); -insert into vicidial_statuses values('DNC','DO NOT CALL','Y'); -insert into vicidial_statuses values('SALE','Sale Made','Y'); -insert into vicidial_statuses values('N','No Answer','Y'); -insert into vicidial_statuses values('NI','Not Interested','Y'); -insert into vicidial_statuses values('NP','No Pitch No Price','Y'); -insert into vicidial_statuses values('XFER','Call Transferred','Y'); +insert into vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('A','Answering Machine','Y','N','UNDEFINED'); +insert into vicidial_statuses values('B','Busy','Y','N','UNDEFINED'); +insert into vicidial_statuses values('DC','Disconnected Number','Y','N','UNDEFINED'); +insert into vicidial_statuses values('DEC','Declined Sale','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('DNC','DO NOT CALL','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('SALE','Sale Made','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('N','No Answer','Y','N','UNDEFINED'); +insert into vicidial_statuses values('NI','Not Interested','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('NP','No Pitch No Price','Y','Y','UNDEFINED'); +insert into vicidial_statuses values('XFER','Call Transferred','Y','Y','UNDEFINED'); quit ######------ END Mysql data entry ------###### diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 0d414e68..dc0e9ee5 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -542,7 +542,8 @@ list_lastcalldate DATETIME status VARCHAR(6) PRIMARY KEY NOT NULL, status_name VARCHAR(30), selectable ENUM('Y','N'), -human_answered ENUM('Y','N') default 'N' +human_answered ENUM('Y','N') default 'N', +category VARCHAR(20) default 'UNDEFINED' ); CREATE TABLE vicidial_campaign_statuses ( @@ -551,6 +552,7 @@ status_name VARCHAR(30), selectable ENUM('Y','N'), campaign_id VARCHAR(8), human_answered ENUM('Y','N') default 'N', +category VARCHAR(20) default 'UNDEFINED', index (campaign_id) ); @@ -898,9 +900,16 @@ status ENUM('ACTIVE','INACTIVE') default 'INACTIVE', index (campaign_id) ); + CREATE TABLE vicidial_status_categories ( +vsc_id VARCHAR(20) PRIMARY KEY NOT NULL, +vsc_name VARCHAR(50), +vsc_description VARCHAR(255), +tovdad_display ENUM('Y','N') default 'N' +); INSERT INTO system_settings (version,install_date) values('2.0.X', CURDATE()); +INSERT INTO vicidial_status_categories (vsc_id,vsc_name) values('UNDEFINED','Default Category'); INSERT INTO vicidial_user_groups SET user_group='ADMIN',group_name='VICIDIAL ADMINISTRATORS',allowed_campaigns=' -ALL-CAMPAIGNS- - -'; diff --git a/extras/upgrade_2.0.4.sql b/extras/upgrade_2.0.4.sql index 757360a5..7853b7e1 100644 --- a/extras/upgrade_2.0.4.sql +++ b/extras/upgrade_2.0.4.sql @@ -16,6 +16,19 @@ status ENUM('ACTIVE','INACTIVE') default 'INACTIVE', index (campaign_id) ); + CREATE TABLE vicidial_status_categories ( +vsc_id VARCHAR(20) PRIMARY KEY NOT NULL, +vsc_name VARCHAR(50), +vsc_description VARCHAR(255), +tovdad_display ENUM('Y','N') default 'N' +); + +ALTER TABLE vicidial_campaign_statuses ADD category VARCHAR(20) default 'UNDEFINED'; +ALTER TABLE vicidial_statuses ADD category VARCHAR(20) default 'UNDEFINED'; + +INSERT INTO vicidial_status_categories (vsc_id,vsc_name) values('UNDEFINED','Default Category'); + + diff --git a/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.4.txt b/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.4.txt index 7e469164..f9bcb18e 100644 --- a/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.4.txt +++ b/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.4.txt @@ -44,6 +44,31 @@ LEAD RECYCLES|| CAMPAIGN LEAD AUTO-ALT DIAL LISTINGS:|| CAMPAIGN AGENT PAUSE CODE LISTINGS:|| CAMPAIGN LIST MIX LISTINGS:|| +The Category option allows you to group several statuses into a catogy that can be used for statistical analysis.|| +MODIFY VICIDIAL STATUS CATEGORIES|| +ADDING VICIDIAL STATUS CATEGORY|| + Status Categories || + System Statuses || +MODIFY VICIDIAL SYSTEM STATUSES|| +MODIFY VICIDIAL STATUS CATEGORY|| +Through the use of system statuses, you can have statuses that exist for campaign and in-group. The Status must be 1-6 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in VICIDIAL as an agent disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a catogy that can be used for statistical analysis|| +Through the use of system status categories, you can group together statuses to allow for statistical analysis on a group of statuses. The Category ID must be 2-20 characters in length with no spaces, the name must be 2-50 characters in length, the description is optional and TimeonVDAD Display defines whether that status will be one of the upto 4 statuses that can be calculated and displayed on the Time On VDAD Real-Time report|| +ADD NEW STATUS CATEGORY|| +STATUS CATEGORY NOT ADDED|| +there is already a status category in the system with this ID|| +ID must be between 2 and 20 characters in length|| +name name must be between 2 and 50 characters in length|| +STATUS CATEGORY NOT MODIFIED|| +the status category cannot be a reserved category: || +the status category needs to be at least 2 characters in length|| +STATUS CATEGORY DELETED|| +STATUS CATEGORY MODIFIED|| +Category: || +the system status name needs to be at least 1 characters in length|| +SYSTEM STATUS NOT MODIFIED|| +SYSTEM STATUS MODIFIED|| +ERROR: There are already 4 Status Categories set to TimeOnVDAD Display|| +CUSTOM CAMPAIGN STATUS MODIFIED|| ############################################################ CLIENT diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index 118d0e2a..0533a540 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -15,8 +15,8 @@ require("dbconnect.php"); ###################################################################################################### ###################################################################################################### -$page_width='750'; -$section_width='700'; +$page_width='770'; +$section_width='720'; $header_font_size='3'; $subheader_font_size='2'; $subcamp_font_size='2'; @@ -47,6 +47,7 @@ $reports_color = '#99FF33'; $conference_color = '#FF33FF'; $server_color = '#FF33FF'; $settings_color = '#FF33FF'; + $status_color = '#FF33FF'; $users_font = 'BLACK'; $campaigns_font = 'BLACK'; $lists_font = 'BLACK'; @@ -62,6 +63,7 @@ $reports_font = 'BLACK'; $conference_font = 'BLACK'; $server_font = 'BLACK'; $settings_font = 'BLACK'; + $status_font = 'BLACK'; $subcamp_color = '#FF9933'; $subcamp_font = 'BLACK'; @@ -615,6 +617,17 @@ if (isset($_GET["mix_method"])) {$mix_method=$_GET["mix_method"];} elseif (isset($_POST["mix_method"])) {$mix_method=$_POST["mix_method"];} if (isset($_GET["human_answered"])) {$human_answered=$_GET["human_answered"];} elseif (isset($_POST["human_answered"])) {$human_answered=$_POST["human_answered"];} +if (isset($_GET["category"])) {$category=$_GET["category"];} + elseif (isset($_POST["category"])) {$category=$_POST["category"];} +if (isset($_GET["vsc_id"])) {$vsc_id=$_GET["vsc_id"];} + elseif (isset($_POST["vsc_id"])) {$vsc_id=$_POST["vsc_id"];} +if (isset($_GET["vsc_name"])) {$vsc_name=$_GET["vsc_name"];} + elseif (isset($_POST["vsc_name"])) {$vsc_name=$_POST["vsc_name"];} +if (isset($_GET["vsc_description"])) {$vsc_description=$_GET["vsc_description"];} + elseif (isset($_POST["vsc_description"])) {$vsc_description=$_POST["vsc_description"];} +if (isset($_GET["tovdad_display"])) {$tovdad_display=$_GET["tovdad_display"];} + elseif (isset($_POST["tovdad_display"])) {$tovdad_display=$_POST["tovdad_display"];} + if (isset($script_id)) {$script_id= strtoupper($script_id);} if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} @@ -771,6 +784,7 @@ $campaign_stats_refresh = ereg_replace("[^NY]","",$campaign_stats_refresh); $disable_alter_custdata = ereg_replace("[^NY]","",$disable_alter_custdata); $no_hopper_leads_logins = ereg_replace("[^NY]","",$no_hopper_leads_logins); $human_answered = ereg_replace("[^NY]","",$human_answered); +$tovdad_display = ereg_replace("[^NY]","",$tovdad_display); ### ALPHA-NUMERIC ONLY ### $PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); @@ -864,6 +878,8 @@ $alter_custdata_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custdata_ove $list_order_mix = ereg_replace("[^-\_0-9a-zA-Z]","",$list_order_mix); $vcl_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vcl_id); $mix_method = ereg_replace("[^-\_0-9a-zA-Z]","",$mix_method); +$category = ereg_replace("[^-\_0-9a-zA-Z]","",$category); +$vsc_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vsc_id); ### ALPHA-NUMERIC and spaces $lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order); @@ -899,6 +915,8 @@ $pause_code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$pause_code_name); $campaign_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_description); $list_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_description); $vcl_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vcl_name); +$vsc_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_name); +$vsc_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_description); ### ALPHA-NUMERIC and underscore and dash and slash and at and dot $call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); @@ -1043,11 +1061,12 @@ $list_mix_container = ereg_replace(";","",$list_mix_container); # 70602-1300 - More development on List mix admin interface, more javascript # 70608-1459 - Added option to set LIVE Callbacks to INACTIVE after one month # 70612-1451 - Added Callback INACTIVE link for after one week, sort by user/group/entrydate +# 70614-0231 - Added Status Categories, ability to Modify Statuses, moved system statuses to sub-section # # 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.0.4-104'; -$build = '70612-1451'; +$admin_version = '2.0.4-105'; +$build = '70614-0231'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -1202,7 +1221,8 @@ if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER";} if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER VICIDIAL TRUNK RECORD";} if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW CONFERENCE";} if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW VICIDIAL CONFERENCE";} -if ($ADD==221111111111111) {$hh='admin'; $sh='settings'; echo "ADDING VICIDIAL SYSTEM STATUSES";} +if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL SYSTEM STATUSES";} +if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL STATUS CATEGORY";} if ($ADD==3) {$hh='users'; echo "Modify User";} if ($ADD==30) {$hh='campaigns'; echo "Campaign Not Allowed";} if ($ADD==31) @@ -1237,6 +1257,8 @@ if ($ADD==311111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER";} if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM SETTINGS";} +if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} +if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL STATUS CATEGORY";} if ($ADD=="4A") {$hh='users'; echo "Modify User - Admin";} if ($ADD=="4B") {$hh='users'; echo "Modify User - Admin";} if ($ADD==4) {$hh='users'; echo "Modify User";} @@ -1261,7 +1283,8 @@ if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER VICIDIAL if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM SETTINGS";} -if ($ADD==421111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} +if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} +if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL STATUS CATEGORIES";} if ($ADD==5) {$hh='users'; echo "Delete User";} if ($ADD==51) {$hh='campaigns'; $sh='detail'; echo "Delete Campaign";} if ($ADD==52) {$hh='campaigns'; $sh='detail'; echo "Logout Agents";} @@ -2254,7 +2277,7 @@ echo "
| STATUS | DESCRIPTION | SELECTABLE | HUMAN ANSWER | DELETE | ||||||||||||||||||||||||||||||||||
| \n";
+ echo "";
+
+ echo " \n"; + echo "
ADD NEW SYSTEM STATUS \n"; @@ -10676,6 +10978,108 @@ if ($ADD==311111111111111) +###################### +# ADD=331111111111111 modify vicidial status categories +###################### + +if ($ADD==331111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
| ||||||||||||||||||||||||||||||||||||||