+
+ $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);
+
+
+ // VISIT SCHEDULING TABLE
+ $sql = "SELECT * FROM eq_family where valid=1 and elder_id != 0 ORDER BY visit_pri ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+
+ $total_families=0; $families_with_yearly_visit=0;
+
+ $i=0;
+ $family_id = NULL;
+ $family_name = NULL;
+ $family_phone = NULL;
+ $family_visit_pri = NULL;
+ $family_visit_notes = NULL;
+ while ($this->db->next_record())
+ {
+ $family_id[$i] = $this->db->f('family');
+ $family_name[$i] = $this->db->f('name');
+ $family_phone[$family_id[$i]] = $family_id[$i] . " ERROR";
+ $family_visit_pri[$family_id[$i]] = $this->db->f('visit_pri');
+ $family_visit_notes[$family_id[$i]] = $this->db->f('visit_notes');
+ $i++;
+ $total_families++;
+ }
+
+ $sql = "SELECT * FROM eq_parent where valid=1";
+ $this->db->query($sql,__LINE__,__FILE__);
+ while ($this->db->next_record())
+ {
+ $family = $this->db->f('family');
+ $phone = $this->db->f('phone');
+ $family_phone[$family] = $phone;
+ }
+
+ $max = count($family_id);
+
+ for($i=0; $i < $max; $i++) {
+ $id = $family_id[$i];
+ $name = $family_name[$i];
+ $phone = $family_phone[$id];
+ $vis_pri = $family_visit_pri[$id];
+ $vis_notes = $family_visit_notes[$id];
+
+ // If this family has had a yearly visit this year, don't show them on the schedule list
+ $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01";
+ $sql = "SELECT * FROM eq_visit WHERE date > '$year_start' AND date < '$year_end' ".
+ "AND family=" . $id . " AND companionship=0";
+ $this->db2->query($sql,__LINE__,__FILE__);
+
+ if(!$this->db2->next_record()) {
+ $sql = "SELECT * FROM eq_visit WHERE family=" . $id . " AND companionship=0 ORDER BY date DESC";
+ $this->db->query($sql,__LINE__,__FILE__);
+ if($this->db->next_record()) { $date = $this->db->f('date'); } else { $date = ""; }
+ $link_data['menuaction'] = 'eq.eq.vis_update';
+ $link_data['visit'] = '';
+ $link_data['family'] = $id;
+ $link_data['name'] = $name;
+ $link_data['action'] = 'add';
+ $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+ $table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td title=\"$phone\"><a href=$link>$name Family</a></td>";
+ $table_data.= "<td align=center>$phone</td>";
+ $table_data.= "<td align=center>";
+ $table_data.= '<select name=vis_notes['.$i.'][pri]>';
+ foreach(range(0,6) as $num) {
+ if($num == 0) { $num = 1; } else {$num = $num*5; }
+ if($vis_pri == $num) { $selected[$num] = 'selected="selected"'; } else { $selected[$num] = ''; }
+ $table_data.= '<option value='.$num.' '.$selected[$num].'>'.$num.'</option>';
+ }
+ $table_data.= '</select></td>';
+ $table_data.= "<td align=center>$date</td>";
+ $table_data.= '<td><input type=text size="50" maxlength="128" name="vis_notes['.$i.'][notes]" value="'.$vis_notes.'">';
+ $table_data.= '<input type=hidden name="vis_notes['.$i.'][family_id]" value="'.$id.'">';
+ $table_data.= '<input type=hidden name="vis_notes['.$i.'][family_name]" value="'.$name.'">';
+ $table_data.= '</td>';
+ $table_data.= '</tr>';
+ $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
+ $this->t->set_var('tr_color',$tr_color);
+ } else {
+ $link_data['menuaction'] = 'eq.eq.vis_update';
+ $link_data['visit'] = $this->db2->f('visit');
+ $link_data['family'] = $this->db2->f('family');
+ $link_data['name'] = $name;
+ $link_data['date'] = $this->db2->f('date');
+ $link_data['action'] = 'view';
+ $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+ $families_with_yearly_visit++;
+ $date = $this->db2->f('date');
+ $vis_notes = $this->db2->f('notes');
+ if(strlen($vis_notes) > 40) { $vis_notes = stripslashes(substr($vis_notes,0,40) . "..."); }
+ $completed_data.= "<tr bgcolor=". $this->t->get_var('tr_color2') ."><td title=\"$phone\"><a href=$link>$name Family</a></td>";
+ $completed_data.= "<td align=center>$phone</td>";
+ $completed_data.= "<td align=center><a href=".$link.">$date</a></td>";
+ $completed_data.= "<td align=left>$vis_notes</td>";
+ $completed_data.= '</tr>';
+ $tr_color2 = $this->nextmatchs->alternate_row_color($tr_color2);
+ $this->t->set_var('tr_color2',$tr_color2);
+ }
+ }
+
+ $name_width=190; $phone_width=100; $date_width=100; $notes_width=300;
+ $completed_table_width=$name_width + $phone_width + $date_width + $notes_width;
+ $completed_header_row = "<th width=$name_width><font size=-2>Family Name</th>";
+ $completed_header_row.= "<th width=$phone_width><font size=-2>Phone</th>";
+ $completed_header_row.= "<th width=$date_width><font size=-2>Date</th>";
+ $completed_header_row.= "<th width=$notes_width><font size=-2>Visit Notes</th>";
+
+ $family_width=300; $totals_width=100;
+ $totals_table_width=$family_width + $totals_width;
+ $totals_header_row = "<th width=$family_width><font size=-2>Families</th>";
+ $totals_header_row.= "<th width=$totals_width><font size=-2>$year</th>";
+ $totals_data.= "<tr bgcolor=". $this->t->get_var('tr_color') .">";
+ $totals_data.= "<td align=left><font size=-2><b>Total Families with yearly Visits completed:</b></font></td>";
+ $totals_data.= "<td align=center><font size=-2><b>$families_with_yearly_visit / $total_families</b></font></td>";
+ $percent = ceil(($families_with_yearly_visit / $total_families)*100);
+ $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
+ $this->t->set_var('tr_color',$tr_color);
+ $totals_data.= "<tr bgcolor=". $this->t->get_var('tr_color') .">";
+ $totals_data.= "<td align=left><font size=-2><b>Percentage:</b></font></td>";
+ $totals_data.= "<td align=center><font size=-2><b>$percent%</b></font></td>";
+ $totals_data.= "</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->set_var('totals_header_row',$totals_header_row);
+ $this->t->set_var('totals_table_width',$totals_table_width);
+ $this->t->set_var('completed_header_row',$completed_header_row);
+ $this->t->set_var('completed_table_width',$completed_table_width);
+ $this->t->set_var('completed',$completed_data);
+ $this->t->set_var('totals',$totals_data);
+ $this->t->fp('familylist','family_list',True);
+ $this->t->fp('apptlist','appt_list',True);
+
+ $this->t->pfp('out','vis_sched_t');
+ $this->save_sessiondata();
+
+ }
+
+ function ppi_view()
+ {
+ $this->t->set_file(array('ppi_view_t' => 'ppi_view.tpl'));
+ $this->t->set_block('ppi_view_t','district_list','list');
+
+ $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+ $num_months = get_var('num_months',array('GET','POST'));
+ if($num_months == '') { $num_months = $this->default_ppi_num_months; }
+ $this->t->set_var('num_months',$num_months);
+ if($num_months == 1) { $this->t->set_var('lang_num_months','Month of History'); }
+ else { $this->t->set_var('lang_num_months','Months of History'); }
+ $this->t->set_var('lang_filter','Filter');
+ $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+
+ $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('title','Yearly 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);
+ if($num_months == 1) { $this->t->set_var('lang_num_months','Year of History'); }
+ else { $this->t->set_var('lang_num_months','Years of History'); }
+
+ $sql = "SELECT * FROM eq_presidency where president=1 and valid=1";
+ $this->db->query($sql,__LINE__,__FILE__);
+ if($this->db->next_record()) {
+ $president_name = $this->db->f('name');
+ $interviewer = $this->db->f('elder');
+ $eqpresppi = 1;
+ } else {
+ print "<hr><font color=red><h3>-E- Unable to locate EQ President in eq_presidency table</h3></font></hr>";
+ return;
+ }
+ $this->t->set_var('district_number','*');
+ $this->t->set_var('district_name',$president_name);
+
+ $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY elder ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $i=0;
+ while ($this->db->next_record())
+ {
+ $elder_id[$i] = $this->db->f('elder');
+ $elder_name[$i] = $this->db->f('name');
+ $elder_phone[$elder_id[$i]] = $this->db->f('phone');
+ $elder_ppi_pri[$elder_id[$i]] = $this->db->f('ppi_pri');
+ $elder_ppi_notes[$elder_id[$i]] = $this->db->f('ppi_notes');
+ $i++;
+ }
+ $total_elders=$i;
+ array_multisort($elder_name, $elder_id);
+ //var_dump($elder_name); print "<br><br>"; var_dump($elder_id);
+
+ $header_row="<th width=$comp_width><font size=-2>Elder Name</th>";
+
+ $elder_width=400; $ppi_width=75; $table_width=$elder_width + $num_months*$ppi_width;
+ $table_data="";
+ for($m=$num_months; $m >= 0; $m--) {
+ $year = date('Y') - $m;
+ $header_row .= "<th width=150><font size=-2>$year</th>";
+ $ppis[$m] = 0;
+ }
+
+ for ($j=0; $j < count($elder_id); $j++) {
+ $id = $elder_id[$j];
+ $name = $elder_name[$j];
+ $phone = $elder_phone[$id];
+
+ $link_data['menuaction'] = 'eq.eq.ppi_update';
+ $link_data['interviewer'] = $interviewer;
+ $link_data['elder'] = $id;
+ $link_data['name'] = $name;
+ $link_data['ppi'] = '';
+ $link_data['eqpresppi'] = $eqpresppi;
+ $link_data['action'] = 'add';
+ $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+ $this->nextmatchs->template_alternate_row_color(&$this->t);
+ $table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td title=\"$phone\"><a href=$link>$name</a></td>";
+
+ // Find out how many times PPIs were performed in the past $num_months for this Elder
+ for($m=$num_months; $m >= 0; $m--) {
+ $year = date('Y') - $m;
+ $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01";
+ $sql = "SELECT * FROM eq_ppi WHERE date > '$year_start' AND date < '$year_end' ".
+ "AND elder=" . $id . " AND eqpresppi=1";
+ $this->db2->query($sql,__LINE__,__FILE__);
+
+ if(!$total_ppis[$m]) { $total_ppis[$m] = 0; }
+ if($this->db2->next_record()) {
+ $ppis[$m]++; $total_ppis[$m]++; $ppi_recorded[$companionship][$m]=1;
+ $link_data['menuaction'] = 'eq.eq.ppi_update';
+ $link_data['companionship'] = $companionship;
+ $link_data['interviewer'] = $this->db2->f('interviewer');
+ $link_data['elder'] = $id;
+ $link_data['name'] = $name;
+ $link_data['ppi'] = $this->db2->f('ppi');
+ $link_data['eqpresppi'] = $eqpresppi;
+ $link_data['action'] = 'view';
+ $date = $this->db2->f('date');
+ $date_array = explode("-",$date);
+ $month = $date_array[1];
+ $day = $date_array[2];
+ $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+ $table_data .= '<td align=center><a href='.$link.'><img src="images/checkmark.gif"> '.$month.'-'.$day.'</a></td>';
+ }
+ else { $table_data .= "<td> </td>"; }
+ }
+ $table_data .= "</tr>\n";
+ }
+ $table_data .= "<tr><td colspan=20><hr></td></tr>";
+
+ $stat_data = "<tr><td><b><font size=-2>$total_elders Elders<br>PPI Totals:</font></b></td>";
+ for($m=$num_months; $m >=0; $m--) {
+ $percent = ceil(($ppis[$m] / $total_elders)*100);
+ $stat_data .= "<td align=center><font size=-2><b>$ppis[$m]<br>$percent%</font></b></td>";
+ }
+ $stat_data .= "</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->set_var('stat_data',$stat_data);
+ $this->t->pfp('out','ppi_view_t');
+ $this->save_sessiondata();
+ }
+
+ function ppi_update()
+ {
+ $this->t->set_file(array('form' => 'ppi_update.tpl'));
+ $this->t->set_block('form','interviewer_list','int_list');
+ $this->t->set_block('form','add','addhandle');
+ $this->t->set_block('form','edit','edithandle');
+
+ $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+ $this->t->set_var('readonly','');
+ $this->t->set_var('disabled','');
+
+ $action = get_var('action',array('GET','POST'));
+ $companionship = get_var('companionship',array('GET','POST'));
+ $interviewer = get_var('interviewer',array('GET','POST'));
+ $name = get_var('name',array('GET','POST'));
+ $ppi = get_var('ppi',array('GET','POST'));
+ $elder = get_var('elder',array('GET','POST'));
+ $aaronic = get_var('aaronic',array('GET','POST'));
+ $date = get_var('date',array('GET','POST'));
+ $notes = get_var('notes',array('GET','POST'));
+ $eqpresppi = get_var('eqpresppi',array('GET','POST'));
+
+ $sql = "SELECT * FROM eq_presidency where valid=1 and (president=1 or counselor=1 or secretary=1)";
+ $this->db2->query($sql,__LINE__,__FILE__);
+ while ($this->db2->next_record())
+ {
+ $elder = $this->db2->f('elder');
+ $interviewer_name = $this->db2->f('name');
+ if($elder == $interviewer) {
+ $this->t->set_var('interviewer',$interviewer . ' selected');
+ } else {
+ $this->t->set_var('interviewer',$interviewer);
+ }
+ $this->t->set_var('interviewer_name',$interviewer_name);
+ $this->t->set_var('eqpresppi_checked','');
+ $this->t->fp('int_list','interviewer_list',True);
+ }
+
+ if($action == 'save')
+ {
+ $notes = get_var('notes',array('POST'));
+ $this->db->query("UPDATE eq_ppi set " .
+ " ppi='" . $ppi . "'" .
+ ", interviewer='" . $interviewer . "'" .
+ ", elder='" . $elder . "'" .
+ ", aaronic='" . $aaronic . "'" .
+ ", date='" . $date . "'" .
+ ", notes='" . $notes . "'" .
+ ", eqpresppi='" . $eqpresppi . "'" .
+ " WHERE ppi=" . $ppi,__LINE__,__FILE__);
+ $this->ppi_view();
+ return false;
+ }
+
+ if($action == 'insert')
+ {
+ $notes = get_var('notes',array('POST'));
+ $this->db->query("INSERT INTO eq_ppi (interviewer,elder,aaronic,date,notes,eqpresppi) "
+ . "VALUES ('" . $interviewer . "','" . $elder . "','" . $aaronic . "','"
+ . $date . "','" . $notes . "','" . $eqpresppi ."')",__LINE__,__FILE__);
+ $this->ppi_view();
+ return false;
+ }
+
+ if($action == 'add')
+ {
+ $this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options));
+ $this->t->set_var('ppi', '');
+ $this->t->set_var('interviewer', $interviewer);
+ $this->t->set_var('name',$name);
+ $this->t->set_var('elder',$elder);
+ $this->t->set_var('date','');
+ $this->t->set_var('notes','');
+ $this->t->set_var('eqpresppi',$eqpresppi);
+ $this->t->set_var('eqpresppi_checked','checked');
+ $this->t->set_var('lang_done','Cancel');
+ $this->t->set_var('lang_action','Adding New PPI');
+ $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_update&ppi='
+ . $ppi . '&action=' . 'insert'));
+ }
+
+ if($action == 'edit' || $action == 'view')
+ {
+ $sql = "SELECT * FROM eq_ppi WHERE ppi=".$ppi;
+ $this->db->query($sql,__LINE__,__FILE__);
+ $this->db->next_record();
+ $this->t->set_var('ppi',$ppi);
+ $this->t->set_var('name',$name);
+ $this->t->set_var('interviewer', $this->db->f('interviewer'));
+ $this->t->set_var('elder',$this->db->f('elder'));
+ $this->t->set_var('date',$this->db->f('date'));
+ $this->t->set_var('notes',$this->db->f('notes'));
+ $this->t->set_var('eqpresppi',$this->db->f('eqpresppi'));
+ if($this->db->f('eqpresppi') == 1) { $this->t->set_var('eqpresppi_checked','checked'); }
+ }