X-Git-Url: http://git.pippins.net/embedvideo/.git/static/gitweb.js?a=blobdiff_plain;ds=sidebyside;f=inc%2Fclass.eq.inc.php;h=3136f1252cccce4937ca4cdf14b2207da5f6559e;hb=f6da15001ec9f71cf5774b5e4bc29e70f29323b2;hp=8c2984e511210cbe2e203254bdb40552d074112f;hpb=4d253dd156e29b53b2b2d0307d71eaef3379df8d;p=eq%2F.git
diff --git a/inc/class.eq.inc.php b/inc/class.eq.inc.php
index 8c2984e..3136f12 100644
--- a/inc/class.eq.inc.php
+++ b/inc/class.eq.inc.php
@@ -23,6 +23,10 @@ class eq
var $default_ppi_num_months;
var $default_ppi_num_years;
var $default_att_num_months;
+ var $current_year;
+ var $current_month;
+ var $upload_target_path;
+ var $script_path;
var $public_functions = array
(
@@ -34,18 +38,24 @@ class eq
'par_view' => True,
'ppi_view' => True,
'ppi_update' => True,
+ 'ppi_sched' => True,
'vis_view' => True,
'vis_update' => True,
'att_view' => True,
- 'att_update' => True
+ 'att_update' => True,
+ 'dir_view' => True,
+ 'org_view' => True,
+ 'admin' => True
);
function eq()
{
- $this->default_ht_num_months = 1;
- $this->default_ppi_num_months = 1;
+ $this->default_ht_num_months = 3;
+ $this->default_ppi_num_months = 3;
$this->default_ppi_num_years = 0;
- $this->default_att_num_months = 1;
+ $this->default_att_num_months = 3;
+ $this->upload_target_path = "/home/users/eqpres/eq_data/";
+ $this->script_path = "/usr/share/phpgroupware/eq/";
$this->db = $GLOBALS['phpgw']->db;
$this->db2 = $this->db;
@@ -63,6 +73,12 @@ class eq
$GLOBALS['phpgw_info']['flags']['app_header'] = 'Elders Quorum Tools';
$GLOBALS['phpgw']->common->phpgw_header();
+
+ $this->current_month = `date '+%m'`;
+ $this->current_month = $this->current_month-0; // Make it numeric
+ $this->current_year = `date '+%Y'`;
+ $this->current_year = $this->current_year-0; // Make it numeric
+
echo parse_navbar();
$this->display_app_header();
}
@@ -105,6 +121,15 @@ class eq
$link_data['menuaction'] = 'eq.eq.att_view';
$this->t->set_var('link_attendance',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
$this->t->set_var('lang_attendance','Attendance');
+ $link_data['menuaction'] = 'eq.eq.dir_view';
+ $this->t->set_var('link_dir',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+ $this->t->set_var('lang_dir','Directory');
+ $link_data['menuaction'] = 'eq.eq.org_view';
+ $this->t->set_var('link_org',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+ $this->t->set_var('lang_org','Callings');
+ $link_data['menuaction'] = 'eq.eq.admin';
+ $this->t->set_var('link_admin',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+ $this->t->set_var('lang_admin','Admin');
$this->t->pparse('out','eq_header');
}
@@ -124,7 +149,7 @@ class eq
$this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_view'));
$this->t->set_var('title','Hometeaching');
-
+
$sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC";
$this->db->query($sql,__LINE__,__FILE__);
$i=0;
@@ -143,6 +168,7 @@ class eq
{
$elder_id[$i] = $this->db->f('elder');
$elder_name[$i] = $this->db->f('name');
+ $elder_phone[$elder_id[$i]] = $this->db->f('phone');
$i++;
}
array_multisort($elder_name, $elder_id);
@@ -159,6 +185,7 @@ class eq
{
$aaronic_id = $this->db->f('aaronic');
$aaronic[$aaronic_id]['name'] = $this->db->f('name');
+ $aaronic[$aaronic_id]['phone'] = $this->db->f('phone');
}
$total_families = 0;
@@ -192,18 +219,25 @@ class eq
while ($this->db->next_record())
{
// Get this companions information
- if($companion_table_entry != "") { $companion_table_entry .= " / "; }
+ if($companion_table_entry != "") { $companion_table_entry .= "
/ "; }
$companionship = $this->db->f('companionship');
$elder_id = $this->db->f('elder');
$aaronic_id = $this->db->f('aaronic');
- if($elder_id) { $name = $elders[$elder_id]; }
- else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; }
- $companion_table_entry .= "$name";
+ if($elder_id) {
+ $name = $elders[$elder_id];
+ $phone = $elder_phone[$elder_id];
+ }
+ else if($aaronic_id) {
+ $name = $aaronic[$aaronic_id]['name'];
+ $phone = $aaronic[$aaronic_id]['phone'];
+ }
+ $companion_table_entry .= "$name ";
}
- $table_data.= "$companion_table_entry ";
+ $table_data.= " ";
// Get the names of the families assigned this home teaching companionship
$sql = "SELECT * from eq_family where valid=1 AND companionship=".$unique_companionships[$j]['companionship'];
+ $sql = $sql . " ORDER BY name ASC";
$this->db->query($sql,__LINE__,__FILE__);
$k=0;
while ($this->db->next_record())
@@ -217,10 +251,14 @@ class eq
// in the past $num_months for this Family
$header_row="Families ";
for($m=$num_months; $m >= 0; $m--) {
- if(`date '+%d'` == 31) { $d = 1; } else { $d = 0; }
- $month = date('m/Y', strtotime('-'.$m.' month -'.$d.' day'));
- $month_start = date('Y-m', strtotime('-'.$m.' month -'.$d.' day')); $month_start .= "-01";
- $month_end = date('Y-m', strtotime('-'.$m.' month -'.$d.' day')); $month_end .= "-31";
+ $month = $this->current_month - $m;
+ $year = $this->current_year;
+ if($month <= 0) { $remainder = $month; $month = 12 + $remainder; $year=$year-1; }
+ if($month < 10) { $month = "0"."$month"; }
+ $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'].
$sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ".
@@ -316,7 +354,7 @@ class eq
if($action == 'save')
{
// Get a list of all the companionships in this district
- $sql = "SELECT distinct companionship FROM eq_companionship where district=". $district;
+ $sql = "SELECT distinct companionship FROM eq_companionship where valid=1 and district=". $district;
$this->db->query($sql,__LINE__,__FILE__);
$j=0;
while ($this->db->next_record())
@@ -332,7 +370,9 @@ class eq
// 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
$this->db->query("DELETE from eq_visit where companionship=" . $unique_companionships[$j]['companionship'] .
" AND " . "date='" . $date . "'",__LINE__,__FILE__);
@@ -367,6 +407,7 @@ class eq
{
$elder_id[$i] = $this->db->f('elder');
$elder_name[$i] = $this->db->f('name');
+ $elder_phone[$elder_id[$i]] = $this->db->f('phone');
$i++;
}
array_multisort($elder_name, $elder_id);
@@ -383,10 +424,11 @@ class eq
{
$aaronic_id = $this->db->f('aaronic');
$aaronic[$aaronic_id]['name'] = $this->db->f('name');
+ $aaronic[$aaronic_id]['phone'] = $this->db->f('phone');
}
// Select all the unique companionship numbers for this district
- $sql = "SELECT distinct companionship FROM eq_companionship where district=". $district;
+ $sql = "SELECT distinct companionship FROM eq_companionship where valid=1 and district=". $district;
$this->db->query($sql,__LINE__,__FILE__);
$j=0; $unique_companionships='';
while ($this->db->next_record())
@@ -395,7 +437,7 @@ class eq
$j++;
}
- $comp_width=300; $visit_width=25; $table_width=$comp_width + $num_months*$visit_width;
+ $comp_width=300; $visit_width=25; $table_width=$comp_width + $visit_width;
$table_data=""; $num_companionships = 0; $num_families = 0; $visits=0;
for ($j=0; $j < count($unique_companionships); $j++) {
$companion_table_entry = "";
@@ -407,18 +449,25 @@ class eq
while ($this->db->next_record())
{
// Get this companions information
- if($companion_table_entry != "") { $companion_table_entry .= " / "; }
+ if($companion_table_entry != "") { $companion_table_entry .= " / "; }
$companionship = $this->db->f('companionship');
$elder_id = $this->db->f('elder');
$aaronic_id = $this->db->f('aaronic');
- if($elder_id) { $name = $elders[$elder_id]; }
- else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; }
- $companion_table_entry .= "$name";
+ if($elder_id) {
+ $name = $elders[$elder_id];
+ $phone = $elder_phone[$elder_id];
+ }
+ else if($aaronic_id) {
+ $name = $aaronic[$aaronic_id]['name'];
+ $phone = $aaronic[$aaronic_id]['phone'];
+ }
+ $companion_table_entry .= "$name ";
}
- $table_data.= "$companion_table_entry ";
+ $table_data.= " ";
// Get the names of the families assigned this home teaching companionship
$sql = "SELECT * from eq_family where valid=1 AND companionship=".$unique_companionships[$j]['companionship'];
+ $sql = $sql . " ORDER BY name ASC";
$this->db->query($sql,__LINE__,__FILE__);
while ($this->db->next_record())
{
@@ -801,7 +850,160 @@ class eq
$this->t->pfp('out','par_view_t');
$this->save_sessiondata();
}
+
+ function ppi_sched()
+ {
+ $this->t->set_file(array('ppi_sched_t' => 'ppi_sched.tpl'));
+ $this->t->set_block('ppi_sched_t','elder_list','list');
+ $action = get_var('action',array('GET','POST'));
+
+ $this->t->set_var('lang_save','Save Priorities & 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','Hometeaching PPIs');
+
+ $this->t->set_var('eqpres_ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view&eqpresppi=1'));
+ $this->t->set_var('eqpres_ppi_link_title','EQ President 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','EQ President Yearly PPIs Scheduler');
+
+ $elder_width=450; $phone_width=25; $pri_width=10; $notes_width=128;
+ $table_width=$elder_width + $phone_width + $pri_width + $notes_width;
+ $header_row = "Elder Name ";
+ $header_row.= "Phone ";
+ $header_row.= "Priority ";
+ $header_row.= "Scheduling Notes ";
+ $table_data=""; $completed_data=""; $totals_data="";
+
+ $year = date('Y');
+
+ if($action == 'save')
+ {
+ $new_data = get_var('ppi_notes',array('POST'));
+ foreach ($new_data as $entry)
+ {
+ $ppi_notes = $entry['notes'];
+ $elder_id = $entry['elder_id'];
+ $ppi_pri = $entry['pri'];
+
+ // Perform database save actions here
+ $this->db->query("UPDATE eq_elder set " .
+ " ppi_notes='" . $ppi_notes . "'" .
+ ",ppi_pri='" . $ppi_pri . "'" .
+ " WHERE elder=" . $elder_id,__LINE__,__FILE__);
+
+ }
+
+ $take_me_to_url = $GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_sched');
+ Header('Location: ' . $take_me_to_url);
+ }
+
+ $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY ppi_pri ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+
+ $total_elders=0; $elders_with_yearly_ppi=0;
+
+ $i=0;
+ $elder_id = NULL;
+ 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++;
+ }
+
+ $max = count($elder_id);
+
+ for($i=0; $i < $max; $i++) {
+ $id = $elder_id[$i];
+ $name = $elder_name[$i];
+ $phone = $elder_phone[$id];
+ $ppi_pri = $elder_ppi_pri[$id];
+ $ppi_notes = $elder_ppi_notes[$id];
+
+ // If this elder has had a yearly PPI this year, don't show him on the schedule list
+ $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(!$this->db2->next_record()) {
+ $table_data.= "$name ";
+ $table_data.= "$phone ";
+ //$table_data.= "$ppi_pri ";
+ $table_data.= "";
+ $table_data.= '';
+ foreach(range(0,6) as $num) {
+ if($num == 0) { $num = 1; } else {$num = $num*5; }
+ if($ppi_pri == $num) { $selected[$num] = 'selected="selected"'; } else { $selected[$num] = ''; }
+ $table_data.= ''.$num.' ';
+ }
+ $table_data.= ' ';
+ $table_data.= ' ';
+ $table_data.= ' ';
+ $table_data.= ' ';
+ $table_data.= ' ';
+ $table_data.= ' ';
+ $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
+ $this->t->set_var('tr_color',$tr_color);
+ } else {
+ $elders_with_yearly_ppi++;
+ $date = $this->db2->f('date');
+ $completed_data.= "$name ";
+ $completed_data.= "$phone ";
+ $completed_data.= "$date ";
+ $completed_data.= ' ';
+ $tr_color2 = $this->nextmatchs->alternate_row_color($tr_color2);
+ $this->t->set_var('tr_color2',$tr_color2);
+ }
+ }
+
+ $name_width=300; $phone_width=150; $date_width=100;
+ $completed_table_width=$name_width + $phone_width + $date_width;
+ $completed_header_row = "Elder Name ";
+ $completed_header_row.= "Phone ";
+ $completed_header_row.= "Date ";
+
+ $elders_width=300; $totals_width=100;
+ $totals_table_width=$elders_width + $totals_width;
+ $totals_header_row = "Elders ";
+ $totals_header_row.= "$year ";
+ $totals_data.= "";
+ $totals_data.= "Total Elders with yearly PPIs completed: ";
+ $totals_data.= "$elders_with_yearly_ppi / $total_elders ";
+ $percent = ceil(($elders_with_yearly_ppi / $total_elders)*100);
+ $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
+ $this->t->set_var('tr_color',$tr_color);
+ $totals_data.= " ";
+ $totals_data.= "Percentage: ";
+ $totals_data.= "$percent% ";
+ $totals_data.= " ";
+
+ $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('list','elder_list',True);
+
+ $this->t->pfp('out','ppi_sched_t');
+ $this->save_sessiondata();
+
+ }
+
function ppi_view()
{
$this->t->set_file(array('ppi_view_t' => 'ppi_view.tpl'));
@@ -814,24 +1016,28 @@ class eq
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','Hometeaching PPIs');
+
$this->t->set_var('eqpres_ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view&eqpresppi=1'));
+ $this->t->set_var('eqpres_ppi_link_title','EQ President Yearly PPIs');
$eqpresppi = get_var('eqpresppi',array('GET','POST'));
+
+ $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');
if($eqpresppi == 1) {
+ $this->t->set_var('title','EQ President 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);
- $this->t->set_var('ppi_link_title','PPIs');
- $this->t->set_var('title','EQ President Yearly PPIs');
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'); }
- $this->t->set_var('eqpres_ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+ else { $this->t->set_var('lang_num_months','Years of History'); }
}
else {
- $this->t->set_var('ppi_link_title','EQ President Yearly PPIs');
- $this->t->set_var('title','PPIs');
+ $this->t->set_var('title','Hometeaching PPIs');
}
$sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC";
@@ -839,10 +1045,16 @@ class eq
$i=0;
while ($this->db->next_record())
{
- $districts[$i]['district'] = $this->db->f('district');
- $districts[$i]['name'] = $this->db->f('name');
- $districts[$i]['supervisor'] = $this->db->f('supervisor');
- if($eqpresppi == 0) { $i++; }
+ if(($eqpresppi == 1) && ($this->db->f('district') == 1)) {
+ $districts[$i]['district'] = $this->db->f('district');
+ $districts[$i]['name'] = $this->db->f('name');
+ $districts[$i]['supervisor'] = $this->db->f('supervisor');
+ } else if($eqpresppi == 0) {
+ $districts[$i]['district'] = $this->db->f('district');
+ $districts[$i]['name'] = $this->db->f('name');
+ $districts[$i]['supervisor'] = $this->db->f('supervisor');
+ $i++;
+ }
}
$sql = "SELECT * FROM eq_elder where valid=1 ORDER BY elder ASC";
@@ -852,6 +1064,9 @@ class eq
{
$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++;
}
array_multisort($elder_name, $elder_id);
@@ -866,6 +1081,7 @@ class eq
{
$aaronic_id = $this->db->f('aaronic');
$aaronic[$aaronic_id]['name'] = $this->db->f('name');
+ $aaronic[$aaronic_id]['phone'] = $this->db->f('phone');
}
$total_companionships = 0;
@@ -883,7 +1099,7 @@ class eq
// Select all the unique companionship numbers for this district
if($eqpresppi == 1) {
- $sql = "SELECT distinct companionship FROM eq_companionship";
+ $sql = "SELECT distinct companionship FROM eq_companionship where valid=1";
}
else {
$sql = "SELECT distinct companionship FROM eq_companionship where valid=1 and district=". $districts[$i]['district'];
@@ -911,6 +1127,8 @@ class eq
}
$this->db->query($sql,__LINE__,__FILE__);
$k=0;
+ $comp = $unique_companionships[$j]['companionship'];
+ for($m=$num_months; $m >= 0; $m--) { $ppi_recorded[$comp][$m] = 0; }
while ($this->db->next_record())
{
// Get this companions information
@@ -918,23 +1136,26 @@ class eq
$companionship = $this->db->f('companionship');
$elder_id = $this->db->f('elder');
$aaronic_id = $this->db->f('aaronic');
- if($elder_id) { $name = $elders[$elder_id]; }
- else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; }
+ if($elder_id) {
+ $name = $elders[$elder_id];
+ $phone = $elder_phone[$elder_id];
+ }
+ else if($aaronic_id) {
+ $name = $aaronic[$aaronic_id]['name'];
+ $phone = $aaronic[$aaronic_id]['phone'];
+ }
$link_data['menuaction'] = 'eq.eq.ppi_update';
$link_data['companionship'] = $companionship;
$link_data['interviewer'] = $supervisor;
$link_data['elder'] = $elder_id;
+ $link_data['aaronic'] = $aaronic_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);
- if($aaronic_id == 0) {
- $table_data.= "$name ";
- } else {
- $table_data.= "$name ";
- }
-
+ $table_data.= "$name ";
+
// Find out how many times PPIs were performed in the past $num_months for this Elder
$header_row="Companionship ";
for($m=$num_months; $m >= 0; $m--) {
@@ -942,27 +1163,33 @@ 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=" . $elder_id . " AND eqpresppi=1";
+ "AND elder=" . $elder_id . " AND aaronic=" . $aaronic_id . " AND eqpresppi=1";
$this->db2->query($sql,__LINE__,__FILE__);
$header_row .= "$year ";
}
else {
- if(`date '+%d'` == 31) { $d = 1; } else { $d = 0; }
- $month = date('m/Y', strtotime('-'.$m.' month -'.$d.' day'));
- $month_start = date('Y-m', strtotime('-'.$m.' month -'.$d.' day')); $month_start .= "-01";
- $month_end = date('Y-m', strtotime('-'.$m.' month -'.$d.' day')); $month_end .= "-31";
+ $month = $this->current_month - $m;
+ $year = $this->current_year;
+ if($month <= 0) { $remainder = $month; $month = 12 + $remainder; $year=$year-1; }
+ if($month < 10) { $month = "0"."$month"; }
+ $month_start = "$year"."-"."$month"."-"."01";
+ $month_end = "$year"."-"."$month"."-"."31";
+ $month = "$month"."/"."$year";
$sql = "SELECT * FROM eq_ppi WHERE date >= '$month_start' AND date <= '$month_end' ".
- "AND elder=" . $elder_id . " AND eqpresppi=0";
+ "AND elder=" . $elder_id . " AND aaronic=" . $aaronic_id . " AND eqpresppi=0";
$this->db2->query($sql,__LINE__,__FILE__);
$header_row .= "$month ";
}
if(!$total_ppis[$m]) { $total_ppis[$m] = 0; }
if($this->db2->next_record()) {
- $ppis[$m]++; $total_ppis[$m]++;
+ if(!$ppi_recorded[$companionship][$m]) {
+ $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'] = $elder_id;
+ $link_data['aaronic'] = $aaronic_id;
$link_data['name'] = $name;
$link_data['ppi'] = $this->db2->f('ppi');
$link_data['eqpresppi'] = $eqpresppi;
@@ -972,12 +1199,7 @@ class eq
$month = $date_array[1];
$day = $date_array[2];
$link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
-
- if($aaronic_id == 0) {
- $table_data .= ' '.$month.'-'.$day.' ';
- } else {
- $table_data .= ' ';
- }
+ $table_data .= ' '.$month.'-'.$day.' ';
}
else { $table_data .= " "; }
}
@@ -988,7 +1210,7 @@ class eq
}
// Now add Elders not assigned to any companionship to the table if we are in eqpresppi mode
if($eqpresppi == 1) {
- $table_data .= "Unassigned Potential Home Teachers ";
+ $table_data .= "Unassigned Potential Home Teachers ";
foreach($elders as $elder_id => $value) {
$sql = "SELECT * FROM eq_companionship where valid=1 and elder=".$elder_id;
$this->db->query($sql,__LINE__,__FILE__);
@@ -1083,10 +1305,11 @@ class eq
$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_district where valid=1 ORDER BY district ASC";
$this->db->query($sql,__LINE__,__FILE__);
while ($this->db->next_record())
@@ -1113,6 +1336,7 @@ class eq
" ppi='" . $ppi . "'" .
", interviewer='" . $interviewer . "'" .
", elder='" . $elder . "'" .
+ ", aaronic='" . $aaronic . "'" .
", date='" . $date . "'" .
", notes='" . $notes . "'" .
", eqpresppi='" . $eqpresppi . "'" .
@@ -1124,8 +1348,8 @@ class eq
if($action == 'insert')
{
$notes = $this->db->db_addslashes(get_var('notes',array('POST')));
- $this->db->query("INSERT INTO eq_ppi (interviewer,elder,date,notes,eqpresppi) "
- . "VALUES ('" . $interviewer . "','" . $elder . "','"
+ $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;
@@ -1138,6 +1362,7 @@ class eq
$this->t->set_var('interviewer', $interviewer);
$this->t->set_var('name',$name);
$this->t->set_var('elder',$elder);
+ $this->t->set_var('aaronic',$aaronic);
$this->t->set_var('date','');
$this->t->set_var('notes','');
$this->t->set_var('eqpresppi',$eqpresppi);
@@ -1156,6 +1381,7 @@ class eq
$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'));
$this->t->set_var('eqpresppi',$this->db->f('eqpresppi'));
@@ -1694,6 +1920,223 @@ class eq
$this->save_sessiondata();
}
+ function dir_view()
+ {
+ $this->t->set_file(array('dir_view_t' => 'dir_view.tpl'));
+ $this->t->set_block('dir_view_t','dir_list','list');
+
+ $sql = "SELECT * FROM eq_parent where valid=1 ORDER BY name ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $i=0;
+ while ($this->db->next_record())
+ {
+ $parent[$i]['id'] = $this->db->f('parent');
+ $parent[$i]['name'] = $this->db->f('name');
+ $parent[$i]['phone'] = $this->db->f('phone');
+ $parent[$i]['address'] = $this->db->f('address');
+ $i++;
+ }
+
+ for ($i=0; $i < count($parent); $i++)
+ {
+ $name = $parent[$i]['name'];
+ $phone = $parent[$i]['phone'];
+ $address = $parent[$i]['address'];
+ $this->t->set_var('name', $name);
+ $this->t->set_var('address', $address);
+ $this->t->set_var('phone', $phone);
+ $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
+ $this->t->set_var('tr_color',$tr_color);
+ $this->t->fp('list','dir_list',True);
+ //print "$phone $name $address ";
+ }
+ $this->t->pfp('out','dir_view_t');
+ $this->save_sessiondata();
+ }
+
+ 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');
+
+ # Display a list ordered alphabetically
+ $sql = "SELECT * FROM eq_calling ORDER BY name ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $i=0;
+ while ($this->db->next_record())
+ {
+ $calling[$i]['id'] = $this->db->f('indiv_id');
+ $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('list1','calling_list',True);
+ }
+
+ # Display a list ordered by organization
+ $sql = "SELECT * FROM eq_calling ORDER BY sequence ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $i=0;
+ while ($this->db->next_record())
+ {
+ $calling[$i]['id'] = $this->db->f('indiv_id');
+ $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->pfp('out','org_view_t');
+ $this->save_sessiondata();
+ }
+
+ function admin()
+ {
+ $this->t->set_file(array('admin_t' => 'admin.tpl'));
+ $this->t->set_block('admin_t','upload','uploadhandle');
+ $this->t->set_block('admin_t','admin','adminhandle');
+ $this->t->set_block('admin_t','cmd','cmdhandle');
+
+ $this->t->set_var('upload_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.admin&action=upload'));
+
+ $action = get_var('action',array('GET','POST'));
+
+ $this->t->pfp('out','admin_t');
+
+ if($action == 'upload')
+ {
+ $target_path = $this->upload_target_path . basename( $_FILES['uploadedfile']['name']);
+
+ if(($_FILES['uploadedfile']['type'] == "application/zip") &&
+ (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))) {
+ $uploadstatus = "The following file was uploaded successfully: ";
+ $uploadstatus.= "Filename : " . $_FILES['uploadedfile']['name'] . " ";
+ $uploadstatus.= "Type : " . $_FILES['uploadedfile']['type'] . " ";
+ $uploadstatus.= "Size : " . $_FILES['uploadedfile']['size'] . " ";
+ $this->t->set_var('uploadstatus',$uploadstatus);
+ $this->t->pfp('uploadhandle','upload');
+ $this->t->set_var('uploadhandle','');
+ print "\n";
+
+ # make a directory for this data to be stored in
+ $date="data_" . date("Y_m_d");
+ $data_dir = $this->upload_target_path . $date;
+ print "-> Making the data directory: $date \n";
+ exec('mkdir ' . $data_dir . ' 2>&1', $result, $return_code);
+ if($return_code != 0) {
+ print implode('\n',$result) . " ";
+ print "";
+ print "-E- Unable to create the data directory. Aborting import.";
+ print " ";
+ return 0;
+ }
+
+ # move the file uploaded into this directory
+ print "-> Moving the uploaded file into the data dir \n";
+ exec('mv ' . $target_path . ' ' . $data_dir . '/' . ' 2>&1', $result, $return_code);
+ if($return_code != 0) {
+ print implode('\n',$result) . " ";
+ print "";
+ print "-E- Unable to move the uploaded file into the data dir. Aborting import.";
+ print " ";
+ return 0;
+ }
+
+ # 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);
+ if($return_code != 0) {
+ print implode('\n',$result) . " ";
+ print "";
+ print "-E- Unable to unzip the uploaded file into the data dir. Aborting import.";
+ print " ";
+ return 0;
+ }
+ exec('mv ' . $data_dir . '/*/* '. $data_dir . ' 2>&1', $result, $return_code);
+
+ # update the data_latest link to point to this new directory
+ print "-> Updating the latest data dir link \n";
+ $data_latest = $this->upload_target_path . 'data_latest';
+ exec('rm ' . $data_latest. '; ln -s ' . $data_dir .' '. $data_latest .' 2>&1', $result, $return_code);
+ if($return_code != 0) {
+ print implode('\n',$result) . " ";
+ print "";
+ print "-E- Unable to update the data latest link. Aborting import.";
+ print " ";
+ return 0;
+ }
+
+ # run the import perl script to encorporate it into the DB
+ ob_start('ob_logstdout', 2);
+ print "-> Importing the data into the EQ database \n";
+ ob_flush(); flush(); sleep(1);
+ $import_log = $this->upload_target_path . '/import.log';
+ $data_log = $this->upload_target_path . '/data.log';
+ $import_cmd = $this->script_path . 'import_ward_data ' . $data_latest . ' | tee ' . $import_log;
+ $parse_cmd = $this->script_path . 'parse_ward_data -v ' . $data_latest . ' > ' . $data_log;
+ #print "import_cmd: $import_cmd ";
+ #print "parse_cmd: $parse_cmd ";
+ ob_start('ob_logstdout', 2);
+ passthru($import_cmd);
+ passthru($parse_cmd);
+ ob_flush(); flush(); sleep(1);
+
+ # fix the permissions of the data dir
+ exec('chmod -R o-rwx ' . $data_dir, $result, $return_code);
+
+ $this->t->pfp('cmdhandle','cmd');
+ print "
";
+
+ } else if($_FILES['uploadedfile']['type'] != "application/zip") {
+ $uploadstatus = "The file format must be a .zip file, please try again! ";
+ $this->t->set_var('uploadstatus',$uploadstatus);
+
+ } else {
+ $uploadstatus = " There was an error (" . $_FILES['uploadedfile']['error'];
+ $uploadstatus.= ") uploading the file, please try again! ";
+ $this->t->set_var('uploadstatus',$uploadstatus);
+ }
+ }
+ else
+ {
+ $this->t->set_var('adminhandle','');
+ $this->t->pfp('adminhandle','admin');
+ }
+
+ $this->save_sessiondata();
+ }
+
}
?>