diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php
index 0c4f54fe..3f6d90d5 100644
--- a/agc_2-X/trunk/www/vicidial/admin.php
+++ b/agc_2-X/trunk/www/vicidial/admin.php
@@ -4289,12 +4289,13 @@ else
# 180111-1544 - Added anyone_callback_inactive_lists system setting
# 180130-2309 - Added inbound_no_agents_no_dial options
# 180204-0208 - Added In-Group Wait-Time option PRESS_CALLBACK_QUEUE, and Closing-Time options
+# 180211-1024 - Changed campaign dial statuses to allow List and allowed In-Group selected status group statuses
#
# make sure you have added a user to the vicidial_users MySQL table with at least user_level 9 to access this page the first time
-$admin_version = '2.14-652a';
-$build = '180204-0208';
+$admin_version = '2.14-653a';
+$build = '180211-1024';
$STARTtime = date("U");
$SQLdate = date("Y-m-d H:i:s");
@@ -5866,7 +5867,7 @@ if ($ADD==73)
$o++;
if (preg_match('/Y/', $rowx[1])) {$camp_lists .= "'$rowx[0]',";}
}
- $camp_lists = preg_replace('/.$/i','',$camp_lists);;
+ $camp_lists = preg_replace('/.$/i','',$camp_lists);
$filterSQL = $filtersql_list[$lead_filter_id];
$filterSQL = preg_replace("/\\\\/","",$filterSQL);
@@ -14234,7 +14235,7 @@ if ($ADD==44)
{
echo "
"._QXZ("RESETTING CAMPAIGN LEAD HOPPER")."\n";
echo "
- "._QXZ("Wait 1 minute before dialing next number")."\n";
- $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');;";
+ $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');";
$rslt=mysql_to_mysqli($stmt, $link);
### LOG INSERTION Admin Log Table ###
@@ -21174,7 +21175,7 @@ if ($ADD==31)
$display_dialable_count = $row[39];
$wrapup_seconds = $row[40];
$wrapup_message = $row[41];
- # $closer_campaigns = $row[42];
+ $closer_campaigns = $row[42];
$use_internal_dnc = $row[43];
$allcalls_delay = $row[44];
$omit_phone_code = $row[45];
@@ -21434,93 +21435,6 @@ if ($ADD==31)
}
}
- $dial_statuses = preg_replace("/ -$/","",$dial_statuses);
- $Dstatuses = explode(" ", $dial_statuses);
- $Ds_to_print = (count($Dstatuses) -1);
-
- $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses);
- $QCstatuses = explode(" ", $qc_statuses);
- $QCs_to_print = (count($QCstatuses) -0);
-
- $qc_lists = preg_replace("/^ | -$/","",$qc_lists);
- $QClists = explode(" ", $qc_lists);
- $QCL_to_print = (count($QClists) -0);
-
- ##### get status listings for dynamic pulldown
- $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec,answering_machine from vicidial_statuses order by status;";
- $rslt=mysql_to_mysqli($stmt, $link);
- $statuses_to_print = mysqli_num_rows($rslt);
- $statuses_list='';
- $dial_statuses_list='';
- $qc_statuses_list='';
- $survey_ni_status_list='';
- $o=0;
- while ($statuses_to_print > $o)
- {
- $rowx=mysqli_fetch_row($rslt);
- $statuses_list .= "\n";
- if ($rowx[0] != 'CBHOLD')
- {
- $dial_statuses_list .= "\n";
- if ($survey_ni_status == $rowx[0])
- {
- $survey_ni_status_list .= "\n";
- }
- else
- {
- $survey_ni_status_list .= "\n";
- }
- }
- $statname_list["$rowx[0]"] = "$rowx[1]";
- $LRstatuses_list .= "\n";
- if (preg_match('/Y/i', $rowx[2]))
- {$HKstatuses_list .= "\n";}
-
- $qc_statuses_list .= " $o)
- {
- $rowx=mysqli_fetch_row($rslt);
- $statuses_list .= "\n";
- if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";}
- $statname_list["$rowx[0]"] = "$rowx[1]";
- $LRstatuses_list .= "\n";
- if (preg_match('/Y/i', $rowx[2]))
- {$HKstatuses_list .= "\n";}
-
- $qc_statuses_list .= " $o)
+ {
+ $rowx=mysqli_fetch_row($rslt);
+ $camp_status_groups .= "'$rowx[0]',";
+ $o++;
+ }
+ $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns);
+ $closer_campaigns = preg_replace("/ /","','",$closer_campaigns);
+ $stmt="SELECT status_group_id from vicidial_inbound_groups where status_group_id NOT IN('','NONE') and group_id IN('$closer_campaigns') $LOGadmin_viewable_groupsSQL ;";
+ $rslt=mysql_to_mysqli($stmt, $link);
+ $lists_to_print = mysqli_num_rows($rslt);
+ if ($DB) {echo "$lists_to_print|$stmt|\n";}
+ $o=0;
+ while ($lists_to_print > $o)
+ {
+ $rowx=mysqli_fetch_row($rslt);
+ $camp_status_groups .= "'$rowx[0]',";
+ $o++;
+ }
+# $camp_status_groups = preg_replace('/.$/i','',$camp_status_groups);
+
+ $dial_statuses = preg_replace("/ -$/","",$dial_statuses);
+ $Dstatuses = explode(" ", $dial_statuses);
+ $Ds_to_print = (count($Dstatuses) -1);
+
+ $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses);
+ $QCstatuses = explode(" ", $qc_statuses);
+ $QCs_to_print = (count($QCstatuses) -0);
+
+ $qc_lists = preg_replace("/^ | -$/","",$qc_lists);
+ $QClists = explode(" ", $qc_lists);
+ $QCL_to_print = (count($QClists) -0);
+
+ ##### get status listings for dynamic pulldown
+ $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec,answering_machine from vicidial_statuses order by status;";
+ $rslt=mysql_to_mysqli($stmt, $link);
+ $statuses_to_print = mysqli_num_rows($rslt);
+ $statuses_list='';
+ $dial_statuses_list='';
+ $qc_statuses_list='';
+ $survey_ni_status_list='';
+ $o=0;
+ while ($statuses_to_print > $o)
+ {
+ $rowx=mysqli_fetch_row($rslt);
+ $statuses_list .= "\n";
+ if ($rowx[0] != 'CBHOLD')
+ {
+ $dial_statuses_list .= "\n";
+ if ($survey_ni_status == $rowx[0])
+ {
+ $survey_ni_status_list .= "\n";
+ }
+ else
+ {
+ $survey_ni_status_list .= "\n";
+ }
+ }
+ $statname_list["$rowx[0]"] = "$rowx[1]";
+ $LRstatuses_list .= "\n";
+ if (preg_match('/Y/i', $rowx[2]))
+ {$HKstatuses_list .= "\n";}
+
+ $qc_statuses_list .= " $o)
+ {
+ $rowx=mysqli_fetch_row($rslt);
+ $statuses_list .= "\n";
+ if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";}
+ $statname_list["$rowx[0]"] = "$rowx[1]";
+ $LRstatuses_list .= "\n";
+ if (preg_match('/Y/i', $rowx[2]))
+ {$HKstatuses_list .= "\n";}
+
+ $qc_statuses_list .= ""._QXZ("This campaign has")." $active_lists "._QXZ("active lists and")." $inactive_lists "._QXZ("inactive lists")."
\n";
$dial_statuses_original = $dial_statuses;
@@ -22903,7 +22933,7 @@ if ($ADD==31)
$o++;
}
- $stmt="SELECT status,status_name,completed from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;";
+ $stmt="SELECT status,status_name,completed from vicidial_campaign_statuses where campaign_id IN($camp_status_groups'$campaign_id') $LOGallowed_campaignsSQL order by status;";
$rslt=mysql_to_mysqli($stmt, $link);
$Cstatuses_to_print = mysqli_num_rows($rslt);
@@ -23392,7 +23422,7 @@ if ($ADD==31)
if (preg_match('/Y/', $rowx[1])) {$camp_lists .= "'$rowx[0]',";}
$o++;
}
- $camp_lists = preg_replace('/.$/i','',$camp_lists);;
+ $camp_lists = preg_replace('/.$/i','',$camp_lists);
$stmt="SELECT recycle_id,campaign_id,status,attempt_delay,attempt_maximum,active from vicidial_lead_recycle where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;";
$rslt=mysql_to_mysqli($stmt, $link);
@@ -23936,6 +23966,7 @@ if ($ADD==34)
$lead_filter_id = $row[35];
if ($lead_filter_id=='') {$lead_filter_id='NONE';}
$display_dialable_count = $row[39];
+ $closer_campaigns = $row[42];
$dial_method = $row[46];
$adaptive_intensity = $row[51];
$auto_alt_dial = $row[54];
@@ -23966,44 +23997,72 @@ if ($ADD==34)
else
{$ALTmultiDISABLE=0; $ALTmultiLINK='';}
- $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec,answering_machine from vicidial_statuses order by status;";
- $rslt=mysql_to_mysqli($stmt, $link);
- $statuses_to_print = mysqli_num_rows($rslt);
- $statuses_list='';
- $dial_statuses_list='';
- $o=0;
- while ($statuses_to_print > $o)
- {
- $rowx=mysqli_fetch_row($rslt);
- $statuses_list .= "\n";
- if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";}
- $statname_list["$rowx[0]"] = "$rowx[1]";
- $LRstatuses_list .= "\n";
- if (preg_match('/Y/i', $rowx[2]))
- {$HKstatuses_list .= "\n";}
- $o++;
- }
+ ##### get status groups for the lists and in-groups within this campaign
+ $stmt="SELECT status_group_id from vicidial_lists where campaign_id='$campaign_id' $LOGallowed_campaignsSQL;";
+ $rslt=mysql_to_mysqli($stmt, $link);
+ $lists_to_print = mysqli_num_rows($rslt);
+ $camp_status_groups='';
+ if ($DB) {echo "$lists_to_print|$stmt|\n";}
+ $o=0;
+ while ($lists_to_print > $o)
+ {
+ $rowx=mysqli_fetch_row($rslt);
+ $camp_status_groups .= "'$rowx[0]',";
+ $o++;
+ }
+ $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns);
+ $closer_campaigns = preg_replace("/ /","','",$closer_campaigns);
+ $stmt="SELECT status_group_id from vicidial_inbound_groups where status_group_id NOT IN('','NONE') and group_id IN('$closer_campaigns') $LOGadmin_viewable_groupsSQL ;";
+ $rslt=mysql_to_mysqli($stmt, $link);
+ $lists_to_print = mysqli_num_rows($rslt);
+ if ($DB) {echo "$lists_to_print|$stmt|\n";}
+ $o=0;
+ while ($lists_to_print > $o)
+ {
+ $rowx=mysqli_fetch_row($rslt);
+ $camp_status_groups .= "'$rowx[0]',";
+ $o++;
+ }
+# $camp_status_groups = preg_replace('/.$/i','',$camp_status_groups);
- $stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec,answering_machine from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;";
- $rslt=mysql_to_mysqli($stmt, $link);
- $Cstatuses_to_print = mysqli_num_rows($rslt);
+ $stmt="SELECT status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec,answering_machine from vicidial_statuses order by status;";
+ $rslt=mysql_to_mysqli($stmt, $link);
+ $statuses_to_print = mysqli_num_rows($rslt);
+ $statuses_list='';
+ $dial_statuses_list='';
+ $o=0;
+ while ($statuses_to_print > $o)
+ {
+ $rowx=mysqli_fetch_row($rslt);
+ $statuses_list .= "\n";
+ if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";}
+ $statname_list["$rowx[0]"] = "$rowx[1]";
+ $LRstatuses_list .= "\n";
+ if (preg_match('/Y/i', $rowx[2]))
+ {$HKstatuses_list .= "\n";}
+ $o++;
+ }
- $o=0;
- while ($Cstatuses_to_print > $o)
- {
- $rowx=mysqli_fetch_row($rslt);
- $statuses_list .= "\n";
- if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";}
- $statname_list["$rowx[0]"] = "$rowx[1]";
- $LRstatuses_list .= "\n";
- if (preg_match('/Y/i', $rowx[2]))
- {$HKstatuses_list .= "\n";}
- $o++;
- }
+ $stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,min_sec,max_sec,answering_machine from vicidial_campaign_statuses where campaign_id IN($camp_status_groups'$campaign_id') $LOGallowed_campaignsSQL order by status;";
+ $rslt=mysql_to_mysqli($stmt, $link);
+ $Cstatuses_to_print = mysqli_num_rows($rslt);
- $dial_statuses = preg_replace("/ -$/","",$dial_statuses);
- $Dstatuses = explode(" ", $dial_statuses);
- $Ds_to_print = (count($Dstatuses) -1);
+ $o=0;
+ while ($Cstatuses_to_print > $o)
+ {
+ $rowx=mysqli_fetch_row($rslt);
+ $statuses_list .= "\n";
+ if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";}
+ $statname_list["$rowx[0]"] = "$rowx[1]";
+ $LRstatuses_list .= "\n";
+ if (preg_match('/Y/i', $rowx[2]))
+ {$HKstatuses_list .= "\n";}
+ $o++;
+ }
+
+ $dial_statuses = preg_replace("/ -$/","",$dial_statuses);
+ $Dstatuses = explode(" ", $dial_statuses);
+ $Ds_to_print = (count($Dstatuses) -1);
$stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' $LOGallowed_campaignsSQL;";
$rslt=mysql_to_mysqli($stmt, $link);
@@ -24470,7 +24529,7 @@ if ($ADD==34)
else
{$fSQL = '';}
- $camp_lists = preg_replace('/.$/i','',$camp_lists);;
+ $camp_lists = preg_replace('/.$/i','',$camp_lists);
echo _QXZ("This campaign has")." $active_lists "._QXZ("active lists and")." $inactive_lists "._QXZ("inactive lists")."
\n";
@@ -24489,7 +24548,7 @@ if ($ADD==34)
$o++;
}
- $stmt="SELECT status,status_name from vicidial_campaign_statuses where campaign_id='$campaign_id' $LOGallowed_campaignsSQL order by status;";
+ $stmt="SELECT status,status_name from vicidial_campaign_statuses where campaign_id IN($camp_status_groups'$campaign_id') $LOGallowed_campaignsSQL order by status;";
$rslt=mysql_to_mysqli($stmt, $link);
$Cstatuses_to_print = mysqli_num_rows($rslt);
@@ -33646,7 +33705,7 @@ if ($ADD==311111111111)
echo "