Added the ability to set a config variable to email the interviewee appts
[eq/.git] / inc / class.tc.inc.php
index 9684e8e114691f1970584e306b2a62e9cd3db97d..fc699ea7f203c7a61639acd744339d9aac6ec174 100644 (file)
@@ -426,7 +426,7 @@ class tc
                        $unassigned_family_list = get_var('unassignedFamilies',array('POST'));
                        
                        if ($assignedHT_list || $unassignedHT_list) {
-                               $sql = "INSERT INTO tc_companionship_sandbox (district) VALUES (\"$district\")";
+                               $sql = "INSERT INTO tc_companionship_sandbox (tc_companionship,district) VALUES (\"NULL\",\"$district\")";
                                $this->db2->query($sql,__LINE__,__FILE__);
                                $companionship_sandbox = mysql_insert_id();
                                
@@ -540,11 +540,11 @@ class tc
                        while ($this->db->next_record()) {
                                $companionship = $this->db->f('companionship');
                                $district = $this->db->f('district');
-                               $sql = "INSERT INTO tc_companionship_sandbox (district) VALUES (\"$district\")";
+                               $sql = "INSERT INTO tc_companionship_sandbox (tc_companionship,district) VALUES (\"$companionship\",\"$district\")";
                                $this->db2->query($sql,__LINE__,__FILE__);
                                $companionship_sandbox = mysql_insert_id();
                                
-                               $sql = "SELECT * FROM tc_companion WHERE companionship=$companionship AND valid=1";
+                               $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND tc.companionship=$companionship AND tc.valid=1 AND ti.valid=1";
                                $this->db2->query($sql,__LINE__,__FILE__);
                                while ($this->db2->next_record()) {
                                        $individual = $this->db2->f('individual');
@@ -673,11 +673,12 @@ class tc
                                while ($this->db2->next_record()) {
                                        $family_name = $this->db2->f('name') . " Family";
                                        $family_id = $this->db2->f('tc_family');
+                                       $tc_companionship = $this->db2->f('tc_companionship');
                                        $sandbox_table_data .= "<tr>";
-                                       $sandbox_table_data .= "<td align=\"Left\">$family_name</td>";
+                                       $sandbox_table_data .= "<td align=\"Left\" width=\"1000\">$family_name</td>";
                                        
                                        # get 12 months visit data for given family
-                                       for($m=12; $m >= 0; $m--) {
+                                       for($m=$this->sandbox_stats_num_months; $m >= 0; $m--) {
                                                $month = $this->current_month - $m;
                                                $year = $this->current_year;
                                                if($month <= 0) { $remainder = $month; $month = 12 + $remainder; $year=$year-1; }
@@ -686,7 +687,11 @@ class tc
                                                $month_end = "$year"."-"."$month"."-"."31";
                                                $month = "$month"."/"."$year";
 
-                                               $sql = "SELECT * FROM tc_visit WHERE date >= '$month_start' AND date <= '$month_end' AND companionship!=0 AND family=". $family_id;
+                                               if ($this->sandbox_visits_comp_only == 0) {
+                                                       $sql = "SELECT * FROM tc_visit WHERE date >= '$month_start' AND date <= '$month_end' AND companionship!=0 AND family=". $family_id;
+                                               } else {
+                                                       $sql = "SELECT * FROM tc_visit WHERE date >= '$month_start' AND date <= '$month_end' AND companionship=$tc_companionship AND family=". $family_id;
+                                               }
                                                $query_id = $this->db3->query($sql,__LINE__,__FILE__);
 
                                                if($this->db3->next_record()) {
@@ -1677,7 +1682,7 @@ class tc
                $this->t->set_file(array('ppi_sched_t' => 'ppi_sched.tpl'));
                $this->t->set_block('ppi_sched_t','individual_list','indivlist');
                $this->t->set_block('ppi_sched_t','appt_list','apptlist');
-           $action = get_var('action',array('GET','POST'));
+               $action = get_var('action',array('GET','POST'));
 
                $this->t->set_var('lang_save','Save Appt / Pri / Notes');
                $this->t->set_var('lang_reset','Clear Changes');
@@ -1691,13 +1696,11 @@ class tc
                $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched&action=save'));
                $this->t->set_var('title',$this->ppi_frequency_label . ' PPI Scheduler');
 
-               $indiv_width=500; $phone_width=25; $pri_width=10; $notes_width=128; $ppi_date_width=20;
-               $table_width=$indiv_width + $phone_width + $pri_width + $notes_width + $ppi_date_width;
-               $header_row = "<th width=$indiv_width><font size=-2>individual Name</th>";
-               $header_row.= "<th width=$phone_width><font size=-2>Phone</th>";
-               $header_row.= "<th width=$pri_width><font size=-2>Priority</th>";
-               $header_row.= "<th width=$ppi_date_width><font size=-2>Last PPI</th>";
-               $header_row.= "<th width=$notes_width><font size=-2>Scheduling Notes</th>";
+               $header_row = "<th ><font size=-2>Individual Name</th>";
+               $header_row.= "<th><font size=-2>Phone</th>";
+               $header_row.= "<th><font size=-2>Priority</th>";
+               $header_row.= "<th><font size=-2>Last PPI</th>";
+               $header_row.= "<th><font size=-2>Scheduling Notes</th>";
                $table_data=""; $completed_data=""; $totals_data="";
 
                $year = date('Y');
@@ -1768,12 +1771,10 @@ class tc
                array_multisort($indiv_name, $individual);
 
                // APPOINTMENT TABLE
-               $date_width=250; $time_width=100; $indiv_width=200; $location_width=100;
-               $appt_table_width=$date_width + $time_width + $indiv_width + $location_width;
-               $appt_header_row = "<th width=$date_width><font size=-2>Date</th>";
-               $appt_header_row.= "<th width=$time_width><font size=-2>Time</th>";      
-               $appt_header_row.= "<th width=$indiv_width><font size=-2>Individual</th>";
-               $appt_header_row.= "<th width=$location_width><font size=-2>Location</th>";
+               $appt_header_row = "<th><font size=-2>Date</th>";
+               $appt_header_row.= "<th><font size=-2>Time</th>";      
+               $appt_header_row.= "<th><font size=-2>Individual</th>";
+               $appt_header_row.= "<th><font size=-2>Location</th>";
                $appt_table_data = "";
                $table_data="";
 
@@ -1795,10 +1796,8 @@ class tc
                  $appt_table_data = "";
 
                  // Display a scheduling table for this presidency member
-                 $district_number = '*';
-                 $district_name = $presidency_name;
-                 $not_completed_table_title = "District ".$district_number.": ".$district_name.": All indivs with " . $this->ppi_frequency_label . " PPI Not Completed";
-                 $appt_table_title = "District ".$district_number.": ".$district_name.": ".$this->ppi_frequency_label." PPI Appointment Slots";
+                 $not_completed_table_title = "All individuals with " . $this->ppi_frequency_label . " PPI Not Completed";
+                 $appt_table_title = $presidency_name . ": " . $this->ppi_frequency_label." PPI Appointment Slots";
                  $this->t->set_var('not_completed_table_title',$not_completed_table_title);
                  $this->t->set_var('appt_table_title',$appt_table_title);
 
@@ -1849,7 +1848,8 @@ class tc
                  }
                  $this->t->set_var('appt_table_data',$appt_table_data);
                  $this->t->set_var('appt_header_row',$appt_header_row);
-                 $this->t->set_var('appt_table_width',$appt_table_width);
+                         $this->t->set_var('lang_save','Save Appts for ' . $presidency_name);
+
                  $this->t->fp('apptlist','appt_list',True);
                }
                
@@ -1947,27 +1947,22 @@ class tc
                        }
                } // End for individuals Loop
 
-               $completed_table_title = "District ".$district_number.": ".$district_name.": All indivs with " . $this->ppi_frequency_label . " PPI Completed";
-               $name_width=175; $phone_width=100; $date_width=100; $notes_width=300;
-               $completed_table_width=$name_width + $phone_width + $date_width + $notes_width;
-               $completed_header_row = "<th width=$name_width><font size=-2>Individual</th>";
-               $completed_header_row.= "<th width=$phone_width><font size=-2>Phone</th>";      
-               $completed_header_row.= "<th width=$date_width><font size=-2>Date</th>";
-               $completed_header_row.= "<th width=$notes_width><font size=-2>PPI Notes</th>";
+               $completed_table_title = "All individuals with " . $this->ppi_frequency_label . " PPI Completed";
+               $completed_header_row = "<th><font size=-2>Individual</th>";
+               $completed_header_row.= "<th><font size=-2>Phone</th>";      
+               $completed_header_row.= "<th><font size=-2>Date</th>";
+               $completed_header_row.= "<th><font size=-2>PPI Notes</th>";
 
                $this->t->set_var('completed_table_title',$completed_table_title);
-               $this->t->set_var('table_width',$table_width);
                $this->t->set_var('header_row',$header_row);
                $this->t->set_var('table_data',$table_data);
                $this->t->set_var('completed_header_row',$completed_header_row);
-               $this->t->set_var('completed_table_width',$completed_table_width);
                $this->t->set_var('completed',$completed_data);
+               $this->t->set_var('lang_save','Save Pri / Notes'); 
                $this->t->fp('indivlist','individual_list',True); 
 
-               $indivs_width=300; $totals_width=100;
-               $totals_table_width=$indivs_width + $totals_width;
-               $totals_header_row = "<th width=$indivs_width><font size=-2>Individuals</th>";
-               $totals_header_row.= "<th width=$totals_width><font size=-2>$year</th>";
+               $totals_header_row = "<th><font size=-2>Individuals</th>";
+               $totals_header_row.= "<th><font size=-2>$year</th>";
                $totals_data.= "<tr bgcolor=". $this->t->get_var('tr_color') .">";
                $totals_data.= "<td align=left><font size=-2><b>Total Individuals with " . $this->ppi_frequency_label . " PPIs completed:</b></font></td>";
                $totals_data.= "<td align=center><font size=-2><b>$indivs_with_yearly_ppi / $total_indivs</b></font></td>";
@@ -1981,7 +1976,7 @@ class tc
 
                $this->t->set_var('totals',$totals_data);
                $this->t->set_var('totals_header_row',$totals_header_row);
-               $this->t->set_var('totals_table_width',$totals_table_width);
+               $this->t->set_var('ppi_frequency_label',$this->ppi_frequency_label);
 
                $this->t->pfp('out','ppi_sched_t');
                $this->save_sessiondata(); 
@@ -1995,7 +1990,6 @@ class tc
                $this->t->set_block('int_sched_t','appt_list','apptlist');
                $action = get_var('action',array('GET','POST'));
 
-               $this->t->set_var('lang_save','Save Appt / Pri / Notes');
                $this->t->set_var('lang_reset','Clear Changes');
 
                $this->t->set_var('int_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.int_view'));
@@ -2007,13 +2001,11 @@ class tc
                $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.int_sched&action=save'));
                $this->t->set_var('title','Hometeaching Interviews Scheduler');
 
-               $indiv_width=500; $phone_width=25; $pri_width=10; $notes_width=128; $int_date_width=20;
-               $table_width=$indiv_width + $phone_width + $pri_width + $notes_width + $int_date_width;
-               $header_row = "<th width=$indiv_width><font size=-2>Individual</th>";
-               $header_row.= "<th width=$phone_width><font size=-2>Phone</th>";
-               $header_row.= "<th width=$pri_width><font size=-2>Priority</th>";
-               $header_row.= "<th width=$int_date_width><font size=-2>Last Interview</th>";
-               $header_row.= "<th width=$notes_width><font size=-2>Scheduling Notes</th>";
+               $header_row = "<th><font size=-2>Individual</th>";
+               $header_row.= "<th><font size=-2>Phone</th>";
+               $header_row.= "<th><font size=-2>Priority</th>";
+               $header_row.= "<th><font size=-2>Last Interview</th>";
+               $header_row.= "<th><font size=-2>Scheduling Notes</th>";
                $table_data=""; $completed_data=""; $totals_data="";
 
                $year = date('Y');
@@ -2126,12 +2118,10 @@ class tc
 
                // APPOINTMENT TABLE
                $district = 1;
-               $date_width=250; $time_width=100; $indiv_width=200; $location_width=100;
-               $appt_table_width=$date_width + $time_width + $indiv_width + $location_width;
-               $appt_header_row = "<th width=$date_width><font size=-2>Date</th>";
-               $appt_header_row.= "<th width=$time_width><font size=-2>Time</th>";      
-               $appt_header_row.= "<th width=$indiv_width><font size=-2>Individual</th>";
-               $appt_header_row.= "<th width=$location_width><font size=-2>Location</th>";
+               $appt_header_row = "<th><font size=-2>Date</th>";
+               $appt_header_row.= "<th><font size=-2>Time</th>";      
+               $appt_header_row.= "<th><font size=-2>Individual</th>";
+               $appt_header_row.= "<th><font size=-2>Location</th>";
                $appt_table_data = ""; 
 
                $total_comps=0; $comps_with_quarterly_int=0;
@@ -2204,7 +2194,6 @@ class tc
 
                        $this->t->set_var('appt_table_data',$appt_table_data);
                        $this->t->set_var('appt_header_row',$appt_header_row);
-                       $this->t->set_var('appt_table_width',$appt_table_width);
 
                        // INTERVIEW SCHEDULING TABLE
 
@@ -2317,28 +2306,24 @@ class tc
                                }
                        }
 
-                       $name_width=175; $phone_width=100; $date_width=100; $notes_width=300;
-                       $completed_table_width=$name_width + $phone_width + $date_width + $notes_width;
-                       $completed_header_row = "<th width=$name_width><font size=-2>Individual</th>";
-                       $completed_header_row.= "<th width=$phone_width><font size=-2>Phone</th>";      
-                       $completed_header_row.= "<th width=$date_width><font size=-2>Date</th>";
-                       $completed_header_row.= "<th width=$notes_width><font size=-2>Interview Notes</th>";
+                       $completed_header_row = "<th><font size=-2>Individual</th>";
+                       $completed_header_row.= "<th><font size=-2>Phone</th>";      
+                       $completed_header_row.= "<th><font size=-2>Date</th>";
+                       $completed_header_row.= "<th><font size=-2>Interview Notes</th>";
 
-                       $this->t->set_var('table_width',$table_width);
                        $this->t->set_var('header_row',$header_row);
                        $this->t->set_var('table_data',$table_data);
                        $this->t->set_var('completed_header_row',$completed_header_row);
-                       $this->t->set_var('completed_table_width',$completed_table_width);
                        $this->t->set_var('completed',$completed_data);
+                       $this->t->set_var('lang_save_appt','Save Appts for ' . $districts[$d]['name']);
+                       $this->t->set_var('lang_save_pri_notes','Save Pri / Notes for '. $districts[$d]['name']);
                        $this->t->fp('indivlist','individual_list',True);
 
                } // End for each district loop
 
 
-               $indivs_width=300; $totals_width=100;
-               $totals_table_width=$indivs_width + $totals_width;
-               $totals_header_row = "<th width=$indivs_width><font size=-2>Individuals</th>";
-               $totals_header_row.= "<th width=$totals_width><font size=-2>$year</th>";
+               $totals_header_row = "<th><font size=-2>Individuals</th>";
+               $totals_header_row.= "<th><font size=-2>$year</th>";
                $totals_data.= "<tr bgcolor=". $this->t->get_var('tr_color') .">";
                $totals_data.= "<td align=left><font size=-2><b>Total Companionships with interviews completed:</b></font></td>";
                $totals_data.= "<td align=center><font size=-2><b>$comps_with_quarterly_int / $total_comps</b></font></td>";
@@ -2352,7 +2337,6 @@ class tc
 
                $this->t->set_var('totals',$totals_data);
                $this->t->set_var('totals_header_row',$totals_header_row);
-               $this->t->set_var('totals_table_width',$totals_table_width);
 
                $this->t->pfp('out','int_sched_t');
                $this->save_sessiondata(); 
@@ -2366,7 +2350,6 @@ class tc
                $this->t->set_block('vis_sched_t','appt_list','apptlist');
                $action = get_var('action',array('GET','POST'));
 
-               $this->t->set_var('lang_save','Save Appt / Pri / Notes');
                $this->t->set_var('lang_reset','Clear Changes');
 
                $this->t->set_var('vis_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.vis_view'));
@@ -2378,13 +2361,11 @@ class tc
                $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.vis_sched&action=save'));
                $this->t->set_var('title','Presidency Yearly Visit Scheduler');
 
-               $family_width=500; $phone_width=40; $pri_width=10; $notes_width=128; $visit_date_width=20;
-               $table_width=$family_width + $phone_width + $pri_width + $notes_width + $visit_date_width;
-               $header_row = "<th width=$family_width><font size=-2>Family Name</th>";
-               $header_row.= "<th width=$phone_width><font size=-2>Phone</th>";
-               $header_row.= "<th width=$pri_width><font size=-2>Priority</th>";
-               $header_row.= "<th width=$visit_date_width><font size=-2>Last Visit</th>";
-               $header_row.= "<th width=$notes_width><font size=-2>Scheduling Notes</th>";
+               $header_row = "<th><font size=-2>Family Name</th>";
+               $header_row.= "<th><font size=-2>Phone</th>";
+               $header_row.= "<th><font size=-2>Priority</th>";
+               $header_row.= "<th><font size=-2>Last Visit</th>";
+               $header_row.= "<th><font size=-2>Scheduling Notes</th>";
                $table_data=""; $completed_data=""; $totals_data="";
 
                $year = date('Y');
@@ -2454,12 +2435,10 @@ class tc
                }
 
                // APPOINTMENT TABLE
-               $date_width=250; $time_width=100; $family_width=250; $location_width=100;
-               $appt_table_width=$date_width + $time_width + $family_width + $location_width;
-               $appt_header_row = "<th width=$date_width><font size=-2>Date</th>";
-               $appt_header_row.= "<th width=$time_width><font size=-2>Time</th>";      
-               $appt_header_row.= "<th width=$family_width><font size=-2>Family</th>";
-               $appt_header_row.= "<th width=$location_width><font size=-2>Location</th>";
+               $appt_header_row = "<th><font size=-2>Date</th>";
+               $appt_header_row.= "<th><font size=-2>Time</th>";      
+               $appt_header_row.= "<th><font size=-2>Family</th>";
+               $appt_header_row.= "<th><font size=-2>Location</th>";
                $appt_table_data = ""; 
 
                // Find out what the President ID is
@@ -2524,7 +2503,6 @@ class tc
 
                $this->t->set_var('appt_table_data',$appt_table_data);
                $this->t->set_var('appt_header_row',$appt_header_row);
-               $this->t->set_var('appt_table_width',$appt_table_width);
 
 
                // VISIT SCHEDULING TABLE
@@ -2605,17 +2583,13 @@ class tc
                        }
                }
 
-               $name_width=190; $phone_width=100; $date_width=100; $notes_width=300;
-               $completed_table_width=$name_width + $phone_width + $date_width + $notes_width;
-               $completed_header_row = "<th width=$name_width><font size=-2>Family Name</th>";
-               $completed_header_row.= "<th width=$phone_width><font size=-2>Phone</th>";      
-               $completed_header_row.= "<th width=$date_width><font size=-2>Date</th>";
-               $completed_header_row.= "<th width=$notes_width><font size=-2>Visit Notes</th>";
+               $completed_header_row = "<th><font size=-2>Family Name</th>";
+               $completed_header_row.= "<th><font size=-2>Phone</th>";      
+               $completed_header_row.= "<th><font size=-2>Date</th>";
+               $completed_header_row.= "<th><font size=-2>Visit Notes</th>";
 
-               $family_width=300; $totals_width=100;
-               $totals_table_width=$family_width + $totals_width;
-               $totals_header_row = "<th width=$family_width><font size=-2>Families</th>";
-               $totals_header_row.= "<th width=$totals_width><font size=-2>$year</th>";
+               $totals_header_row = "<th><font size=-2>Families</th>";
+               $totals_header_row.= "<th><font size=-2>$year</th>";
                $totals_data.= "<tr bgcolor=". $this->t->get_var('tr_color') .">";
                $totals_data.= "<td align=left><font size=-2><b>Total Families with yearly Visits completed:</b></font></td>";
                $totals_data.= "<td align=center><font size=-2><b>$families_with_yearly_visit / $total_families</b></font></td>";
@@ -2627,16 +2601,15 @@ class tc
                $totals_data.= "<td align=center><font size=-2><b>$percent%</b></font></td>";
                $totals_data.= "</tr>";
 
-               $this->t->set_var('table_width',$table_width);
                $this->t->set_var('header_row',$header_row);
                $this->t->set_var('table_data',$table_data);
                $this->t->set_var('totals_header_row',$totals_header_row);
-               $this->t->set_var('totals_table_width',$totals_table_width);
                $this->t->set_var('completed_header_row',$completed_header_row);
-               $this->t->set_var('completed_table_width',$completed_table_width);
                $this->t->set_var('completed',$completed_data);
                $this->t->set_var('totals',$totals_data);
                $this->t->fp('familylist','family_list',True);
+               $this->t->set_var('lang_save_appt','Save Appts');
+               $this->t->set_var('lang_save_pri_notes','Save Pri / Notes');
                $this->t->fp('apptlist','appt_list',True);
 
                $this->t->pfp('out','vis_sched_t');
@@ -3950,6 +3923,35 @@ class tc
                                        // Update an existing appointment
                                        if($appointment < $this->max_appointments)
                                        {
+                                           // If we deleted the appointment, we still need to send a cancellation to the right people
+                                           // Make a note of the old email now in case we need it later
+                                           $old_indiv_email = "";
+                                           $sql = "SELECT * FROM tc_appointment where appointment='$appointment'";
+                                           $this->db->query($sql,__LINE__,__FILE__);
+                                           if($this->db->next_record()) {
+                                                 $old_individual = $this->db->f('individual');
+                                                 $old_family = $this->db->f('family');
+                                                 if($old_individual > 0) {
+                                                       $sql = "SELECT * FROM tc_individual where individual='$old_individual'";
+                                                       $this->db2->query($sql,__LINE__,__FILE__);
+                                                       if($this->db2->next_record()) {
+                                                         $old_indiv_email = $this->db2->f('email');
+                                                       }
+                                                 }
+                                                 if($old_family > 0) {
+                                                       $sql = "SELECT * FROM tc_family WHERE family='$old_family'";
+                                                       $this->db2->query($sql,__LINE__,__FILE__);
+                                                       if($this->db2->next_record()) {
+                                                         $old_individual = $this->db2->f('individual');
+                                                         $sql = "SELECT * FROM tc_individual where individual='$old_individual'";
+                                                         $this->db3->query($sql,__LINE__,__FILE__);
+                                                         if($this->db3->next_record()) {
+                                                               $old_indiv_email = $this->db3->f('email');
+                                                         }
+                                                       }
+                                                 }
+                                               }
+                                               
                                                //Only perform a database update if we have made a change to this appointment
                                                $sql = "SELECT * FROM tc_appointment where " .
                                                       "appointment='$appointment'" .
@@ -3973,7 +3975,7 @@ class tc
                                                                          " WHERE appointment=" . $appointment,__LINE__,__FILE__);
 
                                                        // Email the appointment
-                                                       $this->email_appt($appointment);
+                                                   $this->email_appt($appointment, $old_indiv_email);
                                                }
                                        }
 
@@ -4574,7 +4576,7 @@ class tc
                $this->save_sessiondata();   
        }
 
-       function email_appt($appointment)
+       function email_appt($appointment, $old_indiv_email)
        {
                //print "Emailing notification of appointment: $appointment <br>";
 
@@ -4594,7 +4596,7 @@ class tc
                        $appt_name = "";
                        $phone = "";
                        $uid = $this->db->f('uid');
-
+                                 
                        // Extract the year, month, day, hours, minutes, seconds from the appointment time
                        $appt_date = $this->db->f('date');
                        $date_array = explode("-",$appt_date);
@@ -4628,6 +4630,10 @@ class tc
                                if($this->db2->next_record()) {
                                        $indiv_name = $this->db2->f('name');
                                        $phone = $this->db2->f('phone');
+                                   $indiv_email = $this->db2->f('email');
+                                   if(($this->email_individual_appt == 1) && ($indiv_email != "")) {
+                                         $email .= ", $indiv_email";
+                                       }
                                        $appt_name = $indiv_name . " Interview";
                                        $duration = $this->default_ppi_appt_duration * 60;
                                }
@@ -4644,6 +4650,10 @@ class tc
                                                $phone = $this->db3->f('phone');
                                                $family_name = $this->db3->f('name');
                                                $phone = $this->db3->f('phone');
+                                           $indiv_email = $this->db3->f('email');
+                                           if(($this->email_individual_appt == 1) && ($indiv_email != "")) {
+                                                 $email .= ", $indiv_email";
+                                               }
                                        }
                                        $appt_name = $family_name . " Family Visit";
                                        $duration = $this->default_visit_appt_duration * 60;
@@ -4658,7 +4668,7 @@ class tc
                        if(($uid == 0) && ($appt_name != "")) {
                                // Create a new calendar item for this appointment, since this must be the first time we
                                // are sending it out.
-                               print "Sent new appointment to " . $interviewer . " at " . $email . " for " . $appt_name . "<br>";
+                               print "Sent new appointment for " . $interviewer . " to '" . $email . "' for " . $appt_name . "<br>";
                                $uid = rand() . rand(); // Generate a random identifier for this appointment
                                $subject = "Created: $appt_name";
 
@@ -4672,7 +4682,10 @@ class tc
                        } else if(($uid != 0) && ($appt_name == "")) {
                                // Remove the calendar item for this appointment since it has already been sent
                                // and there is no name we have changed it to.
-                               print "Sent deleted appointment to " . $interviewer . " at " . $email . " for " . $appt_date . " " . $appt_time . "<br>";
+                           if(($this->email_individual_appt == 1) && ($old_indiv_email != "")) {
+                                 $email .= ", $old_indiv_email";
+                               }
+                               print "Sent deleted appointment for " . $interviewer . " to '" . $email . "' for " . $appt_date . " " . $appt_time . "<br>";
                                $subject = "Canceled: $appt_date $appt_time";
 
                                $this->db->query("UPDATE tc_appointment set" .
@@ -4684,7 +4697,7 @@ class tc
                                                      $dtend, $date, $location, $subject, $subject, $uid);
                        } else if($uid != 0) {
                                // Update the existing appointment since we have changed it
-                               print "Sent updated appointment to " . $interviewer . " at " . $email . " for " . $appt_name . "<br>";
+                               print "Sent updated appointment for " . $interviewer . " to '" . $email . "' for " . $appt_name . "<br>";
 
                                $subject = "Canceled: $appt_date $appt_time";
                                $action = "CANCEL";