X-Git-Url: http://git.pippins.net/embedvideo/.git/static/gitweb.js?a=blobdiff_plain;f=inc%2Fclass.eq.inc.php;h=7a2950416231f125f6c025c7a278d52da475cebd;hb=ba7689ffe6f631a530dab35443035c7db3d505f2;hp=0512ca0c74d492a201e542759d9edafefd8c81ca;hpb=fe1acd0acba1dabf6685fed613bf21f967c2b25d;p=eq%2F.git
diff --git a/inc/class.eq.inc.php b/inc/class.eq.inc.php
index 0512ca0..7a29504 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,19 +38,26 @@ class eq
'par_view' => True,
'ppi_view' => True,
'ppi_update' => True,
+ 'ppi_sched' => True,
+ 'vis_sched' => True,
'vis_view' => True,
'vis_update' => True,
'att_view' => True,
'att_update' => True,
- 'dir_view' => True
+ 'dir_view' => True,
+ 'org_view' => True,
+ 'schedule' => 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;
@@ -64,6 +75,14 @@ class eq
$GLOBALS['phpgw_info']['flags']['app_header'] = 'Elders Quorum Tools';
$GLOBALS['phpgw']->common->phpgw_header();
+
+ $this->current_day = `date '+%d'`;
+ $this->current_day = $this->current_day-0; // Make it numeric
+ $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();
}
@@ -109,6 +128,15 @@ class eq
$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');
+ $link_data['menuaction'] = 'eq.eq.schedule';
+ $this->t->set_var('link_schedule',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+ $this->t->set_var('lang_schedule','Scheduling');
$this->t->pparse('out','eq_header');
}
@@ -128,7 +156,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;
@@ -216,6 +244,7 @@ class eq
// 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())
@@ -229,10 +258,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' ".
@@ -328,7 +361,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())
@@ -344,7 +377,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__);
@@ -439,6 +474,7 @@ class eq
// 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())
{
@@ -821,7 +857,539 @@ 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','elderlist');
+ $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','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=500; $phone_width=25; $pri_width=10; $notes_width=128; $ppi_date_width=20;
+ $table_width=$elder_width + $phone_width + $pri_width + $notes_width + $ppi_date_width;
+ $header_row = "
Elder Name
";
+ $header_row.= "
Phone
";
+ $header_row.= "
Priority
";
+ $header_row.= "
Last PPI
";
+ $header_row.= "
Scheduling Notes
";
+ $table_data=""; $completed_data=""; $totals_data="";
+
+ $year = date('Y');
+
+ if($action == 'save')
+ {
+ // Save any changes made to the appointment table
+ $new_data = get_var('appt_notes',array('POST'));
+ foreach ($new_data as $entry)
+ {
+ $elder = $entry['elder'];
+ $appointment = $entry['appointment'];
+
+ //print "elder: $elder appointment: $appointment ";
+
+ // Perform database save actions here
+ $this->db->query("UPDATE eq_appointment set " .
+ " elder='" . $elder . "'" .
+ " WHERE appointment=" . $appointment,__LINE__,__FILE__);
+ }
+
+ // 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'];
+ $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);
+ }
+
+ // APPOINTMENT TABLE
+ $district = 1;
+ $date_width=150; $time_width=100; $elder_width=200;
+ $appt_table_width=$date_width + $time_width + $elder_width;
+ $appt_header_row = "
Date
";
+ $appt_header_row.= "
Time
";
+ $appt_header_row.= "
Elder
";
+ $appt_table_data = "";
+
+ // create the elder id -> elder name mapping
+ $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY name ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $i=0;
+ $elder_id = NULL;
+ $elder_name = NULL;
+ while ($this->db->next_record())
+ {
+ $elder_name[$i] = $this->db->f('name');
+ $elder_id[$i] = $this->db->f('elder');
+ $i++;
+ }
+ array_multisort($elder_name, $elder_id);
+
+ // query the database for all the appointments
+ $sql = "SELECT * FROM eq_appointment where district=$district and date>=CURDATE() ORDER BY date ASC, time ASC";
+ $this->db->query($sql,__LINE__,__FILE__);
+
+ while ($this->db->next_record())
+ {
+ $appointment = $this->db->f('appointment');
+ $elder = $this->db->f('elder');
+
+ $date = $this->db->f('date');
+ $date_array = explode("-",$date);
+ $year = $date_array[0]; $month = $date_array[1]; $day = $date_array[2];
+ $day_string = date("l d-M-Y", mktime(0,0,0,$month,$day,$year));
+
+ $time = $this->db->f('time');
+ $time_array = explode(":",$time);
+ $time_string = date("g:i a", mktime($time_array[0], $time_array[1], $time_array[2]));
+
+ $appt_table_data.= "
";
+ $appt_table_data.= "
$day_string
";
+ $appt_table_data.= "
$time_string
";
+
+ $appt_table_data.= '
';
+
+ $appt_table_data.= '';
+
+ $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
+ $this->t->set_var('tr_color',$tr_color);
+ }
+
+ $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);
+
+
+ // PPI SCHEDULING TABLE
+ $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()) {
+ $sql = "SELECT * FROM eq_ppi WHERE elder=" . $id . " AND eqpresppi=1 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.ppi_update';
+ $link_data['elder'] = $id;
+ $link_data['aaronic'] = 0;
+ $link_data['name'] = $name;
+ $link_data['ppi'] = '';
+ $link_data['eqpresppi'] = 1;
+ $link_data['action'] = 'add';
+ $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+ $table_data.= "