X-Git-Url: http://git.pippins.net/embedvideo/.git/static/git-logo.png?a=blobdiff_plain;f=inc%2Fclass.tc.inc.php;h=6c80090beb3fa8560297662d70df92300cfc8e95;hb=fb4fe3b1180e8c1178007e1d2e593f8970bd4c13;hp=ae33d78589d6d5141c7d7a97f89f56039a56f8ed;hpb=81a98152e7cf8876e590a42eb362e99c0e2e742d;p=eq%2F.git diff --git a/inc/class.tc.inc.php b/inc/class.tc.inc.php index ae33d78..6c80090 100644 --- a/inc/class.tc.inc.php +++ b/inc/class.tc.inc.php @@ -35,6 +35,7 @@ class tc var $script_path; var $max_appointments; var $max_presidency_members; + var $ppi_frequency_label; var $public_functions = array ( @@ -67,6 +68,7 @@ class tc 'assign_view' => True, 'assign_update' => True, 'get_time_selection_form' => True, + 'ht_sandbox' => True, ); function tc() @@ -105,6 +107,18 @@ class tc $this->current_month = $this->current_month-0; // Make it numeric $this->current_year = `date '+%Y'`; $this->current_year = $this->current_year-0; // Make it numeric + + if ($this->ppi_frequency == 12) { + $this->ppi_frequency_label = "Annual"; + } else if ($this->ppi_frequency == 6) { + $this->ppi_frequency_label = "Semi-Annual"; + } else if ($this->ppi_frequency == 3) { + $this->ppi_frequency_label = "Quarterly"; + } else if ($this->ppi_frequency == 1) { + $this->ppi_frequency_label = "Monthly"; + } else { + $this->ppi_frequency_label = "Periodic"; + } echo parse_navbar(); $this->display_app_header(); @@ -203,6 +217,9 @@ class tc $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_view')); $this->t->set_var('title','Hometeaching'); + $this->t->set_var('ht_sandbox_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox')); + $this->t->set_var('ht_sandbox_link_title','Hometeaching Sandbox'); + $sql = "SELECT * FROM tc_district AS td JOIN tc_individual AS ti WHERE td.supervisor=ti.individual AND td.valid=1 ORDER BY td.district ASC"; $this->db->query($sql,__LINE__,__FILE__); $i=0; @@ -381,6 +398,198 @@ class tc } + function ht_sandbox() + { + $this->t->set_file(array('ht_sandbox_t' => 'ht_sandbox.tpl')); + $this->t->set_block('ht_sandbox_t','comp_list','c_list'); + $this->t->set_block('ht_sandbox_t','district_list','d_list'); + $this->t->set_block('ht_sandbox_t','unassigned_ht_list','uht_list'); + $this->t->set_block('ht_sandbox_t','assigned_ht_list','aht_list'); + $this->t->set_block('ht_sandbox_t','unassigned_family_list','uf_list'); + $this->t->set_block('ht_sandbox_t','assigned_family_list','af_list'); + $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('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox')); + $this->t->set_var('title','Hometeaching Sandbox'); + + // get list of companionships + $sql = "SELECT DISTINCT companionship FROM tc_companionship where valid=1 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); + $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"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($combined_companionship == "") { + $combined_companionship .= $this->db2->f('name'); + } else { + $combined_companionship .= " / " . $this->db2->f('name'); + } + } + $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"; + $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->fp('d_list','district_list',True); + $num_districts++; + } + + # 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"; + $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->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->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"; + $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->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->fp('uf_list','unassigned_family_list',True); + $num_families_unassigned++; + } + } + + # populate ht districts table + $sandbox_table_data = ""; + + # set up column headers + $sandbox_table_data .= ""; + for ($d = 0; $d < $num_districts; $d++) { + $sandbox_table_data .= ""; + } + + # get each companionship in each district + $sandbox_table_data .= ""; + for ($d = 0; $d < $num_districts; $d++) { + $sandbox_table_data .= ""; + } + $sandbox_table_data .= ""; + + $sandbox_table_data .= "
District " . $districts[$d] . "
"; + $sandbox_table_data .= ""; + $sql = "SELECT DISTINCT companionship FROM tc_companionship WHERE district=$districts[$d] AND valid=1 ORDER BY companionship ASC"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $sandbox_table_data .= ""; + } + + $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"; + $this->db2->query($sql,__LINE__,__FILE__); + $companion_names = ""; + while ($this->db2->next_record()) { + if ($companion_names == "") { + $companion_names .= $this->db2->f('name'); + } else { + $companion_names .= " / " . $this->db2->f('name'); + } + } + $sandbox_table_data .= ""; + $sandbox_table_data .= ""; + $sandbox_table_data .= "
$companion_names
"; + + # 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"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + $family_name = $this->db2->f('name') . " Family"; + $family_id = $this->db2->f('family'); + $sandbox_table_data .= ""; + $sandbox_table_data .= ""; + + # get 12 months visit data for given family + for($m=12; $m >= 0; $m--) { + $month = $this->current_month - $m; + $year = $this->current_year; + if($month <= 0) { $remainder = $month; $month = 12 + $remainder; $year=$year-1; } + if($month < 10) { $month = "0"."$month"; } + $month_start = "$year"."-"."$month"."-"."01"; + $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; + $query_id = $this->db3->query($sql,__LINE__,__FILE__); + + if($this->db3->next_record()) { + if($this->db3->f('visited') == 'y') { + $sandbox_table_data .= ''; + } else if($this->db3->f('visited') == 'n') { + $sandbox_table_data .= ''; + } else { + $sandbox_table_data .= ""; + } + } else { + $sandbox_table_data .= ""; + } + } + $sandbox_table_data .= ""; + } + $sandbox_table_data .= "
$family_name  
"; + $sandbox_table_data .= "
"; + $this->t->set_var('district_table',$sandbox_table_data); + + $this->t->pfp('out','ht_sandbox_t'); + $this->save_sessiondata(); + } + + function ht_update() { $this->t->set_file(array('ht_update_t' => 'ht_update.tpl')); @@ -725,7 +934,7 @@ class tc $this->db->query("UPDATE tc_activity set " . " assignment='" . $activity['assignment'] . "', date='" . $activity['date'] . "'" . - ", notes='" . $activity['notes'] . "'" . + ", notes=\"" . $activity['notes'] . "\"" . " WHERE activity=" . $activity['activity'],__LINE__,__FILE__); // Delete all the individuals who have particiapted in this activity @@ -750,10 +959,10 @@ class tc $activity['notes']= get_var('notes',array('POST')); $this->db->query("INSERT INTO tc_activity (assignment,date,notes) " . "VALUES ('" . $activity['assignment'] . "','" . - $activity['date'] . "','" . $activity['notes'] . "')",__LINE__,__FILE__); + $activity['date'] . "',\"" . $activity['notes'] . "\")",__LINE__,__FILE__); $sql = "SELECT * FROM tc_activity WHERE assignment='".$activity['assignment']."' " . - " AND date='".$activity['date']."' AND notes='".$activity['notes']."'"; + " AND date='".$activity['date']."' AND notes=\"".$activity['notes']."\""; $this->db->query($sql,__LINE__,__FILE__); if($this->db->next_record()) { //print "activity: " . $this->db->f('activity') . "
"; @@ -825,7 +1034,7 @@ class tc $this->t->set_var('assignment_data',$assignment_data); // Create individual selection boxes - $sql = "SELECT * FROM tc_individual WHERE steward='$this->default_stewardship'"; + $sql = "SELECT * FROM tc_individual"; $this->db->query($sql,__LINE__,__FILE__); $i=0; while ($this->db->next_record()) { @@ -1338,19 +1547,19 @@ 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'); $this->t->set_var('ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_view')); - $this->t->set_var('ppi_link_title','Yearly PPIs'); + $this->t->set_var('ppi_link_title',$this->ppi_frequency_label . ' PPIs'); $this->t->set_var('schedule_ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched')); - $this->t->set_var('schedule_ppi_link_title','Schedule Yearly PPIs'); + $this->t->set_var('schedule_ppi_link_title','Schedule ' . $this->ppi_frequency_label . ' PPIs'); $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched&action=save')); - $this->t->set_var('title','Yearly PPI Scheduler'); + $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; @@ -1362,24 +1571,10 @@ class tc $table_data=""; $completed_data=""; $totals_data=""; $year = date('Y'); - - // Get the President - $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti where tp.individual=ti.individual AND tp.president=1 AND tp.valid=1"; - $this->db->query($sql,__LINE__,__FILE__); - if($this->db->next_record()) { - $president_name = $this->db->f('name'); - $president_name_array = explode(",",$president_name); - $president_last_name = $president_name_array[0]; - $president_id = $this->db->f('individual'); - $presidency_id = $this->db->f('presidency'); - $interviewer = $this->db->f('individual'); - $district_number = '*'; - $district_name = $president_name; - $president_address = $this->db->f('address'); - } else { - print "

-E- Unable to locate President in tc_presidency table

"; - return; - } + $month = date('m'); + $period = intval(($month-1)/$this->ppi_frequency) + 1; + $start_of_period = ($period-1)*$this->ppi_frequency + 1; + $end_of_period = $period * $this->ppi_frequency; if($action == 'save') { // Save any changes made to the appointment table @@ -1389,7 +1584,8 @@ class tc $indiv = $entry['individual']; $appointment = $entry['appointment']; $location = $entry['location']; - if($location == "") { $location = "$president_last_name"." home ($president_address)"; } + $presidency_location = $entry['presidency_location']; + if($location == "") { $location = $presidency_location; } if($indiv == 0) { $location = ""; } //Only perform a database update if we have made a change to this appointment @@ -1446,35 +1642,52 @@ class tc $appt_table_width=$date_width + $time_width + $indiv_width + $location_width; $appt_header_row = "Date"; $appt_header_row.= "Time"; - $appt_header_row.= "indiv"; + $appt_header_row.= "Individual"; $appt_header_row.= "Location"; - $appt_table_data = ""; + $appt_table_data = ""; + $table_data=""; $total_indivs=0; $indivs_with_yearly_ppi=0; - // Display a scheduling table for the President - $table_data=""; $appt_table_data=""; - $table_title = "District ".$district_number.": ".$district_name.": All indivs with Yearly PPI Not Completed"; - $appt_table_title = "District ".$district_number.": ".$district_name.": Yearly PPI Appointment Slots"; - $this->t->set_var('table_title',$table_title); - $this->t->set_var('appt_table_title',$appt_table_title); - - // query the database for all the appointments - $sql = "SELECT * FROM tc_appointment where presidency=".$presidency_id." and date>=CURDATE() ORDER BY date ASC, time ASC"; + // Get the President + $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti where tp.individual=ti.individual AND tp.valid=1 AND "; + if($this->yearly_ppi_interviewer == 1) { $sql .= " (tp.president=1)"; } + if($this->yearly_ppi_interviewer == 2) { $sql .= " (tp.president=1 OR tp.counselor=1)"; } + if($this->yearly_ppi_interviewer == 3) { $sql .= " (tp.president=1 OR tp.counselor=1 OR tp.secretary=1)"; } $this->db->query($sql,__LINE__,__FILE__); - while ($this->db->next_record()) { - $appointment = $this->db->f('appointment'); - $indiv = $this->db->f('individual'); - $location = $this->db->f('location'); - if(($location == "") && ($indiv > 0)) { $location = "$president_last_name"." home ($president_address)"; } + $presidency_name = $this->db->f('name'); + $presidency_name_array = explode(",",$presidency_name); + $presidency_last_name = $presidency_name_array[0]; + $presidency_id = $this->db->f('presidency'); + $presidency_address = $this->db->f('address'); + $presidency_location = "$presidency_last_name"." home ($presidency_address)"; + $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"; + $this->t->set_var('not_completed_table_title',$not_completed_table_title); + $this->t->set_var('appt_table_title',$appt_table_title); + + // query the database for all the appointments + $sql = "SELECT * FROM tc_appointment where presidency=".$presidency_id." and date>=CURDATE() ORDER BY date ASC, time ASC"; + $this->db2->query($sql,__LINE__,__FILE__); + + while ($this->db2->next_record()) { + $appointment = $this->db2->f('appointment'); + $indiv = $this->db2->f('individual'); + $location = $this->db2->f('location'); + if(($location == "") && ($indiv > 0)) { $location = $presidency_location; } - $date = $this->db->f('date'); + $date = $this->db2->f('date'); $date_array = explode("-",$date); $year = $date_array[0]; $month = $date_array[1]; $day = $date_array[2]; $day_string = date("l d-M-Y", mktime(0,0,0,$month,$day,$year)); - $time = $this->db->f('time'); + $time = $this->db2->f('time'); $time_array = explode(":",$time); $time_string = date("g:i a", mktime($time_array[0], $time_array[1], $time_array[2])); @@ -1485,14 +1698,14 @@ class tc $appt_table_data.= ''; @@ -1503,12 +1716,13 @@ class tc $tr_color = $this->nextmatchs->alternate_row_color($tr_color); $this->t->set_var('tr_color',$tr_color); + } + $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->fp('apptlist','appt_list',True); } - - $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); - + // PPI SCHEDULING TABLE $sql = "SELECT * FROM tc_individual AS ti JOIN tc_scheduling_priority AS tsp WHERE ti.scheduling_priority=tsp.scheduling_priority AND steward='$this->default_stewardship' AND valid=1 ORDER BY tsp.priority ASC, ti.name ASC"; $this->db->query($sql,__LINE__,__FILE__); @@ -1526,7 +1740,7 @@ class tc } $max = count($individual); - + for($i=0; $i < $max; $i++) { $id = $individual[$i]; $name = $indiv_name[$i]; @@ -1534,10 +1748,11 @@ class tc $priority = $indiv_priority[$id]; $notes = $indiv_notes[$id]; - // If this individual has had a yearly PPI this year, don't show him on the schedule list - $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01"; - $sql = "SELECT * FROM tc_interview WHERE date > '$year_start' AND date < '$year_end' ". - "AND individual=" . $id . " AND interview_type='ppi'"; + // If this individual has had a PPI this period, don't show him on the schedule list + $year_start = $year . "-" . $start_of_period . "-01"; + $year_end = $year . "-" . $end_of_period . "-31"; + $sql = "SELECT * FROM tc_interview WHERE date >= '$year_start' AND date <= '$year_end' ". + "AND individual=" . $id . " AND interview_type='ppi' ORDER BY date DESC"; $this->db2->query($sql,__LINE__,__FILE__); if(!$this->db2->next_record()) { @@ -1602,13 +1817,15 @@ 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 = "Individual Name"; + $completed_header_row = "Individual"; $completed_header_row.= "Phone"; $completed_header_row.= "Date"; $completed_header_row.= "PPI Notes"; + $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); @@ -1622,7 +1839,7 @@ class tc $totals_header_row = "Individuals"; $totals_header_row.= "$year"; $totals_data.= ""; - $totals_data.= "Total Individuals with yearly PPIs completed:"; + $totals_data.= "Total Individuals with " . $this->ppi_frequency_label . " PPIs completed:"; $totals_data.= "$indivs_with_yearly_ppi / $total_indivs"; $percent = ceil(($indivs_with_yearly_ppi / $total_indivs)*100); $tr_color = $this->nextmatchs->alternate_row_color($tr_color); @@ -1662,7 +1879,7 @@ class tc $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 = "individual Name"; + $header_row = "Individual"; $header_row.= "Phone"; $header_row.= "Priority"; $header_row.= "Last Interview"; @@ -1907,11 +2124,11 @@ class tc } // If this companionship has had a hometeaching interview this quarter, don't show them on the schedule list - $sql = "SELECT * FROM tc_interview WHERE date >= '$quarter_start' AND date < '$quarter_end' AND individual='$id'"; + $sql = "SELECT * FROM tc_interview WHERE date >= '$quarter_start' AND date < '$quarter_end' AND individual='$id' AND interview_type='hti'"; $this->db2->query($sql,__LINE__,__FILE__); if(!$this->db2->next_record()) { - $sql = "SELECT * FROM tc_interview WHERE individual='$id' ORDER BY date DESC"; + $sql = "SELECT * FROM tc_interview WHERE individual='$id' AND interview_type='hti' ORDER BY date DESC"; $this->db3->query($sql,__LINE__,__FILE__); if($this->db3->next_record()) { $date = $this->db3->f('date'); @@ -1972,7 +2189,7 @@ 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 = "Individual Name"; + $completed_header_row = "Individual"; $completed_header_row.= "Phone"; $completed_header_row.= "Date"; $completed_header_row.= "Interview Notes"; @@ -2314,12 +2531,12 @@ class tc $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_view')); $this->t->set_var('ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_view')); - $this->t->set_var('ppi_link_title','Yearly PPIs'); + $this->t->set_var('ppi_link_title',$this->ppi_frequency_label . ' PPIs'); $this->t->set_var('schedule_ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched')); - $this->t->set_var('schedule_ppi_link_title','Schedule Yearly PPIs'); + $this->t->set_var('schedule_ppi_link_title','Schedule ' . $this->ppi_frequency_label . ' PPIs'); - $this->t->set_var('title','Yearly PPIs'); + $this->t->set_var('title',$this->ppi_frequency_label . ' PPIs'); $num_months = get_var('num_months',array('GET','POST')); if($num_months == '') { $num_months = $this->default_ppi_num_years; } $this->t->set_var('num_months',$num_months); @@ -2356,7 +2573,7 @@ class tc array_multisort($indiv_name, $individual); //var_dump($indiv_name); print "

"; var_dump($individual); - $header_row="Individual Name"; + $header_row="Individual"; $indiv_width=400; $ppi_width=75; $table_width=$indiv_width + $num_months*$ppi_width; $table_data=""; @@ -2387,7 +2604,7 @@ class tc $year = date('Y') - $m; $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01"; $sql = "SELECT * FROM tc_interview WHERE date > '$year_start' AND date < '$year_end' ". - "AND individual=" . $id . " AND interview_type='ppi'"; + "AND individual=" . $id . " AND interview_type='ppi' ORDER BY date DESC"; $this->db2->query($sql,__LINE__,__FILE__); if(!$total_ppis[$m]) { $total_ppis[$m] = 0; } @@ -2451,21 +2668,25 @@ class tc $notes = get_var('notes',array('GET','POST')); $interview_type = get_var('interview_type',array('GET','POST')); - $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.valid=1 AND (tp.president=1 OR tp.counselor=1 OR tp.secretary=1)"; + $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.valid=1 AND "; + if($this->yearly_ppi_interviewer == 1) { $sql .= " (tp.president=1)"; } + if($this->yearly_ppi_interviewer == 2) { $sql .= " (tp.president=1 OR tp.counselor=1)"; } + if($this->yearly_ppi_interviewer == 3) { $sql .= " (tp.president=1 OR tp.counselor=1 OR tp.secretary=1)"; } $this->db2->query($sql,__LINE__,__FILE__); while ($this->db2->next_record()) { $indiv = $this->db2->f('individual'); $interviewer_name = $this->db2->f('name'); if($indiv == $interviewer) { - $this->t->set_var('interviewer',$interviewer . ' selected'); + $this->t->set_var('interviewer',$indiv . ' selected'); } else { - $this->t->set_var('interviewer',$interviewer); + $this->t->set_var('interviewer',$indiv); } + #print "indiv: $indiv interviewer: $interviewer
"; $this->t->set_var('interviewer_name',$interviewer_name); $this->t->set_var('eqpresppi_checked','checked'); $this->t->fp('int_list','interviewer_list',True); } - + #print "selected interviewer: $interviewer
"; if($action == 'save') { $notes = get_var('notes',array('POST')); $this->db->query("UPDATE tc_interview set " . @@ -2473,7 +2694,7 @@ class tc ", interviewer='" . $interviewer . "'" . ", individual='" . $individual . "'" . ", date='" . $date . "'" . - ", notes='" . $notes . "'" . + ", notes=\"" . $notes . "\"" . ", interview_type='" . $interview_type . "'" . " WHERE interview=" . $interview,__LINE__,__FILE__); $this->ppi_view(); @@ -2484,7 +2705,7 @@ class tc $notes = get_var('notes',array('POST')); $this->db->query("INSERT INTO tc_interview (interviewer,individual,date,notes,interview_type) " . "VALUES ('" . $interviewer . "','" . $individual . "','" . - $date . "','" . $notes . "','" . $interview_type ."')",__LINE__,__FILE__); + $date . "',\"" . $notes . "\",'" . $interview_type ."')",__LINE__,__FILE__); $this->ppi_view(); return false; } @@ -2506,7 +2727,7 @@ class tc } if($action == 'edit' || $action == 'view') { - $sql = "SELECT * FROM tc_interview WHERE interview=".$interview; + $sql = "SELECT * FROM tc_interview WHERE interview=" . $interview . " AND interview_type='ppi'"; $this->db->query($sql,__LINE__,__FILE__); $this->db->next_record(); $this->t->set_var('interview',$interview); @@ -2669,7 +2890,7 @@ class tc $month_end = "$year"."-"."$month"."-"."31"; $month = "$month"."/"."$year"; $sql = "SELECT * FROM tc_interview WHERE date >= '$month_start' AND date <= '$month_end' ". - "AND individual=" . $individual; + "AND individual=" . $individual . " AND interview_type='hti' ORDER BY date DESC"; $this->db2->query($sql,__LINE__,__FILE__); $header_row .= "$month"; @@ -2782,9 +3003,9 @@ class tc $indiv = $this->db2->f('individual'); $interviewer_name = $this->db2->f('name'); if($indiv == $interviewer) { - $this->t->set_var('interviewer',$interviewer . ' selected'); + $this->t->set_var('interviewer',$indiv . ' selected'); } else { - $this->t->set_var('interviewer',$interviewer); + $this->t->set_var('interviewer',$indiv); } $this->t->set_var('interviewer_name',$interviewer_name); $this->t->fp('int_list','interviewer_list',True); @@ -2797,7 +3018,7 @@ class tc ", interviewer='" . $interviewer . "'" . ", individual='" . $individual . "'" . ", date='" . $date . "'" . - ", notes='" . $notes . "'" . + ", notes=\"" . $notes . "\"" . ", interview_type='" . $interview_type . "'" . " WHERE interview=" . $interview,__LINE__,__FILE__); $this->int_view(); @@ -2808,7 +3029,7 @@ class tc $notes = get_var('notes',array('POST')); $this->db->query("INSERT INTO tc_interview (interviewer,individual,date,notes,interview_type) " . "VALUES ('" . $interviewer . "','" . $individual . "','" . - $date . "','" . $notes ."','" . $interview_type . "')",__LINE__,__FILE__); + $date . "',\"" . $notes ."\",'" . $interview_type . "')",__LINE__,__FILE__); $this->int_view(); return false; } @@ -2829,7 +3050,7 @@ class tc } if($action == 'edit' || $action == 'view') { - $sql = "SELECT * FROM tc_interview WHERE interview=".$interview; + $sql = "SELECT * FROM tc_interview WHERE interview=" . $interview . " AND interview_type='hti'"; $this->db->query($sql,__LINE__,__FILE__); $this->db->next_record(); $this->t->set_var('interview',$interview); @@ -3004,7 +3225,7 @@ class tc $notes = get_var('notes',array('POST')); $this->db->query("UPDATE tc_visit set " . " date='" . $date . "'" . - ", notes='" . $notes . "'" . + ", notes=\"" . $notes . "\"" . " WHERE visit=" . $visit,__LINE__,__FILE__); $this->vis_view(); return false; @@ -3014,7 +3235,7 @@ class tc $notes = get_var('notes',array('POST')); $this->db->query("INSERT INTO tc_visit (family,companionship,date,notes) " . "VALUES ('" . $family . "','" . $companionship . "','" . - $date . "','" . $notes . "')",__LINE__,__FILE__); + $date . "',\"" . $notes . "\")",__LINE__,__FILE__); $this->vis_view(); return false; } @@ -3510,13 +3731,13 @@ class tc $this->t->set_var('schedule_int_link_title','Schedule Hometeaching Interviews'); $this->t->set_var('schedule_ppi_link',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched')); - $this->t->set_var('schedule_ppi_link_title','Schedule Yearly PPIs'); + $this->t->set_var('schedule_ppi_link_title','Schedule ' . $this->ppi_frequency_label . ' PPIs'); $date_width=160; $time_width=220; $indiv_width=170; $family_width=180; $location_width=100; $table_width=$date_width + $time_width + $indiv_width + $family_width + $location_width; $header_row = "Date"; $header_row.= "Time"; - $header_row.= "individual"; + $header_row.= "Individual"; $header_row.= "Family"; $header_row.= "Location"; $table_data = ""; @@ -3577,7 +3798,7 @@ class tc } else if($indiv > 0) { $supervisor_name_array = explode(",",$presidency2name[$presidency]); $supervisor_last_name = $supervisor_name_array[0]; - print "presidency2indiv: $presidency $presidency2indiv[$presidency]
"; + #print "presidency2indiv: $presidency $presidency2indiv[$presidency]
"; $sql = "SELECT * FROM tc_individual where individual='$presidency2indiv[$presidency]'"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { @@ -4257,10 +4478,14 @@ class tc $dtstart = gmdate("Ymd"."\T"."His"."\Z", mktime($hour,$minute,$seconds,$month,$day,$year)); $dtstartstr = date("l, F d, o g:i A", mktime($hour,$minute,$seconds,$month,$day,$year)); - $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.presidency='$presidency'"; + $sql = "SELECT tp.email AS email1, ti.email AS email2, ti.name AS name FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.presidency='$presidency'"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { - $email = $this->db2->f('email'); + if ($this->db2->f('email1') != "") { + $email = $this->db2->f('email1'); + } else { + $email = $this->db2->f('email2'); + } $interviewer = $this->db2->f('name'); }