X-Git-Url: http://git.pippins.net/embedvideo/.git/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fclass.tc.inc.php;h=fc699ea7f203c7a61639acd744339d9aac6ec174;hb=df98b91223853d33672c1dc5038df0d4d10f146f;hp=6c80090beb3fa8560297662d70df92300cfc8e95;hpb=fb4fe3b1180e8c1178007e1d2e593f8970bd4c13;p=eq%2F.git diff --git a/inc/class.tc.inc.php b/inc/class.tc.inc.php index 6c80090..fc699ea 100644 --- a/inc/class.tc.inc.php +++ b/inc/class.tc.inc.php @@ -410,24 +410,172 @@ class tc $this->t->set_block('ht_sandbox_t','district_table_list','dt_list'); $this->t->set_block('ht_sandbox_t','companionship_table_list','ct_list'); - $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox')); + $this->t->set_var('submit_action',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox&action=add')); + + $action = get_var('action',array('GET','POST')); - $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox')); $this->t->set_var('title','Hometeaching Sandbox'); + if ($_POST['add']) { + #$this->t->set_var('debug_list',$_POST['add']); + $companionship = get_var('companionship',array('POST')); + $district = get_var('district',array('POST')); + $assignedHT_list = get_var('assignedHT',array('POST')); + $unassignedHT_list = get_var('unassignedHT',array('POST')); + $assigned_family_list = get_var('assignedFamiles',array('POST')); + $unassigned_family_list = get_var('unassignedFamilies',array('POST')); + + if ($assignedHT_list || $unassignedHT_list) { + $sql = "INSERT INTO tc_companionship_sandbox (tc_companionship,district) VALUES (\"NULL\",\"$district\")"; + $this->db2->query($sql,__LINE__,__FILE__); + $companionship_sandbox = mysql_insert_id(); + + foreach ($assignedHT_list as $individual) { + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($unassignedHT_list as $individual) { + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($assigned_family_list as $family) { + $sql = "UPDATE tc_family_sandbox SET companionship=$companionship_sandbox WHERE family=$family"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($unassigned_family_list as $family) { + $sql = "UPDATE tc_family_sandbox SET companionship=$companionship_sandbox WHERE family=$family"; + $this->db->query($sql,__LINE__,__FILE__); + } + } else { + $this->t->set_var('debug_list','You must select at least one companion!'); + } + } else if ($_POST['delete']) { + #$this->t->set_var('debug_list',$_POST['delete']); + $companionship = get_var('companionship',array('POST')); + #$this->t->set_var('debug_list',$companionship); + + if ($companionship > 0) { + # unassign families + $sql = "UPDATE tc_family_sandbox SET companionship=NULL WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + + # remove companions + $sql = "DELETE FROM tc_companion_sandbox WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + + # remove companionship + $sql = "DELETE FROM tc_companionship_sandbox WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + } else { + $this->t->set_var('debug_list','You must select a companionship to delete!'); + } + } else if ($_POST['update']) { + #$this->t->set_var('debug_list',$_POST['update']); + $companionship = get_var('companionship',array('POST')); + $district = get_var('district',array('POST')); + $assignedHT_list = get_var('assignedHT',array('POST')); + $unassignedHT_list = get_var('unassignedHT',array('POST')); + $assigned_family_list = get_var('assignedFamiles',array('POST')); + $unassigned_family_list = get_var('unassignedFamilies',array('POST')); + #$this->t->set_var('debug_list',$district); + + if ($companionship > 0) { + if ($assignedHT_list || $unassignedHT_list) { + # clear out existing info about companionship + $sql = "UPDATE tc_family_sandbox SET companionship=NULL WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + $sql = "DELETE FROM tc_companion_sandbox WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + + # set new info about companionship + $sql = "UPDATE tc_companionship_sandbox SET district=$district WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + foreach ($assignedHT_list as $individual) { + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship\")"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($unassignedHT_list as $individual) { + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship\")"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($assigned_family_list as $family) { + $sql = "UPDATE tc_family_sandbox SET companionship=$companionship WHERE family=$family"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($unassigned_family_list as $family) { + $sql = "UPDATE tc_family_sandbox SET companionship=$companionship WHERE family=$family"; + $this->db->query($sql,__LINE__,__FILE__); + } + } else { + $this->t->set_var('debug_list','You must select at least one companion!'); + } + } else { + $this->t->set_var('debug_list','You must select a companionship to update!'); + } + } else if ($_POST['reset']) { + #$this->t->set_var('debug_list',$_POST['reset']); + + $sql = "TRUNCATE TABLE tc_district_sandbox"; + $this->db->query($sql,__LINE__,__FILE__); + $sql = "TRUNCATE TABLE tc_family_sandbox"; + $this->db->query($sql,__LINE__,__FILE__); + $sql = "TRUNCATE TABLE tc_companion_sandbox"; + $this->db->query($sql,__LINE__,__FILE__); + $sql = "TRUNCATE TABLE tc_companionship_sandbox"; + $this->db->query($sql,__LINE__,__FILE__); + + # populate tc_district_sandbox + $sql = "SELECT * FROM tc_district WHERE valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $district = $this->db->f('district'); + $supervisor = $this->db->f('supervisor'); + $sql = "INSERT INTO tc_district_sandbox (district,supervisor) VALUES (\"$district\",\"$supervisor\")"; + $this->db2->query($sql,__LINE__,__FILE__); + } + + # populate family, companion, and companionship tables + $sql = "SELECT * FROM tc_companionship WHERE valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $companionship = $this->db->f('companionship'); + $district = $this->db->f('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 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'); + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")"; + $this->db3->query($sql,__LINE__,__FILE__); + } + + $sql = "SELECT * FROM tc_family WHERE companionship=$companionship AND valid=1"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + $individual = $this->db2->f('individual'); + $family = $this->db2->f('family'); + $sql = "INSERT INTO tc_family_sandbox (tc_family,individual,companionship) VALUES (\"$family\",\"$individual\",\"$companionship_sandbox\")"; + $this->db3->query($sql,__LINE__,__FILE__); + } + } + } + // get list of companionships - $sql = "SELECT DISTINCT companionship FROM tc_companionship where valid=1 ORDER BY companionship ASC"; + $sql = "SELECT DISTINCT companionship FROM tc_companionship_sandbox ORDER BY companionship ASC"; $this->db->query($sql,__LINE__,__FILE__); $unique_companionships = ''; $unique_companionships[0]['companionship'] = 0; - $this->t->set_var('companionship_list',''); - $this->t->fp('list','comp_list',True); + $this->t->set_var('companionship_list',''); + $this->t->fp('c_list','comp_list',True); $j=1; while ($this->db->next_record()) { $companionship = $this->db->f('companionship'); $unique_companionships[$j]['companionship'] = $companionship; $combined_companionship = ""; - $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND companionship=$companionship AND tc.valid=1 ORDER BY ti.name ASC"; + $sql = "SELECT * FROM tc_companion_sandbox AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND tc.companionship=$companionship ORDER BY ti.name ASC"; $this->db2->query($sql,__LINE__,__FILE__); while ($this->db2->next_record()) { if ($combined_companionship == "") { @@ -436,19 +584,19 @@ class tc $combined_companionship .= " / " . $this->db2->f('name'); } } - $this->t->set_var('companionship_list',''); + $this->t->set_var('companionship_list',''); $this->t->fp('c_list','comp_list',True); $j++; } # get list of districts - $sql = "SELECT DISTINCT district FROM tc_district WHERE valid=1 ORDER BY district ASC"; + $sql = "SELECT DISTINCT district FROM tc_district_sandbox ORDER BY district ASC"; $this->db->query($sql,__LINE__,__FILE__); $districts = ''; $num_districts=0; while ($this->db->next_record()) { $districts[$num_districts] = $this->db->f('district'); - $this->t->set_var('district',''); + $this->t->set_var('district',''); $this->t->fp('d_list','district_list',True); $num_districts++; } @@ -456,51 +604,33 @@ class tc # get list of individuals who are and are not home teachers $sql = "SELECT * FROM tc_individual WHERE steward='$this->default_stewardship' AND valid=1 ORDER BY name ASC"; $this->db->query($sql,__LINE__,__FILE__); - $unassigned_ht = ''; - $assigned_ht = ''; - $num_ht_assigned=0; $num_ht_unassigned=0; while ($this->db->next_record()) { $individual = $this->db->f('individual'); $name = $this->db->f('name'); - $sql = "SELECT DISTINCT * FROM tc_companion WHERE individual=$individual AND valid=1"; + $sql = "SELECT DISTINCT * FROM tc_companion_sandbox WHERE individual=$individual"; $this->db2->query($sql,__LINE__,__FILE__); if ($this->db2->next_record()) { - $assigned_ht[$num_ht_assigned]['individual'] = $individual; - $assigned_ht[$num_ht_assigned]['name'] = $name; - $this->t->set_var('assigned_ht',''); + $this->t->set_var('assigned_ht',''); $this->t->fp('aht_list','assigned_ht_list',True); - $num_ht_assigned++; } else { - $unassigned_ht[$num_ht_unassigned]['individual'] = $individual; - $unassigned_ht[$num_ht_unassigned]['name'] = $name; - $this->t->set_var('unassigned_ht',''); + $this->t->set_var('unassigned_ht',''); $this->t->fp('uht_list','unassigned_ht_list',True); - $num_ht_unassigned++; } } # get list of families who are and are not assigned home teachers - $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.valid=1 ORDER BY ti.name ASC"; + $sql = "SELECT * FROM tc_family_sandbox AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual ORDER BY ti.name ASC"; $this->db->query($sql,__LINE__,__FILE__); - $unassigned_families = ''; - $assigned_families = ''; - $num_families_assigned=0; $num_families_unassigned=0; while ($this->db->next_record()) { $individual = $this->db->f('individual'); $family = $this->db->f('family'); $name = $this->db->f('name'); if ($this->db->f('companionship') != 0) { - $assigned_families[$num_families_assigned]['family'] = $family; - $assigned_families[$num_families_assigned]['name'] = $name; - $this->t->set_var('assigned_family',''); + $this->t->set_var('assigned_family',''); $this->t->fp('af_list','assigned_family_list',True); - $num_families_assigned++; } else { - $unassigned_families[$num_families_unassigned]['family'] = $family; - $unassigned_families[$num_families_unassigned]['name'] = $name; - $this->t->set_var('unassigned_family',''); + $this->t->set_var('unassigned_family',''); $this->t->fp('uf_list','unassigned_family_list',True); - $num_families_unassigned++; } } @@ -518,13 +648,13 @@ class tc for ($d = 0; $d < $num_districts; $d++) { $sandbox_table_data .= ""; $sandbox_table_data .= ""; - $sql = "SELECT DISTINCT companionship FROM tc_companionship WHERE district=$districts[$d] AND valid=1 ORDER BY companionship ASC"; + $sql = "SELECT DISTINCT companionship FROM tc_companionship_sandbox WHERE district=$districts[$d] ORDER BY companionship ASC"; $this->db->query($sql,__LINE__,__FILE__); while ($this->db->next_record()) { $sandbox_table_data .= "
"; $companionship = $this->db->f('companionship'); # get names of companions in this companionship - $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND companionship=$companionship AND tc.valid=1 ORDER BY ti.name ASC"; + $sql = "SELECT * FROM tc_companion_sandbox AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND companionship=$companionship ORDER BY ti.name ASC"; $this->db2->query($sql,__LINE__,__FILE__); $companion_names = ""; while ($this->db2->next_record()) { @@ -538,16 +668,17 @@ class tc $sandbox_table_data .= "
"; # get families they visit - $sql = "SELECT * FROM tc_companionship AS tcp JOIN (tc_family AS tf, tc_individual AS ti) WHERE tcp.companionship=$companionship AND tcp.companionship=tf.companionship AND tf.individual=ti.individual AND tcp.valid=1"; + $sql = "SELECT * FROM tc_companionship_sandbox AS tcp JOIN (tc_family_sandbox AS tf, tc_individual AS ti) WHERE tcp.companionship=$companionship AND tcp.companionship=tf.companionship AND tf.individual=ti.individual"; $this->db2->query($sql,__LINE__,__FILE__); while ($this->db2->next_record()) { $family_name = $this->db2->f('name') . " Family"; - $family_id = $this->db2->f('family'); + $family_id = $this->db2->f('tc_family'); + $tc_companionship = $this->db2->f('tc_companionship'); $sandbox_table_data .= ""; - $sandbox_table_data .= ""; + $sandbox_table_data .= ""; # 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; } @@ -556,14 +687,18 @@ 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()) { if($this->db3->f('visited') == 'y') { - $sandbox_table_data .= ''; + $sandbox_table_data .= ""; } else if($this->db3->f('visited') == 'n') { - $sandbox_table_data .= ''; + $sandbox_table_data .= ""; } else { $sandbox_table_data .= ""; } @@ -1547,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'); @@ -1561,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 = ""; - $header_row.= ""; - $header_row.= ""; - $header_row.= ""; - $header_row.= ""; + $header_row = ""; + $header_row.= ""; + $header_row.= ""; + $header_row.= ""; + $header_row.= ""; $table_data=""; $completed_data=""; $totals_data=""; $year = date('Y'); @@ -1638,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 = ""; - $appt_header_row.= ""; - $appt_header_row.= ""; - $appt_header_row.= ""; + $appt_header_row = ""; + $appt_header_row.= ""; + $appt_header_row.= ""; + $appt_header_row.= ""; $appt_table_data = ""; $table_data=""; @@ -1665,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); @@ -1719,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); } @@ -1817,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 = ""; - $completed_header_row.= ""; - $completed_header_row.= ""; - $completed_header_row.= ""; + $completed_table_title = "All individuals with " . $this->ppi_frequency_label . " PPI Completed"; + $completed_header_row = ""; + $completed_header_row.= ""; + $completed_header_row.= ""; + $completed_header_row.= ""; $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 = ""; - $totals_header_row.= ""; + $totals_header_row = ""; + $totals_header_row.= ""; $totals_data.= ""; $totals_data.= ""; $totals_data.= ""; @@ -1851,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(); @@ -1865,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')); @@ -1877,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 = ""; - $header_row.= ""; - $header_row.= ""; - $header_row.= ""; - $header_row.= ""; + $header_row = ""; + $header_row.= ""; + $header_row.= ""; + $header_row.= ""; + $header_row.= ""; $table_data=""; $completed_data=""; $totals_data=""; $year = date('Y'); @@ -1996,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 = ""; - $appt_header_row.= ""; - $appt_header_row.= ""; - $appt_header_row.= ""; + $appt_header_row = ""; + $appt_header_row.= ""; + $appt_header_row.= ""; + $appt_header_row.= ""; $appt_table_data = ""; $total_comps=0; $comps_with_quarterly_int=0; @@ -2074,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 @@ -2187,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 = ""; - $completed_header_row.= ""; - $completed_header_row.= ""; - $completed_header_row.= ""; + $completed_header_row = ""; + $completed_header_row.= ""; + $completed_header_row.= ""; + $completed_header_row.= ""; - $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 = ""; - $totals_header_row.= ""; + $totals_header_row = ""; + $totals_header_row.= ""; $totals_data.= ""; $totals_data.= ""; $totals_data.= ""; @@ -2222,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(); @@ -2236,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')); @@ -2248,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 = ""; - $header_row.= ""; - $header_row.= ""; - $header_row.= ""; - $header_row.= ""; + $header_row = ""; + $header_row.= ""; + $header_row.= ""; + $header_row.= ""; + $header_row.= ""; $table_data=""; $completed_data=""; $totals_data=""; $year = date('Y'); @@ -2324,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 = ""; - $appt_header_row.= ""; - $appt_header_row.= ""; - $appt_header_row.= ""; + $appt_header_row = ""; + $appt_header_row.= ""; + $appt_header_row.= ""; + $appt_header_row.= ""; $appt_table_data = ""; // Find out what the President ID is @@ -2394,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 @@ -2475,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 = ""; - $completed_header_row.= ""; - $completed_header_row.= ""; - $completed_header_row.= ""; + $completed_header_row = ""; + $completed_header_row.= ""; + $completed_header_row.= ""; + $completed_header_row.= ""; - $family_width=300; $totals_width=100; - $totals_table_width=$family_width + $totals_width; - $totals_header_row = ""; - $totals_header_row.= ""; + $totals_header_row = ""; + $totals_header_row.= ""; $totals_data.= ""; $totals_data.= ""; $totals_data.= ""; @@ -2497,16 +2601,15 @@ class tc $totals_data.= ""; $totals_data.= ""; - $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'); @@ -3820,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'" . @@ -3843,7 +3975,7 @@ class tc " WHERE appointment=" . $appointment,__LINE__,__FILE__); // Email the appointment - $this->email_appt($appointment); + $this->email_appt($appointment, $old_indiv_email); } } @@ -4444,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
"; @@ -4464,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); @@ -4498,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; } @@ -4514,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; @@ -4528,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 . "
"; + print "Sent new appointment for " . $interviewer . " to '" . $email . "' for " . $appt_name . "
"; $uid = rand() . rand(); // Generate a random identifier for this appointment $subject = "Created: $appt_name"; @@ -4542,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 . "
"; + 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 . "
"; $subject = "Canceled: $appt_date $appt_time"; $this->db->query("UPDATE tc_appointment set" . @@ -4554,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 . "
"; + print "Sent updated appointment for " . $interviewer . " to '" . $email . "' for " . $appt_name . "
"; $subject = "Canceled: $appt_date $appt_time"; $action = "CANCEL";
$family_name$family_name individual NamePhonePriorityLast PPIScheduling NotesIndividual NamePhonePriorityLast PPIScheduling NotesDateTimeIndividualLocationDateTimeIndividualLocationIndividualPhoneDatePPI NotesIndividualPhoneDatePPI NotesIndividuals$yearIndividuals$year
Total Individuals with " . $this->ppi_frequency_label . " PPIs completed:$indivs_with_yearly_ppi / $total_indivsIndividualPhonePriorityLast InterviewScheduling NotesIndividualPhonePriorityLast InterviewScheduling NotesDateTimeIndividualLocationDateTimeIndividualLocationIndividualPhoneDateInterview NotesIndividualPhoneDateInterview NotesIndividuals$yearIndividuals$year
Total Companionships with interviews completed:$comps_with_quarterly_int / $total_compsFamily NamePhonePriorityLast VisitScheduling NotesFamily NamePhonePriorityLast VisitScheduling NotesDateTimeFamilyLocationDateTimeFamilyLocationFamily NamePhoneDateVisit NotesFamily NamePhoneDateVisit NotesFamilies$yearFamilies$year
Total Families with yearly Visits completed:$families_with_yearly_visit / $total_families$percent%