+ $this->t->set_file(array('willing_update_t' => 'willing_update.tpl'));
+ $this->t->set_block('willing_update_t','assignment_list','list');
+ $this->t->set_block('willing_update_t','save','savehandle');
+
+ $indiv_id = get_var('indiv_id',array('GET','POST'));
+ $this->t->set_var('indiv_id',$indiv_id);
+ $action = get_var('action',array('GET','POST'));
+
+ $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.willing_view'));
+ $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.willing_update&action=save'));
+ $this->t->set_var('lang_done','Cancel');
+ $this->t->set_var('title','Willingness Update ');
+
+ if($action == 'save')
+ {
+ // Delete all the previous willingness entries for this individual
+ $this->db->query("DELETE from 3rd_willingness where indiv=" . $indiv_id ,__LINE__,__FILE__);
+
+ // Now, add the assignment willingness that is checked for this individual
+ $new_data = get_var('willingness',array('POST'));
+ foreach ($new_data as $data)
+ {
+ $data_array = explode("/",$data);
+ $assignment = $data_array[0];
+ $willing = $data_array[1];
+ //print "indiv_id: $indiv_id assignment: $assignment willing: $willing<br>";
+ $this->db->query("INSERT INTO 3rd_willingness (indiv,assignment,willing) "
+ . "VALUES (" . $indiv_id .",". $assignment .",'". $willing . "')",__LINE__,__FILE__);
+ }
+ $this->willing_view();
+ return false;
+ }
+
+ $assignment_width=300; $willing_width=25; $table_width=$assignment_width + $willing_width;
+ $table_data="";
+
+ // Find out the individual's name
+ $sql = "SELECT * FROM 3rd_indiv WHERE indiv=".$indiv_id." AND valid=1";
+ $this->db->query($sql,__LINE__,__FILE__);
+ if($this->db->next_record()) {
+ $indiv_name = $this->db->f('name');
+ $this->t->set_var('indiv_name',$indiv_name);
+ }
+
+ // Select all the assignments
+ $sql = "SELECT * FROM 3rd_assignment ORDER by name ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+
+ while ($this->db->next_record())
+ {
+ $assignment = $this->db->f('assignment');
+ $assignment_name = $this->db->f('name');
+ $assignment_code = $this->db->f('code');
+
+ $this->nextmatchs->template_alternate_row_color(&$this->t);
+ $table_data.="<tr bgcolor=". $this->t->get_var('tr_color') ."><td>$assignment_name</td>";
+
+ $header_row="<th width=$comp_width><font size=-2>Assignments</th><th>Willingness</th>";
+ $sql = "SELECT * FROM 3rd_willingness WHERE indiv=".$indiv_id." AND assignment=".$assignment;
+ $this->db2->query($sql,__LINE__,__FILE__);
+ $value = $assignment;
+
+ if($this->db2->next_record()) {
+ if($this->db2->f('willing') == 'y') {
+ $table_data .= '<td width=100 align=center>';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/y" checked>Y';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/n">N';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/"> ';
+ $table_data .= '</td>';
+ } else if($this->db2->f('willing') == 'n') {
+ $table_data .= '<td width=100 align=center>';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/y">Y';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/n" checked>N';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/">';
+ $table_data .= '</td>';
+ } else {
+ $table_data .= '<td width=100 align=center>';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/y">Y';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/n">N';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/" checked> ';
+ $table_data .= '</td>';
+ }
+ }
+ else {
+ $table_data .= '<td width=100 align=center>';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/y">Y';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/n">N';
+ $table_data .= '<input type="radio" name="willingness['.$assignment.']" value="'.$value.'/" checked> ';
+ $table_data .= '</td>';
+ }
+
+ $table_data .= "\n";
+ $table_data .= "</tr>";
+ $table_data .= "<tr><td colspan=20></td></tr>";
+ }
+
+ $table_data .= "<tr><td colspan=20><hr></td></tr>";
+
+ $this->t->set_var('table_width',$table_width);
+ $this->t->set_var('header_row',$header_row);
+ $this->t->set_var('table_data',$table_data);
+ $this->t->fp('list','assignment_list',True);
+
+ $this->t->set_var('lang_reset','Clear Form');
+ $this->t->set_var('lang_save','Save Changes');
+ $this->t->set_var('savehandle','');
+
+ $this->t->pfp('out','willing_update_t');
+ $this->t->pfp('addhandle','save');
+
+ $this->save_sessiondata();
+ }
+
+
+ function ppi_sched()
+ {
+ $this->t->set_file(array('ppi_sched_t' => 'ppi_sched.tpl'));
+ $this->t->set_block('ppi_sched_t','indiv_list','indivlist');
+ $this->t->set_block('ppi_sched_t','appt_list','apptlist');
+ $action = get_var('action',array('GET','POST'));
+
+ $this->t->set_var('lang_save','Save Appt / Pri / Notes');
+ $this->t->set_var('lang_reset','Clear Changes');
+
+ $this->t->set_var('ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+ $this->t->set_var('ppi_link_title','Yearly PPIs');
+
+ $this->t->set_var('schedule_ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_sched'));
+ $this->t->set_var('schedule_ppi_link_title','Schedule Yearly PPIs');
+
+ $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_sched&action=save'));
+ $this->t->set_var('title','Yearly PPI Scheduler');
+
+ $indiv_width=500; $phone_width=25; $pri_width=10; $notes_width=128; $ppi_date_width=20;
+ $table_width=$indiv_width + $phone_width + $pri_width + $notes_width + $ppi_date_width;
+ $header_row = "<th width=$indiv_width><font size=-2>individual Name</th>";
+ $header_row.= "<th width=$phone_width><font size=-2>Phone</th>";
+ $header_row.= "<th width=$pri_width><font size=-2>Priority</th>";
+ $header_row.= "<th width=$ppi_date_width><font size=-2>Last PPI</th>";
+ $header_row.= "<th width=$notes_width><font size=-2>Scheduling Notes</th>";
+ $table_data=""; $completed_data=""; $totals_data="";
+
+ $year = date('Y');
+
+ // Get the EQ President
+ $sql = "SELECT * FROM 3rd_presidency where president=1 and 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('indiv');
+ $presidency_id = $this->db->f('presidency');
+ $interviewer = $this->db->f('indiv');
+ $district_number = '*';
+ $district_name = $president_name;
+ $sql = "SELECT * FROM 3rd_indiv where indiv='$president_id'";
+ $this->db2->query($sql,__LINE__,__FILE__);
+ if($this->db2->next_record()) {
+ $indiv_id = $this->db2->f('indiv_id');
+ }
+ $sql = "SELECT * FROM 3rd_parent where indiv_id='$indiv_id'";
+ $this->db2->query($sql,__LINE__,__FILE__);
+ if($this->db2->next_record()) {
+ $president_address = $this->db2->f('address');
+ }
+ } else {
+ print "<hr><font color=red><h3>-E- Unable to locate President in 3rd_presidency table</h3></font></hr>";
+ return;
+ }
+
+ if($action == 'save')
+ {
+ // Save any changes made to the appointment table
+ $new_data = get_var('appt_notes',array('POST'));
+ if($new_data != "") {
+ foreach ($new_data as $entry)
+ {
+ $indiv = $entry['indiv'];
+ $appointment = $entry['appointment'];
+ $location = $entry['location'];
+ if($location == "") { $location = "$president_last_name"." home ($president_address)"; }
+ if($indiv == 0) { $location = ""; }
+
+ //Only perform a database update if we have made a change to this appointment
+ $sql = "SELECT * FROM 3rd_appointment where appointment='$appointment' and indiv='$indiv' and location='$location'";
+ $this->db->query($sql,__LINE__,__FILE__);
+ if(!$this->db->next_record()) {
+ // Perform database save actions here
+ $this->db->query("UPDATE 3rd_appointment set " .
+ " indiv='" . $indiv . "'" .
+ ",location='" . $location . "'" .
+ " WHERE appointment=" . $appointment,__LINE__,__FILE__);
+ // Email the appointment
+ $this->email_appt($appointment);
+ }
+
+ }
+ }
+
+ // Save any changes made to the ppi notes table
+ $new_data = get_var('ppi_notes',array('POST'));
+ foreach ($new_data as $entry)
+ {
+ $ppi_notes = $entry['notes'];
+ $indiv_id = $entry['indiv_id'];
+ $ppi_pri = $entry['pri'];
+
+ // Perform database save actions here
+ $this->db->query("UPDATE 3rd_indiv set " .
+ " ppi_notes='" . $ppi_notes . "'" .
+ ",ppi_pri='" . $ppi_pri . "'" .
+ " WHERE indiv=" . $indiv_id,__LINE__,__FILE__);
+
+ }
+
+ $take_me_to_url = $GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_sched');
+ //Header('Location: ' . $take_me_to_url);
+ }
+
+ // create the individual id -> individual name mapping
+ $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY name ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $i=0;
+ $indiv_id = NULL;
+ $indiv_name = NULL;
+ while ($this->db->next_record())
+ {
+ $indiv_name[$i] = $this->db->f('name');
+ $indiv_id[$i] = $this->db->f('indiv');
+ $i++;
+ }
+ array_multisort($indiv_name, $indiv_id);
+
+ // APPOINTMENT TABLE
+ $date_width=250; $time_width=100; $indiv_width=200; $location_width=100;
+ $appt_table_width=$date_width + $time_width + $indiv_width + $location_width;
+ $appt_header_row = "<th width=$date_width><font size=-2>Date</th>";
+ $appt_header_row.= "<th width=$time_width><font size=-2>Time</th>";
+ $appt_header_row.= "<th width=$indiv_width><font size=-2>indiv</th>";
+ $appt_header_row.= "<th width=$location_width><font size=-2>Location</th>";
+ $appt_table_data = "";
+
+ $total_indivs=0; $indivs_with_yearly_ppi=0;
+
+ // Display a scheduling table for the EQ 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 3rd_appointment where presidency=".$presidency_id." and date>=CURDATE() ORDER BY date ASC, time ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+
+ while ($this->db->next_record())