X-Git-Url: http://git.pippins.net/embedvideo/.git/static/git-logo.png?a=blobdiff_plain;ds=sidebyside;f=inc%2Fclass.tc.inc.php;h=57a3f3a8b42c4968b4ad419041bc25d6bc849a00;hb=6164e3a3c2d19b4e1d718ccafd7dddf6da27d270;hp=8573136b059303dd74be446a27c98ae3234620f5;hpb=5b92cfffea44171135ce8fa2fae6c2b6492750d5;p=eq%2F.git diff --git a/inc/class.tc.inc.php b/inc/class.tc.inc.php index 8573136..57a3f3a 100644 --- a/inc/class.tc.inc.php +++ b/inc/class.tc.inc.php @@ -228,13 +228,13 @@ class tc $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"; + $sql = "SELECT * FROM tc_district AS td JOIN tc_individual AS ti WHERE td.leader=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++; } @@ -260,10 +260,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()) { @@ -539,13 +539,13 @@ class tc $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\")"; + $leader = $this->db->f('leader'); + $sql = "INSERT INTO tc_district_sandbox (district,leader) VALUES (\"$district\",\"$leader\")"; $this->db2->query($sql,__LINE__,__FILE__); } # populate family, companion, and companionship tables - $sql = "SELECT * FROM tc_companionship WHERE valid=1"; + $sql = "SELECT * FROM tc_companionship WHERE type='H' AND valid=1"; $this->db->query($sql,__LINE__,__FILE__); while ($this->db->next_record()) { $companionship = $this->db->f('companionship'); @@ -571,6 +571,8 @@ class tc $this->db3->query($sql,__LINE__,__FILE__); } } + } else if ($_POST['changes']) { + $this->ht_sandbox_changes(); } // get list of companionships @@ -750,7 +752,162 @@ class tc $this->t->pfp('out','ht_sandbox_t'); $this->save_sessiondata(); } - + + function ht_sandbox_changes() + { + $email_contents = "Please review the following changes to home teaching.\r\n\r\n"; + // list all companionships deleted + $email_contents .= "Removed Companionships\r\n\r\n"; + $sql = "SELECT * FROM tc_companionship WHERE companionship NOT IN (SELECT tc_companionship FROM tc_companionship_sandbox) AND type='H' AND valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $companionship = $this->db->f('companionship'); + $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND tc.companionship=$companionship"; + $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'); + } + } + $email_contents .= "\t$companion_names\r\n"; + } + $email_contents .= "\r\n"; + + // list all companionships added + $email_contents .= "New Companionships\r\n\r\n"; + $sql = "SELECT * FROM tc_companionship_sandbox WHERE tc_companionship=0"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $companionship = $this->db->f('companionship'); + $sql = "SELECT * FROM tc_companion_sandbox AS tcs JOIN tc_individual AS ti WHERE tcs.individual=ti.individual AND tcs.companionship=$companionship"; + $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'); + } + } + $email_contents .= "\t$companion_names\r\n"; + $sql = "SELECT * FROM tc_family_sandbox AS tfs JOIN tc_individual AS ti WHERE tfs.individual=ti.individual AND companionship=$companionship"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + $family_name = $this->db2->f('name') . " Family"; + $email_contents .= "\t\t$family_name\r\n"; + } + } + $email_contents .= "\r\n"; + + // list all companionships with changes + $email_contents .= "Modified Companionships\r\n\r\n"; + $sql = "SELECT tcps.* FROM tc_companionship AS tc JOIN tc_companionship_sandbox AS tcps WHERE tc.companionship=tcps.tc_companionship AND tc.type='H' AND tc.valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $companionship = $this->db->f('companionship'); + $tc_companionship = $this->db->f('tc_companionship'); + $companionship_changed = 0; + + // get current companion list + $sql = "SELECT * FROM tc_companion_sandbox AS tc JOIN tc_individual AS ti WHERE tc.companionship=$companionship AND tc.individual=ti.individual"; + $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'); + } + } + + // list removed companions + $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.companionship=$tc_companionship AND tc.individual=ti.individual AND tc.individual NOT IN (SELECT individual FROM tc_companion_sandbox WHERE companionship=$companionship)"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($companionship_changed == 0) { + $companionship_changed = 1; + $email_contents .= "\t$companion_names\r\n"; + } + $name = $this->db2->f('name'); + $email_contents .= "\t\tremoved $name as a companion\r\n"; + } + + // list added companions + $sql = "SELECT * FROM tc_companion_sandbox AS tcs JOIN tc_individual AS ti WHERE tcs.companionship=$companionship AND tcs.individual=ti.individual AND tcs.individual NOT IN (SELECT individual FROM tc_companion WHERE companionship=$tc_companionship)"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($companionship_changed == 0) { + $companionship_changed = 1; + $email_contents .= "\t$companion_names\r\n"; + } + $name = $this->db2->f('name'); + $email_contents .= "\t\tadded $name as a companion\r\n"; + } + + // list removed families + $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.companionship=$tc_companionship AND tf.family NOT IN (SELECT tc_family FROM tc_family_sandbox WHERE companionship=$companionship)"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($companionship_changed == 0) { + $companionship_changed = 1; + $email_contents .= "\t$companion_names\r\n"; + } + $name = $this->db2->f('name'); + $email_contents .= "\t\tremoved $name Family\r\n"; + } + + // list added families + $sql = "SELECT * FROM tc_family_sandbox AS tfs JOIN tc_individual AS ti WHERE tfs.individual=ti.individual AND tfs.companionship=$companionship AND tfs.individual NOT IN (SELECT individual FROM tc_family WHERE companionship=$tc_companionship)"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($companionship_changed == 0) { + $companionship_changed = 1; + $email_contents .= "\t$companion_names\r\n"; + } + $name = $this->db2->f('name'); + $email_contents .= "\t\tadded $name Family\r\n"; + } + } + $email_contents .= "\r\n"; + + // email changes to presidency + $sql = "SELECT DISTINCT tp.email AS email1, ti.email AS email2 FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND (tp.president=1 OR tp.counselor=1 OR tp.secretary=1) AND tp.valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $email = ""; + if ($this->db->f('email1') != "") { + $email = $this->db->f('email1'); + } else { + $email = $this->db->f('email2'); + } + if ($to == "") { + $to .= $email; + } else { + $to .= ", $email"; + } + } + $sql = "SELECT DISTINCT tp.email AS email1, ti.email AS email2 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()) { + if ($this->db->f('email1') != "") { + $from = $this->db->f('email1'); + } else { + $from = $this->db->f('email2'); + } + } else { + $from = "president@3rdcounselor"; + } + $subject = "HomeTeaching Changes"; + $message .= "$email_contents"; + $headers = "From: $from\r\n" . + "Reply-To: $from\r\n" . + "X-Mailer: PHP/" . phpversion(); + + mail($to, $subject, $message, $headers); + } function ht_update() { @@ -776,7 +933,7 @@ class tc if($action == 'save') { // Get a list of all the companionships in this district - $sql = "SELECT distinct companionship FROM tc_companionship where valid=1 and district=". $district; + $sql = "SELECT DISTINCT companionship FROM tc_companionship WHERE type='H' AND valid=1 AND district=". $district; $this->db->query($sql,__LINE__,__FILE__); $j=0; $unique_companionships = ''; while ($this->db->next_record()) { @@ -829,7 +986,7 @@ class tc } // Select all the unique companionship numbers for this district - $sql = "SELECT distinct companionship FROM tc_companionship where valid=1 and district=". $district; + $sql = "SELECT DISTINCT companionship FROM tc_companionship WHERE type='H' AND valid=1 AND district=". $district; $this->db->query($sql,__LINE__,__FILE__); $j=0; $unique_companionships = ''; while ($this->db->next_record()) { @@ -842,8 +999,7 @@ class tc for ($j=0; $j < count($unique_companionships); $j++) { $companion_table_entry = ""; // Select all the companions in each companionship - $sql = "SELECT * FROM tc_companionship where valid=1 and ". - "companionship=". $unique_companionships[$j]['companionship']; + $sql = "SELECT * FROM tc_companionship WHERE type='H' AND valid=1 AND companionship=". $unique_companionships[$j]['companionship']; $this->db->query($sql,__LINE__,__FILE__); while ($this->db->next_record()) { @@ -1909,11 +2065,11 @@ class tc $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"; + "AND individual=" . $id . " AND type='P' ORDER BY date DESC"; $this->db2->query($sql,__LINE__,__FILE__); if(!$this->db2->next_record()) { - $sql = "SELECT * FROM tc_interview WHERE individual=" . $id . " AND interview_type='ppi' ORDER BY date DESC"; + $sql = "SELECT * FROM tc_interview WHERE individual=" . $id . " AND type='P' ORDER BY date DESC"; $this->db->query($sql,__LINE__,__FILE__); if($this->db->next_record()) { $date = $this->db->f('date'); @@ -1924,7 +2080,7 @@ class tc $link_data['individual'] = $id; $link_data['name'] = $name; $link_data['interview'] = ''; - $link_data['interview_type'] = 1; + $link_data['type'] = 1; $link_data['action'] = 'add'; $link_data['interviewer'] = $interviewer; $link = $GLOBALS['phpgw']->link('/tc/index.php',$link_data); @@ -1957,7 +2113,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'] = $this->db2->f('interview_type'); + $link_data['type'] = $this->db2->f('type'); $link_data['action'] = 'view'; $link = $GLOBALS['phpgw']->link('/tc/index.php',$link_data); $indivs_with_yearly_ppi++; @@ -2057,7 +2213,7 @@ class tc $i++; } // add any YM that are home teachers - $sql = "SELECT * FROM tc_companionship where valid=1"; + $sql = "SELECT * FROM tc_companionship WHERE type='H' AND valid=1"; $this->db->query($sql,__LINE__,__FILE__); while ($this->db->next_record()) { $tmp_individual = $this->db->f('individual'); @@ -2081,15 +2237,15 @@ class tc $appointment = $entry['appointment']; $location = $entry['location']; if($location == "") { - $supervisor = $entry['supervisor']; - $supervisor_array = explode(",", $individ2name[$supervisor]); - $supervisor_last_name = $supervisor_array[0]; - $sql = "SELECT * FROM tc_individual where individual='$supervisor'"; + $leader = $entry['leader']; + $leader_array = explode(",", $individ2name[$leader]); + $leader_last_name = $leader_array[0]; + $sql = "SELECT * FROM tc_individual where individual='$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)"; } if($indiv == 0) { $location = ""; } @@ -2131,14 +2287,14 @@ class tc } // Get the Districts - $sql = "SELECT * FROM tc_district AS td JOIN (tc_presidency AS tp, tc_individual AS ti) WHERE td.district=tp.district AND td.supervisor=ti.individual AND td.valid=1 ORDER BY td.district ASC"; + $sql = "SELECT * FROM tc_district AS td JOIN (tc_presidency AS tp, tc_individual AS ti) WHERE td.district=tp.district AND td.leader=ti.individual AND td.valid=1 ORDER BY td.district ASC"; $this->db->query($sql,__LINE__,__FILE__); $i=0; while ($this->db->next_record()) { $district = $this->db->f('district'); $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'); $districts[$i]['presidency'] = $this->db->f('presidency'); $i++; } @@ -2158,15 +2314,15 @@ class tc $table_data=""; $appt_table_data=""; $this->t->set_var('district_number',$districts[$d]['district']); $this->t->set_var('district_name',$districts[$d]['name']); - $supervisor = $districts[$d]['supervisor']; - $supervisor_array = explode(",", $supervisor); - $supervisor_last_name = $supervisor_array[0]; - $sql = "SELECT * FROM tc_individual where individual='$supervisor'"; + $leader = $districts[$d]['leader']; + $leader_array = explode(",", $leader); + $leader_last_name = $leader_array[0]; + $sql = "SELECT * FROM tc_individual where individual='$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)"; $table_title = "District ".$districts[$d]['district'].": ".$districts[$d]['name'].": All Individuals with Interviews Not Completed"; $appt_table_title = "District ".$districts[$d]['district'].": ".$districts[$d]['name'].": Interview Appointment Slots"; $this->t->set_var('table_title',$table_title); @@ -2180,7 +2336,7 @@ class tc $appointment = $this->db->f('appointment'); $indiv = $this->db->f('individual'); $location = $this->db->f('location'); - if(($location == "") && ($indiv > 0)) { $location = "$supervisor_last_name"." home ($supervisor_address)"; } + if(($location == "") && ($indiv > 0)) { $location = "$leader_last_name"." home ($leader_address)"; } $date = $this->db->f('date'); $date_array = explode("-",$date); @@ -2213,7 +2369,7 @@ class tc $appt_table_data.= 'name="appt_notes['.$appointment.'][location]" value="'.$location.'">'; $appt_table_data.= ''; - $appt_table_data.= ''; + $appt_table_data.= ''; $tr_color = $this->nextmatchs->alternate_row_color($tr_color); $this->t->set_var('tr_color',$tr_color); @@ -2225,7 +2381,7 @@ class tc // INTERVIEW SCHEDULING TABLE // Select all the unique companionship numbers for this district - $sql = "SELECT distinct companionship FROM tc_companionship where valid=1 and district=". $districts[$d]['district']; + $sql = "SELECT DISTINCT companionship FROM tc_companionship WHERE type='H' AND valid=1 AND district=". $districts[$d]['district']; $this->db->query($sql,__LINE__,__FILE__); $j=0; $unique_companionships = ''; while ($this->db->next_record()) @@ -2270,11 +2426,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' AND interview_type='hti'"; + $sql = "SELECT * FROM tc_interview WHERE date >= '$quarter_start' AND date < '$quarter_end' AND individual='$id' AND type='H'"; $this->db2->query($sql,__LINE__,__FILE__); if(!$this->db2->next_record()) { - $sql = "SELECT * FROM tc_interview WHERE individual='$id' AND interview_type='hti' ORDER BY date DESC"; + $sql = "SELECT * FROM tc_interview WHERE individual='$id' AND type='H' ORDER BY date DESC"; $this->db3->query($sql,__LINE__,__FILE__); if($this->db3->next_record()) { $date = $this->db3->f('date'); @@ -2286,8 +2442,8 @@ class tc $link_data['name'] = $name; $link_data['interview'] = ''; $link_data['action'] = 'add'; - $link_data['interview_type'] = 'hti'; - $link_data['interviewer'] = $districts[$d]['supervisor']; + $link_data['type'] = 'H'; + $link_data['interviewer'] = $districts[$d]['leader']; $link = $GLOBALS['phpgw']->link('/tc/index.php',$link_data); $table_data.= "$name"; $table_data.= "$phone"; @@ -2316,7 +2472,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++; @@ -2723,7 +2879,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 +2890,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 +2902,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,7 +2952,7 @@ 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)"; } @@ -2825,7 +2981,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 +2989,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 +3004,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 +3013,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 +3022,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 +3091,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 WHERE td.leader=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 +3121,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 +3152,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.= "$name"; @@ -3020,7 +3176,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 +3194,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,7 +3281,7 @@ 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)"; $this->db2->query($sql,__LINE__,__FILE__); @@ -3149,7 +3305,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 +3313,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 +3328,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 +3336,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 +3345,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') { @@ -3901,15 +4057,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]; + $leader_name_array = explode(",",$presidency2name[$presidency]); + $leader_last_name = $leader_name_array[0]; #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()) { - $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,6 +4081,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'" . @@ -3948,7 +4133,7 @@ class tc " WHERE appointment=" . $appointment,__LINE__,__FILE__); // Email the appointment - $this->email_appt($appointment); + $this->email_appt($appointment, $old_indiv_email); } } @@ -4021,14 +4206,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]; + $leader_name_array = explode(",",$presidency2name[$presidency]); + $leader_last_name = $leader_name_array[0]; $sql = "SELECT * FROM tc_individual where individual='$presidency2indiv[$presidency]'"; $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)"; } } @@ -4377,7 +4562,7 @@ class tc $name = "High Priests"; $indiv = 0; $valid = 0; - $this->db2->query("INSERT INTO tc_district (district,supervisor,valid) " . + $this->db2->query("INSERT INTO tc_district (district,leader,valid) " . "VALUES ('" . $district . "','" . $indiv . "','" . $valid . "'" . ")",__LINE__,__FILE__); @@ -4395,7 +4580,7 @@ class tc // If we have a valid district, add it to the district table if($district > 0) { - $this->db2->query("INSERT INTO tc_district (district,supervisor,valid) " . + $this->db2->query("INSERT INTO tc_district (district,leader,valid) " . "VALUES ('" . $district . "','" . $indiv . "','" . $valid . "'" . ")",__LINE__,__FILE__); @@ -4549,7 +4734,7 @@ class tc $this->save_sessiondata(); } - function email_appt($appointment) + function email_appt($appointment, $old_indiv_email) { //print "Emailing notification of appointment: $appointment
"; @@ -4569,7 +4754,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); @@ -4603,6 +4788,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; } @@ -4619,6 +4808,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; @@ -4633,7 +4826,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"; @@ -4647,7 +4840,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" . @@ -4659,7 +4855,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";