function eq()
{
- // LOCAL CONFIGURATION. PLEASE UPDATE AS APPROPRIATE.
- $this->upload_target_path = "/home/users/eqpres/eq_data";
- $this->script_path = "/usr/share/phpgroupware/eq/bin";
- $this->default_ht_num_months = 3;
- $this->default_ppi_num_months = 3;
- $this->default_ppi_num_years = 0;
- $this->default_int_num_quarters = 1;
- $this->default_int_num_years = 0;
- $this->default_att_num_quarters = 1;
- $this->default_vis_num_years = 1;
- $this->max_num_districts = 4;
- $this->time_drop_down_lists = 1;
- $this->monthly_hometeaching_interviews = 0;
- $this->time_drop_down_list_inc = 15;
- $this->default_visit_appt_duration = 45;
- $this->default_ppi_appt_duration = 30;
+ if(file_exists('setup/eq_config.local')) {
+ include('setup/eq_config.local');
+ } else {
+ include('setup/eq_config');
+ }
+
+ $this->script_path = "$this->application_path"."/bin";
$this->max_presidency_members = 99;
$this->max_appointments = 32768;
- // END LOCAL CONFIGURATION
$this->db = $GLOBALS['phpgw']->db;
$this->db2 = $this->db;
$month_start = "$year"."-"."$month"."-"."01";
$month_end = "$year"."-"."$month"."-"."31";
$month = "$month"."/"."$year";
+
//print "m: $m month: $month year: $year month_start: $month_start month_end: $month_end<br>";
// Add this to the query to filter on only visits made by this companionship:
// " AND companionship=" . $unique_companionships[$j]['companionship'].
+
+ // First check to see if the currently assigned companionship has visited them
$sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ".
- " AND companionship!=0".
- " AND family=". $family_id;
+ " AND companionship=".$unique_companionships[$j]['companionship'].
+ " AND family=". $family_id;
+ $query_id = $this->db2->query($sql,__LINE__,__FILE__);
+ if($this->db2->num_rows($query_id) == 0) {
+ // We did not find any visits made by the currently assigned companionship,
+ // look for visits made by any other companionship other than 0. (0 == EQ Presidency Visit)
+ $sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ".
+ " AND companionship!=0".
+ " AND family=". $family_id;
+ $query_id = $this->db2->query($sql,__LINE__,__FILE__);
+ }
$this->db2->query($sql,__LINE__,__FILE__);
$link_data['menuaction'] = 'eq.eq.ht_update';
$link_data['date'] = $month_start;
}
for ($j=0; $j < count($unique_companionships); $j++)
{
- // FIXME: We won't be able to go back and edit history on families that have been
- // reassigned to a different companionship. The following delete command will not delete
- // the history of visits under an older companionship, only the ones for the existing
- // companionship. This will lead to duplicate visits being entered for an older
- // month for the same family, making it impossible to change the past history once
- // a family is reassigned. However, you will be able to view the history just fine.
-
//$comp=$unique_companionships[$j]['companionship'];
//print "deleting from eq_visit where companionship=$comp and date=$date and district=$district<br>";
- // Delete all the visits that have taken place for all families for this month
+ // Delete all the visits that have taken place for all families for this companionsthip for this month
$this->db->query("DELETE from eq_visit where companionship=" . $unique_companionships[$j]['companionship'] .
" AND " . "date='" . $date . "'",__LINE__,__FILE__);
}
$table_data.="<tr bgcolor=". $this->t->get_var('tr_color') ."><td>$family_name Family</td>";
$header_row="<th width=$comp_width><font size=-2>Families</th>";
+
+ // First check to see if the currently assigned companionship has visited them
$sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ".
+ " AND companionship=".$unique_companionships[$j]['companionship'].
+ " AND family=". $family_id;
+ $query_id = $this->db2->query($sql,__LINE__,__FILE__);
+ if($this->db2->num_rows($query_id) == 0) {
+ // We did not find any visits made by the currently assigned companionship,
+ // look for visits made by any other companionship other than 0. (0 == EQ Presidency Visit)
+ $sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ".
" AND companionship!=0".
" AND family=". $family_id;
- $this->db2->query($sql,__LINE__,__FILE__);
+ $query_id = $this->db2->query($sql,__LINE__,__FILE__);
+ }
+
$value = $family_id . "/" . $unique_companionships[$j]['companionship'] . "/" . $date;
$header_row .= "<th width=$visit_width><font size=-2><a href=$link>$month</a></th>";
if(!$total_visits) { $total_visits = 0; }
$link_data['elder'] = $id;
$link_data['aaronic'] = 0;
$link_data['name'] = $name;
- $link_data['interview'] = '';
+ $link_data['ppi'] = '';
$link_data['action'] = 'add';
$link_data['interviewer'] = $districts[$d]['supervisor'];
$link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
$link_data['elder'] = $this->db2->f('elder');
$link_data['aaronic'] = $this->db2->f('aaronic');
$link_data['name'] = $name;
- $link_data['interview'] = $this->db2->f('int');
+ $link_data['ppi'] = $this->db2->f('ppi');
$link_data['action'] = 'view';
$link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
$comps_with_quarterly_int++;
$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 elder=" . $id . " AND eqpresppi=1";
$this->db2->query($sql,__LINE__,__FILE__);
if(!$total_ppis[$m]) { $total_ppis[$m] = 0; }
$interviewer_name = $this->db2->f('name');
$this->t->set_var('interviewer',$interviewer . ' selected');
$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')
$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='
$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'); }
}
if($action == 'edit')
$link_data['elder'] = $elder_id;
$link_data['aaronic'] = $aaronic_id;
$link_data['name'] = $name;
- $link_data['interview'] = '';
+ $link_data['ppi'] = '';
$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</a></td>";
$link_data['elder'] = $elder_id;
$link_data['aaronic'] = $aaronic_id;
$link_data['name'] = $name;
- $link_data['interview'] = $this->db2->f('interview');
+ $link_data['ppi'] = $this->db2->f('ppi');
$link_data['action'] = 'view';
$date = $this->db2->f('date');
$date_array = explode("-",$date);
$table_data .= "<tr><td colspan=20><hr></td></tr>";
}
$total_companionships += $num_companionships;
- $stat_data = "<tr><td><b><font size=-2>$num_companionships Companionships<br>Interview Quarterly Totals:</font></b></td>";
+ $stat_data = "<tr><td><b><font size=-2>$num_companionships Companionships<br>Interview Totals:</font></b></td>";
// Print the hometeaching interview stats
- if($this->monthly_hometeaching_interviews == 0) { //Quarterly
- for($m=$num_months; $m >=0; $m--) {
- $month = $current_month - $m;
- if(($month % 3) == 1) { $quarter_total = $ints[$m]; }
- else { $quarter_total += $ints[$m]; }
- $percent = ceil(($quarter_total / $num_companionships)*100);
- $stat_data .= "<td align=center><font size=-2><b>$quarter_total<br>$percent%</font></b></td>";
- }
- $stat_data .= "</tr>";
- }
- else { // Monthly
- for($m=$num_months; $m >=0; $m--) {
- $percent = ceil(($ints[$m] / $num_companionships)*100);
- $stat_data .= "<td align=center><font size=-2><b>$ints[$m]<br>$percent%</font></b></td>";
- }
- $stat_data .= "</tr>";
+ for($m=$num_months; $m >=0; $m--) {
+ $month = $current_month - $m;
+ $month_begins = $month % $this->monthly_hometeaching_interview_stats;
+ if($this->monthly_hometeaching_interview_stats == 1) { $month_begins = 1; }
+ if(($month_begins) == 1) { $total = $ints[$m]; }
+ else { $total += $ints[$m]; }
+ $percent = ceil(($total / $num_companionships)*100);
+ $stat_data .= "<td align=center><font size=-2><b>$total<br>$percent%</font></b></td>";
}
+ $stat_data .= "</tr>";
$this->t->set_var('table_width',$table_width);
$this->t->set_var('header_row',$header_row);
}
// Display the totals
- if($this->monthly_hometeaching_interviews == 0) { //Quarterly
- $quarter_total = 0;
- $totals = "<tr><td><b><font size=-2>$total_companionships Total Comps<br>Interview Quarterly Totals:</font></b></td>";
- for($m=$num_months; $m >=0; $m--) {
- $month = $current_month - $m;
- if(($month % 3) == 1) { $quarter_total = $total_ints[$m]; }
- else { $quarter_total += $total_ints[$m]; }
- $percent = ceil(($quarter_total / $total_companionships)*100);
- $totals .= "<td align=center><font size=-2><b>$quarter_total<br>$percent%</font></b></td>";
- }
- $totals .= "</tr>";
- }
- else { //Monthly
- $totals = "<tr><td><b><font size=-2>$total_companionships Total Comps<br>Interview Monthly Totals:</font></b></td>";
- for($m=$num_months; $m >=0; $m--) {
- $percent = ceil(($total_ints[$m] / $total_companionships)*100);
- $totals .= "<td align=center><font size=-2><b>$total_ints[$m]<br>$percent%</font></b></td>";
- }
- $totals .= "</tr>";
+ $total = 0;
+ $totals = "<tr><td><b><font size=-2>$total_companionships Total Comps<br>Interview Totals:</font></b></td>";
+ for($m=$num_months; $m >=0; $m--) {
+ $month = $current_month - $m;
+ $month_begins = $month % $this->monthly_hometeaching_interview_stats;
+ if($this->monthly_hometeaching_interview_stats == 1) { $month_begins = 1; }
+ if(($month_begins) == 1) { $total = $total_ints[$m]; }
+ else { $total += $total_ints[$m]; }
+ $percent = ceil(($total / $total_companionships)*100);
+ $totals .= "<td align=center><font size=-2><b>$total<br>$percent%</font></b></td>";
}
-
+ $totals .= "</tr>";
+
$this->t->set_var('totals',$totals);
$this->t->pfp('out','int_view_t');
$this->save_sessiondata();
$this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_view'));
$this->t->set_var('readonly','');
$this->t->set_var('disabled','');
+ $this->t->set_var('eqpresppi_checked','');
$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'));
- $interview = get_var('interview',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_district where valid=1 ORDER BY district ASC";
$this->db->query($sql,__LINE__,__FILE__);
{
$notes = get_var('notes',array('POST'));
$this->db->query("UPDATE eq_ppi set " .
- " ppi='" . $interview . "'" .
+ " ppi='" . $ppi . "'" .
", interviewer='" . $interviewer . "'" .
", elder='" . $elder . "'" .
", aaronic='" . $aaronic . "'" .
", date='" . $date . "'" .
", notes='" . $notes . "'" .
- " WHERE ppi=" . $interview,__LINE__,__FILE__);
+ ", eqpresppi='" . $eqpresppi . "'" .
+ " WHERE ppi=" . $ppi,__LINE__,__FILE__);
$this->int_view();
return false;
}
if($action == 'insert')
{
$notes = get_var('notes',array('POST'));
- $this->db->query("INSERT INTO eq_ppi (interviewer,elder,aaronic,date,notes) "
+ $this->db->query("INSERT INTO eq_ppi (interviewer,elder,aaronic,date,notes,eqpresppi) "
. "VALUES ('" . $interviewer . "','" . $elder . "','" . $aaronic . "','"
- . $date . "','" . $notes ."')",__LINE__,__FILE__);
+ . $date . "','" . $notes ."','" . $eqpresppi . "')",__LINE__,__FILE__);
$this->int_view();
return false;
}
if($action == 'add')
{
$this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options));
- $this->t->set_var('interview', '');
+ $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('notes','');
$this->t->set_var('lang_done','Cancel');
$this->t->set_var('lang_action','Adding New Interview');
- $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&interview='
- . $interview . '&action=' . 'insert'));
+ $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&ppi='
+ . $ppi . '&action=' . 'insert'));
}
if($action == 'edit' || $action == 'view')
{
- $sql = "SELECT * FROM eq_ppi WHERE ppi=".$interview;
+ $sql = "SELECT * FROM eq_ppi WHERE ppi=".$ppi;
$this->db->query($sql,__LINE__,__FILE__);
$this->db->next_record();
- $this->t->set_var('interview',$interview);
+ $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('aaronic',$this->db->f('aaronic'));
$this->t->set_var('date',$this->db->f('date'));
$this->t->set_var('notes',$this->db->f('notes'));
+ if($this->db->f('eqpresppi') == 1) { $this->t->set_var('eqpresppi_checked','checked'); }
}
if($action == 'edit')
$this->t->set_var('cal_date',$this->jscal->input('date',$date,'','','','','',$this->cal_options));
$this->t->set_var('lang_done','Cancel');
$this->t->set_var('lang_action','Editing Interview');
- $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&interview='
- . $interview . '&action=' . 'save'));
+ $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&ppi='
+ . $ppi . '&action=' . 'save'));
}
if($action == 'view')
$this->t->set_var('disabled','DISABLED');
$this->t->set_var('lang_done','Done');
$this->t->set_var('lang_action','Viewing Interview');
- $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&interview='
- . $interview . '&action=' . 'edit'));
+ $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&ppi='
+ . $ppi . '&action=' . 'edit'));
}
$this->t->set_var('lang_reset','Clear Form');
# unzip the data into this directory
print "-> Unzipping the data<br>\n";
- $data_file = $data_dir . '';
- exec('unzip ' . $data_dir . '/*.zip -d ' . $data_dir . ' 2>&1', $result, $return_code);
+ exec($this->unzip_path .' -u '. $data_dir . '/*.zip -d ' . $data_dir . ' 2>&1', $result, $return_code);
if($return_code != 0) {
print implode('\n',$result) . "<br>";
print "<b><font color=red>";
- print "-E- Unable to unzip the uploaded file into the data dir. Aborting import.";
+ print "-E- Unable to unzip the uploaded file into the data dir: $data_dir. Aborting import.";
print "</font></b>";
return 0;
}