include("setup/tc_config");
}
+ $this->jquery_url = $GLOBALS['phpgw']->link('inc/jquery/jquery.js');
+ $this->jquery_tablesorter_url = $GLOBALS['phpgw']->link('inc/jquery/jquery.tablesorter.js');
+
$this->script_path = "$this->application_path"."/bin";
$this->max_presidency_members = 99;
$this->max_appointments = 32768;
$this->grants = $GLOBALS['phpgw']->acl->get_grants('tc');
$this->grants[$this->account] = PHPGW_ACL_READ + PHPGW_ACL_ADD + PHPGW_ACL_EDIT + PHPGW_ACL_DELETE;
+ $GLOBALS['phpgw_info']['flags']['css'] .= "-->\n</style>\n"
+ . '<link rel="stylesheet" type="text/css" media="all" href="'
+ . $GLOBALS['phpgw']->link('inc/jquery/jquery.tablesorter.css').'"/>'
+ . "\n<style type=\"text/css\">\n<!--\n";
+
$this->jscal = CreateObject('tc.jscalendar'); // before phpgw_header() !!!
$this->cal_options = 'daFormat : "%Y-%m-%d",
ifFormat : "%Y-%m-%d",
$this->t->set_block('ht_sandbox_t','companionship_table_list','ct_list');
$this->t->set_var('submit_action',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox&action=add'));
- $this->t->set_var('jquery_url',$GLOBALS['phpgw']->link('inc/jquery.js'));
+ $this->t->set_var('jquery_url',$this->jquery_url);
$action = get_var('action',array('GET','POST'));
function org_view()
{
$this->t->set_file(array('org_view_t' => 'org_view.tpl'));
- $this->t->set_block('org_view_t','calling_list','list1');
- $this->t->set_block('org_view_t','org_list','list2');
+ $this->t->set_block('org_view_t','calling_list','list');
+ $this->t->set_var('jquery_url',$this->jquery_url);
+ $this->t->set_var('jquery_tablesorter_url',$this->jquery_tablesorter_url);
- # Display a list ordered alphabetically
- $sql = "SELECT * FROM tc_calling AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual ORDER BY name ASC";
+ $sql = "SELECT * FROM tc_calling AS tc JOIN tc_individual AS ti where tc.individual=ti.individual ORDER BY name ASC";
$this->db->query($sql,__LINE__,__FILE__);
$i=0;
while ($this->db->next_record()) {
$this->t->set_var('organization', $organization);
$tr_color = $this->nextmatchs->alternate_row_color($tr_color);
$this->t->set_var('tr_color',$tr_color);
- $this->t->fp('list1','calling_list',True);
- }
-
- # Display a list ordered by organization
- $sql = "SELECT * FROM tc_calling AS tc JOIN tc_individual AS ti where tc.individual=ti.individual ORDER BY organization ASC";
- $this->db->query($sql,__LINE__,__FILE__);
- $i=0;
- while ($this->db->next_record()) {
- $calling[$i]['name'] = $this->db->f('name');
- $calling[$i]['position'] = $this->db->f('position');
- $calling[$i]['sustained'] = $this->db->f('sustained');
- $calling[$i]['organization'] = $this->db->f('organization');
- $i++;
- }
- for ($i=0; $i < count($calling); $i++) {
- $name = $calling[$i]['name'];
- $position = $calling[$i]['position'];
- $sustained = $calling[$i]['sustained'];
- $organization = $calling[$i]['organization'];
- $this->t->set_var('name', $name);
- $this->t->set_var('position', $position);
- $this->t->set_var('sustained', $sustained);
- $this->t->set_var('organization', $organization);
- $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
- $this->t->set_var('tr_color',$tr_color);
- $this->t->fp('list2','org_list',True);
+ $this->t->fp('list','calling_list',True);
}
$this->t->pfp('out','org_view_t');
// 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'" .
" WHERE appointment=" . $appointment,__LINE__,__FILE__);
// Email the appointment
- $this->email_appt($appointment);
+ $this->email_appt($appointment, $old_indiv_email);
}
}
$this->save_sessiondata();
}
- function email_appt($appointment)
+ function email_appt($appointment, $old_indiv_email)
{
//print "Emailing notification of appointment: $appointment <br>";
$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);
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;
}
$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;
if(($uid == 0) && ($appt_name != "")) {
// Create a new calendar item for this appointment, since this must be the first time we
// are sending it out.
- print "Sent new appointment to " . $interviewer . " at " . $email . " for " . $appt_name . "<br>";
+ print "Sent new appointment for " . $interviewer . " to '" . $email . "' for " . $appt_name . "<br>";
$uid = rand() . rand(); // Generate a random identifier for this appointment
$subject = "Created: $appt_name";
} else if(($uid != 0) && ($appt_name == "")) {
// Remove the calendar item for this appointment since it has already been sent
// and there is no name we have changed it to.
- print "Sent deleted appointment to " . $interviewer . " at " . $email . " for " . $appt_date . " " . $appt_time . "<br>";
+ if(($this->email_individual_appt == 1) && ($old_indiv_email != "")) {
+ $email .= ", $old_indiv_email";
+ }
+ print "Sent deleted appointment for " . $interviewer . " to '" . $email . "' for " . $appt_date . " " . $appt_time . "<br>";
$subject = "Canceled: $appt_date $appt_time";
$this->db->query("UPDATE tc_appointment set" .
$dtend, $date, $location, $subject, $subject, $uid);
} else if($uid != 0) {
// Update the existing appointment since we have changed it
- print "Sent updated appointment to " . $interviewer . " at " . $email . " for " . $appt_name . "<br>";
+ print "Sent updated appointment for " . $interviewer . " to '" . $email . "' for " . $appt_name . "<br>";
$subject = "Canceled: $appt_date $appt_time";
$action = "CANCEL";