";
@@ -2316,7 +2471,7 @@ class tc
$link_data['individual'] = $this->db2->f('individual');
$link_data['name'] = $name;
$link_data['interview'] = $this->db2->f('interview');
- $link_data['interview_type'] = 'hti';
+ $link_data['type'] = 'H';
$link_data['action'] = 'view';
$link = $GLOBALS['phpgw']->link('/tc/index.php',$link_data);
$comps_with_quarterly_int++;
@@ -2469,18 +2624,18 @@ class tc
$appt_table_data = "";
// Find out what the President ID is
- $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";
+ $sql = "SELECT * FROM tc_leader AS tl JOIN tc_individual AS ti WHERE tl.individual=ti.individual AND tl.type='P' AND tl.valid=1";
$this->db->query($sql,__LINE__,__FILE__);
if($this->db->next_record()) {
- $presidency_name = $this->db->f('name');
- $presidency_id = $this->db->f('presidency');
+ $leader_name = $this->db->f('name');
+ $leader_id = $this->db->f('leader');
} else {
- print "
-E- Unable to locate Presidency in tc_presidency table
";
+ print "
-E- Unable to locate Presidency in tc_leader table
";
return;
}
// 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";
+ $sql = "SELECT * FROM tc_appointment where leader=$leader_id and date>=CURDATE() ORDER BY date ASC, time ASC";
$this->db->query($sql,__LINE__,__FILE__);
while ($this->db->next_record()) {
@@ -2676,13 +2831,13 @@ class tc
$this->t->set_var('lang_num_months','Years of History');
}
- $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";
+ $sql = "SELECT * FROM tc_leader AS tl JOIN tc_individual AS ti WHERE tl.individual=ti.individual AND tl.type='P' AND tl.valid=1";
$this->db->query($sql,__LINE__,__FILE__);
if($this->db->next_record()) {
$president_name = $this->db->f('name');
$interviewer = $this->db->f('individual');
} else {
- print "
-E- Unable to locate President in tc_presidency table
";
+ print "
-E- Unable to locate President in tc_leader table
";
return;
}
$this->t->set_var('district_number','*');
@@ -2723,7 +2878,7 @@ class tc
$link_data['individual'] = $id;
$link_data['name'] = $name;
$link_data['interview'] = '';
- $link_data['interview_type'] = 'ppi';
+ $link_data['type'] = 'P';
$link_data['action'] = 'add';
$link = $GLOBALS['phpgw']->link('/tc/index.php',$link_data);
$this->nextmatchs->template_alternate_row_color(&$this->t);
@@ -2734,7 +2889,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' ORDER BY date DESC";
+ "AND individual=" . $id . " AND type='P' ORDER BY date DESC";
$this->db2->query($sql,__LINE__,__FILE__);
if(!$total_ppis[$m]) { $total_ppis[$m] = 0; }
@@ -2746,7 +2901,7 @@ class tc
$link_data['indiv'] = $id;
$link_data['name'] = $name;
$link_data['interview'] = $this->db2->f('interview');
- $link_data['interview_type'] = 'ppi';
+ $link_data['type'] = 'P';
$link_data['action'] = 'view';
$date = $this->db2->f('date');
$date_array = explode("-",$date);
@@ -2796,20 +2951,20 @@ class tc
$individual = get_var('individual',array('GET','POST'));
$date = get_var('date',array('GET','POST'));
$notes = get_var('notes',array('GET','POST'));
- $interview_type = get_var('interview_type',array('GET','POST'));
+ $type = get_var('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 ";
- 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)"; }
+ $sql = "SELECT * FROM tc_leader AS tl JOIN tc_individual AS ti WHERE tl.individual=ti.individual AND tl.valid=1 AND ";
+ if($this->yearly_ppi_interviewer == 1) { $sql .= " (tl.type='P')"; }
+ if($this->yearly_ppi_interviewer == 2) { $sql .= " (tl.type='P' OR tl.type='C')"; }
+ if($this->yearly_ppi_interviewer == 3) { $sql .= " (tl.type='P' OR tl.type='C' OR tl.type='S')"; }
$this->db2->query($sql,__LINE__,__FILE__);
while ($this->db2->next_record()) {
- $indiv = $this->db2->f('individual');
+ $leader = $this->db2->f('leader');
$interviewer_name = $this->db2->f('name');
- if($indiv == $interviewer) {
- $this->t->set_var('interviewer',$indiv . ' selected');
+ if($leader == $interviewer) {
+ $this->t->set_var('interviewer',$leader . ' selected');
} else {
- $this->t->set_var('interviewer',$indiv);
+ $this->t->set_var('interviewer',$leader);
}
#print "indiv: $indiv interviewer: $interviewer ";
$this->t->set_var('interviewer_name',$interviewer_name);
@@ -2825,7 +2980,7 @@ class tc
", individual='" . $individual . "'" .
", date='" . $date . "'" .
", notes=\"" . $notes . "\"" .
- ", interview_type='" . $interview_type . "'" .
+ ", type='" . $type . "'" .
" WHERE interview=" . $interview,__LINE__,__FILE__);
$this->ppi_view();
return false;
@@ -2833,9 +2988,9 @@ class tc
if($action == 'insert') {
$notes = get_var('notes',array('POST'));
- $this->db->query("INSERT INTO tc_interview (interviewer,individual,date,notes,interview_type) " .
+ $this->db->query("INSERT INTO tc_interview (interviewer,individual,date,notes,type) " .
"VALUES ('" . $interviewer . "','" . $individual . "','" .
- $date . "',\"" . $notes . "\",'" . $interview_type ."')",__LINE__,__FILE__);
+ $date . "',\"" . $notes . "\",'" . $type ."')",__LINE__,__FILE__);
$this->ppi_view();
return false;
}
@@ -2848,7 +3003,7 @@ class tc
$this->t->set_var('individual',$individual);
$this->t->set_var('date','');
$this->t->set_var('notes','');
- $this->t->set_var('interview_type',$interview_type);
+ $this->t->set_var('type',$type);
$this->t->set_var('eqpresppi_checked','checked');
$this->t->set_var('lang_done','Cancel');
$this->t->set_var('lang_action','Adding New PPI');
@@ -2857,7 +3012,7 @@ class tc
}
if($action == 'edit' || $action == 'view') {
- $sql = "SELECT * FROM tc_interview WHERE interview=" . $interview . " AND interview_type='ppi'";
+ $sql = "SELECT * FROM tc_interview WHERE interview=" . $interview . " AND type='P'";
$this->db->query($sql,__LINE__,__FILE__);
$this->db->next_record();
$this->t->set_var('interview',$interview);
@@ -2866,8 +3021,8 @@ class tc
$this->t->set_var('individual',$this->db->f('individual'));
$this->t->set_var('date',$this->db->f('date'));
$this->t->set_var('notes',$this->db->f('notes'));
- $this->t->set_var('interview_type',$this->db->f('interview_type'));
- if($this->db->f('interview_type') == 'ppi') { $this->t->set_var('eqpresppi_checked','checked'); }
+ $this->t->set_var('type',$this->db->f('type'));
+ if($this->db->f('type') == 'P') { $this->t->set_var('eqpresppi_checked','checked'); }
}
if($action == 'edit') {
@@ -2935,13 +3090,13 @@ class tc
else if($current_month >= 7 && $current_month <= 9) { $current_month=9; }
else if($current_month >= 10 && $current_month <= 12) { $current_month=12; }
- $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";
+ $sql = "SELECT * FROM tc_district AS td JOIN (tc_individual AS ti, tc_leader AS tl) WHERE td.leader=tl.leader AND tl.individual=ti.individual AND td.valid=1 ORDER BY td.district ASC";
$this->db->query($sql,__LINE__,__FILE__);
$i=0;
while ($this->db->next_record()) {
$districts[$i]['district'] = $this->db->f('district');
$districts[$i]['name'] = $this->db->f('name');
- $districts[$i]['supervisor'] = $this->db->f('supervisor');
+ $districts[$i]['leader'] = $this->db->f('leader');
$i++;
}
@@ -2965,10 +3120,10 @@ class tc
for ($i=0; $i < count($districts); $i++) {
$this->t->set_var('district_number',$districts[$i]['district']);
$this->t->set_var('district_name',$districts[$i]['name']);
- $supervisor = $districts[$i]['supervisor'];
+ $leader = $districts[$i]['leader'];
// Select all the unique companionship numbers for this district
- $sql = "SELECT distinct companionship FROM tc_companionship where valid=1 and district=". $districts[$i]['district'];
+ $sql = "SELECT DISTINCT companionship FROM tc_companionship WHERE type='H' AND valid=1 AND district=". $districts[$i]['district'];
$this->db->query($sql,__LINE__,__FILE__);
$j=0; $unique_companionships = '';
while ($this->db->next_record()) {
@@ -2996,11 +3151,11 @@ class tc
$phone = $indiv_phone[$individual];
$link_data['menuaction'] = 'tc.tc.int_update';
$link_data['companionship'] = $companionship;
- $link_data['interviewer'] = $supervisor;
+ $link_data['interviewer'] = $leader;
$link_data['individual'] = $individual;
$link_data['name'] = $name;
$link_data['interview'] = '';
- $link_data['interview_type'] = 'hti';
+ $link_data['type'] = 'H';
$link_data['action'] = 'add';
$link = $GLOBALS['phpgw']->link('/tc/index.php',$link_data);
$table_data.= "
";
@@ -3020,7 +3175,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 interview_type='hti' ORDER BY date DESC";
+ "AND individual=" . $individual . " AND type='H' ORDER BY date DESC";
$this->db2->query($sql,__LINE__,__FILE__);
$header_row .= "
$month
";
@@ -3038,7 +3193,7 @@ class tc
$link_data['name'] = $name;
$link_data['interview'] = $this->db2->f('interview');
$link_data['action'] = 'view';
- $link_data['interview_type'] = 'hti';
+ $link_data['type'] = 'H';
$date = $this->db2->f('date');
$date_array = explode("-",$date);
$month = $date_array[1];
@@ -3125,17 +3280,17 @@ class tc
$individual = get_var('individual',array('GET','POST'));
$date = get_var('date',array('GET','POST'));
$notes = get_var('notes',array('GET','POST'));
- $interview_type = get_var('interview_type',array('GET','POST'));
+ $type = get_var('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 OR tp.district!=0)";
+ $sql = "SELECT * FROM tc_leader AS tl JOIN (tc_individual AS ti, tc_district AS td) WHERE tl.individual=ti.individual AND tl.leader=td.leader AND tl.valid=1 AND (tl.type='P' OR tl.type='C' OR tl.type='D' OR td.district!=0)";
$this->db2->query($sql,__LINE__,__FILE__);
while ($this->db2->next_record()) {
- $indiv = $this->db2->f('individual');
+ $leader = $this->db2->f('leader');
$interviewer_name = $this->db2->f('name');
- if($indiv == $interviewer) {
- $this->t->set_var('interviewer',$indiv . ' selected');
+ if($leader == $interviewer) {
+ $this->t->set_var('interviewer',$leader . ' selected');
} else {
- $this->t->set_var('interviewer',$indiv);
+ $this->t->set_var('interviewer',$leader);
}
$this->t->set_var('interviewer_name',$interviewer_name);
$this->t->fp('int_list','interviewer_list',True);
@@ -3149,7 +3304,7 @@ class tc
", individual='" . $individual . "'" .
", date='" . $date . "'" .
", notes=\"" . $notes . "\"" .
- ", interview_type='" . $interview_type . "'" .
+ ", type='" . $type . "'" .
" WHERE interview=" . $interview,__LINE__,__FILE__);
$this->int_view();
return false;
@@ -3157,9 +3312,9 @@ class tc
if($action == 'insert') {
$notes = get_var('notes',array('POST'));
- $this->db->query("INSERT INTO tc_interview (interviewer,individual,date,notes,interview_type) " .
+ $this->db->query("INSERT INTO tc_interview (interviewer,individual,date,notes,type) " .
"VALUES ('" . $interviewer . "','" . $individual . "','" .
- $date . "',\"" . $notes ."\",'" . $interview_type . "')",__LINE__,__FILE__);
+ $date . "',\"" . $notes ."\",'" . $type . "')",__LINE__,__FILE__);
$this->int_view();
return false;
}
@@ -3172,7 +3327,7 @@ class tc
$this->t->set_var('individual',$individual);
$this->t->set_var('date','');
$this->t->set_var('notes','');
- $this->t->set_var('interview_type',$interview_type);
+ $this->t->set_var('type',$type);
$this->t->set_var('lang_done','Cancel');
$this->t->set_var('lang_action','Adding New Interview');
$this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.int_update&interview=' .
@@ -3180,7 +3335,7 @@ class tc
}
if($action == 'edit' || $action == 'view') {
- $sql = "SELECT * FROM tc_interview WHERE interview=" . $interview . " AND interview_type='hti'";
+ $sql = "SELECT * FROM tc_interview WHERE interview=" . $interview . " AND type='H'";
$this->db->query($sql,__LINE__,__FILE__);
$this->db->next_record();
$this->t->set_var('interview',$interview);
@@ -3189,8 +3344,8 @@ class tc
$this->t->set_var('individual',$this->db->f('individual'));
$this->t->set_var('date',$this->db->f('date'));
$this->t->set_var('notes',$this->db->f('notes'));
- $this->t->set_var('interview_type',$this->db->f('interview_type'));
- if($this->db->f('interview_type') == 'ppi') { $this->t->set_var('eqpresppi_checked','checked'); }
+ $this->t->set_var('type',$this->db->f('type'));
+ if($this->db->f('type') == 'P') { $this->t->set_var('eqpresppi_checked','checked'); }
}
if($action == 'edit') {
@@ -3819,7 +3974,7 @@ class tc
function schedule()
{
$this->t->set_file(array('sched_t' => 'schedule.tpl'));
- $this->t->set_block('sched_t','presidency_list','list');
+ $this->t->set_block('sched_t','leader_list','list');
$action = get_var('action',array('GET','POST'));
@@ -3847,15 +4002,15 @@ class tc
$header_row.= "
Location
";
$table_data = "";
- $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.valid=1 GROUP BY tp.individual ORDER BY ti.name ASC";
+ $sql = "SELECT * FROM tc_leader AS tl JOIN tc_individual AS ti WHERE tl.individual=ti.individual AND tl.valid=1 GROUP BY tl.individual ORDER BY ti.name ASC";
$this->db->query($sql,__LINE__,__FILE__);
$i=0;
while ($this->db->next_record()) {
- $presidency_data[$i]['id'] = $this->db->f('presidency');
- $presidency_data[$i]['name'] = $this->db->f('name');
- $presidency_data[$i]['indiv'] = $this->db->f('individual');
- $presidency2name[$presidency_data[$i]['id']] = $presidency_data[$i]['name'];
- $presidency2indiv[$presidency_data[$i]['id']] = $presidency_data[$i]['indiv'];
+ $leader_data[$i]['id'] = $this->db->f('leader');
+ $leader_data[$i]['name'] = $this->db->f('name');
+ $leader_data[$i]['indiv'] = $this->db->f('individual');
+ $leader2name[$leader_data[$i]['id']] = $leader_data[$i]['name'];
+ $leader2indiv[$leader_data[$i]['id']] = $leader_data[$i]['indiv'];
$i++;
}
@@ -3873,9 +4028,9 @@ class tc
if($action == 'save') {
$new_data = get_var('sched',array('POST'));
- foreach ($new_data as $presidency_array) {
- foreach ($presidency_array as $entry) {
- $presidency = $entry['presidency'];
+ foreach ($new_data as $leader_array) {
+ foreach ($leader_array as $entry) {
+ $leader = $entry['leader'];
$appointment = $entry['appointment'];
$location = $entry['location'];
$date = $entry['date'];
@@ -3901,15 +4056,15 @@ class tc
$family_address = $familyid2address[$family];
$location = "$family_last_name"." home ($family_address)";
} else if($indiv > 0) {
- $supervisor_name_array = explode(",",$presidency2name[$presidency]);
- $supervisor_last_name = $supervisor_name_array[0];
- #print "presidency2indiv: $presidency $presidency2indiv[$presidency] ";
- $sql = "SELECT * FROM tc_individual where individual='$presidency2indiv[$presidency]'";
+ $leader_name_array = explode(",",$leader2name[$leader]);
+ $leader_last_name = $leader_name_array[0];
+ #print "leader2indiv: $leader $leader2indiv[$leader] ";
+ $sql = "SELECT * FROM tc_individual where individual='$leader2indiv[$leader]'";
$this->db2->query($sql,__LINE__,__FILE__);
if($this->db2->next_record()) {
- $supervisor_address = $this->db2->f('address');
+ $leader_address = $this->db2->f('address');
}
- $location = "$supervisor_last_name"." home ($supervisor_address)";
+ $location = "$leader_last_name"." home ($leader_address)";
}
}
@@ -3925,10 +4080,39 @@ 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'" .
- " and presidency='$presidency'" .
+ " and leader='$leader'" .
" and individual='$indiv'" .
" and family='$family'" .
" and date='$date'" .
@@ -3944,11 +4128,11 @@ class tc
" ,date='" . $date . "'" .
" ,time='" . $time . "'" .
" ,location='" . $location . "'" .
- " ,presidency='" . $presidency . "'" .
+ " ,leader='" . $leader . "'" .
" WHERE appointment=" . $appointment,__LINE__,__FILE__);
// Email the appointment
- $this->email_appt($appointment);
+ $this->email_appt($appointment, $old_indiv_email);
}
}
@@ -3956,8 +4140,8 @@ class tc
else if(($appointment >= $this->max_appointments) && ($date != "") && ($time != ""))
{
//print "adding entry: appt=$appointment date: $date time: $time individual: $indiv family: $family ";
- $this->db2->query("INSERT INTO tc_appointment (appointment,presidency,family,individual,date,time,location,uid) " .
- "VALUES (NULL,'" . $presidency . "','" . $family . "','" . $indiv . "','" .
+ $this->db2->query("INSERT INTO tc_appointment (appointment,leader,family,individual,date,time,location,uid) " .
+ "VALUES (NULL,'" . $leader . "','" . $family . "','" . $indiv . "','" .
$date . "','" . $time . "','" . $location . "','" . $uid ."')",__LINE__,__FILE__);
// Now reselect this entry from the database to see if we need
@@ -3965,7 +4149,7 @@ class tc
$sql = "SELECT * FROM tc_appointment where " .
"individual='$indiv'" .
" and family='$family'" .
- " and presidency='$presidency'" .
+ " and leader='$leader'" .
" and date='$date'" .
" and time='$time'" .
" and uid='$uid'" .
@@ -3996,15 +4180,15 @@ class tc
}
array_multisort($indiv_name, $individual);
- for ($i=0; $i < count($presidency_data); $i++) {
- $presidency = $presidency_data[$i]['id'];
- $interviewer = $presidency_data[$i]['individual'];
- $name = $presidency_data[$i]['name'];
- $this->t->set_var('presidency_name',$name);
+ for ($i=0; $i < count($leader_data); $i++) {
+ $leader = $leader_data[$i]['id'];
+ $interviewer = $leader_data[$i]['individual'];
+ $name = $leader_data[$i]['name'];
+ $this->t->set_var('leader_name',$name);
$table_data="";
// query the database for all the appointments
- $sql = "SELECT * FROM tc_appointment where presidency=$presidency and date>=CURDATE() ORDER BY date ASC, time ASC";
+ $sql = "SELECT * FROM tc_appointment where leader=$leader and date>=CURDATE() ORDER BY date ASC, time ASC";
$this->db->query($sql,__LINE__,__FILE__);
// Prefill any existing appointment slots
@@ -4021,14 +4205,14 @@ class tc
$family_address = $familyid2address[$family];
$location = "$family_last_name"." home ($family_address)";
} else if($indiv > 0) {
- $supervisor_name_array = explode(",",$presidency2name[$presidency]);
- $supervisor_last_name = $supervisor_name_array[0];
- $sql = "SELECT * FROM tc_individual where individual='$presidency2indiv[$presidency]'";
+ $leader_name_array = explode(",",$leader2name[$leader]);
+ $leader_last_name = $leader_name_array[0];
+ $sql = "SELECT * FROM tc_individual where individual='$leader2indiv[$leader]'";
$this->db2->query($sql,__LINE__,__FILE__);
if($this->db2->next_record()) {
- $supervisor_address = $this->db2->f('address');
+ $leader_address = $this->db2->f('address');
}
- $location = "$supervisor_last_name"." home ($supervisor_address)";
+ $location = "$leader_last_name"." home ($leader_address)";
}
}
@@ -4049,16 +4233,16 @@ class tc
// Date selection
$table_data.= '