X-Git-Url: http://git.pippins.net/embedvideo/.git/static/git-logo.png?a=blobdiff_plain;ds=inline;f=inc%2Fclass.eq.inc.php;h=ca6b8097d9e69841b87845eeadb668342a8d1ed0;hb=87fe12720f10a6ef93f81726ccb90b812393d599;hp=747a9a5ab2e2293b5f6bd9e494bb03f75d8921d9;hpb=a58cb12cfe9a89076a37b96afbecb25d1c6eb5dd;p=eq%2F.git
diff --git a/inc/class.eq.inc.php b/inc/class.eq.inc.php
index 747a9a5..ca6b809 100644
--- a/inc/class.eq.inc.php
+++ b/inc/class.eq.inc.php
@@ -68,25 +68,15 @@ class eq
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;
@@ -233,9 +223,9 @@ class eq
$aaronic[$aaronic_id]['name'] = $this->db->f('name');
$aaronic[$aaronic_id]['phone'] = $this->db->f('phone');
}
-
- $total_families = 0;
+
$this->nextmatchs->template_alternate_row_color(&$this->t);
+ for($m=$num_months; $m >= 0; $m--) { $total_families[$m]=0; }
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']);
@@ -253,8 +243,8 @@ class eq
}
$comp_width=450; $visit_width=25; $table_width=$comp_width + $num_months*$visit_width;
- $table_data=""; $num_companionships = 0; $num_families = 0;
- for($m=$num_months; $m >= 0; $m--) { $visits[$m] = 0; }
+ $table_data=""; $num_companionships = 0;
+ for($m=$num_months; $m >= 0; $m--) { $visits[$m]=0; $num_families[$m]=0; }
for ($j=0; $j < count($unique_companionships); $j++) {
$companion_table_entry = "";
// Select all the companions in each companionship
@@ -288,7 +278,6 @@ class eq
$k=0;
while ($this->db->next_record())
{
- $num_families++; $total_families++;
$family_name = $this->db->f('name');
$family_id = $this->db->f('family');
$this->nextmatchs->template_alternate_row_color(&$this->t);
@@ -304,12 +293,24 @@ class eq
$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 ";
// 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;
@@ -324,19 +325,21 @@ class eq
if(!$total_visits[$m]) { $total_visits[$m] = 0; }
if($this->db2->next_record()) {
if($this->db2->f('visited') == 'y') {
- $visits[$m]++; $total_visits[$m]++;
+ $visits[$m]++; $total_visits[$m]++;
+ $num_families[$m]++; $total_families[$m]++;
$table_data .= '
';
}
else if($this->db2->f('visited') == 'n') {
+ $num_families[$m]++; $total_families[$m]++;
$table_data .= ' ';
}
else {
- $visits[$m]++; $total_visits[$m]++;
+ //$visits[$m]++; $total_visits[$m]++;
$table_data .= " ";
}
}
else {
- $visits[$m]++; $total_visits[$m]++;
+ //$visits[$m]++; $total_visits[$m]++;
$table_data .= " ";
}
}
@@ -346,11 +349,15 @@ class eq
$table_data .= " ";
}
$table_data .= " ";
- $stat_data = "$num_families Families Visit Totals: ";
+ $stat_data = "Families Hometaught: Hometeaching Percentage: ";
for($m=$num_months; $m >=0; $m--) {
- $percent = ceil(($visits[$m] / $num_families)*100);
- $stat_data .= "$visits[$m] $percent% ";
+ if($num_families[$m] > 0) {
+ $percent = ceil(($visits[$m] / $num_families[$m])*100);
+ } else {
+ $percent = 0;
+ }
+ $stat_data .= "$visits[$m] / $num_families[$m] $percent% ";
}
$stat_data .= " ";
@@ -361,10 +368,14 @@ class eq
$this->t->fp('list','district_list',True);
}
- $totals = "$total_families Total Families Visit Totals: ";
+ $totals = "Total Families Hometaught: Total Hometeaching Percentage: ";
for($m=$num_months; $m >=0; $m--) {
- $percent = ceil(($total_visits[$m] / $total_families)*100);
- $totals .= "$total_visits[$m] $percent% ";
+ if($total_families[$m] > 0) {
+ $percent = ceil(($total_visits[$m] / $total_families[$m])*100);
+ } else {
+ $percent = 0;
+ }
+ $totals .= "$total_visits[$m] / $total_families[$m] $percent% ";
}
$totals .= " ";
@@ -410,16 +421,9 @@ class eq
}
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 ";
- // 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__);
}
@@ -517,29 +521,40 @@ class eq
$this->db->query($sql,__LINE__,__FILE__);
while ($this->db->next_record())
{
- $num_families++; $total_families++;
$family_name = $this->db->f('name');
$family_id = $this->db->f('family');
$this->nextmatchs->template_alternate_row_color(&$this->t);
$table_data.="$family_name Family ";
$header_row="Families ";
+
+ // 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 .= "$month ";
if(!$total_visits) { $total_visits = 0; }
if($this->db2->next_record()) {
if($this->db2->f('visited') == 'y') {
- $visits++; $total_visits++;
+ $visits++; $total_visits++; $num_families++;
$table_data .= '';
$table_data .= ' Y';
$table_data .= ' N';
$table_data .= ' ';
$table_data .= ' ';
} else if($this->db2->f('visited') == 'n') {
+ $num_families++;
$table_data .= '';
$table_data .= ' Y';
$table_data .= ' N';
@@ -566,10 +581,10 @@ class eq
$table_data .= " ";
}
$table_data .= " ";
- $stat_data = "$num_families Families Visit Totals: ";
+ $stat_data = "Families Hometaught: Hometeaching Percentage: ";
$percent = ceil(($visits / $num_families)*100);
- $stat_data .= "$visits $percent% ";
+ $stat_data .= "$visits / $num_families $percent% ";
$stat_data .= " ";
$this->t->set_var('table_width',$table_width);
@@ -1921,7 +1936,7 @@ class eq
$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);
@@ -1953,7 +1968,7 @@ class eq
$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++;
@@ -2386,7 +2401,7 @@ class eq
$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; }
@@ -2456,6 +2471,7 @@ class eq
$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')
@@ -2494,6 +2510,7 @@ class eq
$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='
@@ -2512,6 +2529,7 @@ class eq
$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')
@@ -2665,7 +2683,7 @@ class eq
$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.= "$name ";
@@ -2696,7 +2714,7 @@ class eq
$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);
@@ -2713,26 +2731,21 @@ class eq
$table_data .= " ";
}
$total_companionships += $num_companionships;
- $stat_data = "$num_companionships Companionships Interview Quarterly Totals: ";
+ $stat_data = "$num_companionships Companionships Interview Totals: ";
// 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 .= "$quarter_total $percent% ";
- }
- $stat_data .= " ";
- }
- else { // Monthly
- for($m=$num_months; $m >=0; $m--) {
- $percent = ceil(($ints[$m] / $num_companionships)*100);
- $stat_data .= "$ints[$m] $percent% ";
- }
- $stat_data .= "";
+ for($m=$num_months; $m >=0; $m--) {
+ $month = $current_month - $m;
+ if($month < 0) { $month = 12 + $month; } // Handle going backwards over a year boundary
+ $month_begins = $month % $this->monthly_hometeaching_interview_stats;
+ //print "$month % $this->monthly_hometeaching_interview_stats = $month_begins ";
+ 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 .= "$total $percent% ";
}
+ $stat_data .= "";
$this->t->set_var('table_width',$table_width);
$this->t->set_var('header_row',$header_row);
@@ -2742,27 +2755,20 @@ class eq
}
// Display the totals
- if($this->monthly_hometeaching_interviews == 0) { //Quarterly
- $quarter_total = 0;
- $totals = "$total_companionships Total Comps Interview Quarterly Totals: ";
- 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 .= "$quarter_total $percent% ";
- }
- $totals .= " ";
- }
- else { //Monthly
- $totals = "$total_companionships Total Comps Interview Monthly Totals: ";
- for($m=$num_months; $m >=0; $m--) {
- $percent = ceil(($total_ints[$m] / $total_companionships)*100);
- $totals .= "$total_ints[$m] $percent% ";
- }
- $totals .= " ";
+ $total = 0;
+ $totals = "$total_companionships Total Comps Interview Totals: ";
+ for($m=$num_months; $m >=0; $m--) {
+ $month = $current_month - $m;
+ if($month < 0) { $month = 12 + $month; } // Handle going backwards over a year boundary
+ $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 .= "$total $percent% ";
}
-
+ $totals .= " ";
+
$this->t->set_var('totals',$totals);
$this->t->pfp('out','int_view_t');
$this->save_sessiondata();
@@ -2778,16 +2784,18 @@ class eq
$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__);
@@ -2812,13 +2820,14 @@ class eq
{
$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;
}
@@ -2826,9 +2835,9 @@ class eq
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;
}
@@ -2836,7 +2845,7 @@ class eq
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);
@@ -2845,22 +2854,23 @@ class eq
$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')
@@ -2868,8 +2878,8 @@ class eq
$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')
@@ -2880,8 +2890,8 @@ class eq
$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');
@@ -3882,12 +3892,11 @@ class eq
# unzip the data into this directory
print "-> Unzipping the data \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) . " ";
print "";
- 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 " ";
return 0;
}