From abf09ae712c55d6e251ffd4a89dc63faa64b971a Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Sat, 11 Sep 2010 12:04:21 -0600 Subject: [PATCH] started changing app name to 3rd, changing file names to not have eq in them changed 3rd_elder to 3rd_indivi, removed as many references to elder as I could removed more instances of 'EQ' --- 3rd.spec | 4 +- bin/import_ward_data | 98 +-- bin/upgrade_4_0_to_5_0 | 44 +- doc/credits.txt | 2 +- doc/install.txt | 34 +- inc/class.eq.inc.php | 858 +++++++++++++-------------- inc/functions.inc.php | 2 +- inc/hook_add_def_pref.inc.php | 2 +- inc/hook_admin.inc.php | 2 +- inc/hook_preferences.inc.php | 4 +- index.php | 4 +- setup/{eq_config => 3rd_config} | 0 setup/db_config | 2 +- setup/setup.inc.php | 6 +- sql/3rd.jpg | Bin 181451 -> 186659 bytes sql/3rd.sql | 32 +- sql/schema.dot | 42 +- templates/default/act_update.tpl | 8 +- templates/default/act_view.tpl | 4 +- templates/default/att_update.tpl | 12 +- templates/default/att_view.tpl | 20 +- templates/default/int_sched.tpl | 6 +- templates/default/int_update.tpl | 2 +- templates/default/par_view.tpl | 12 +- templates/default/ppi_sched.tpl | 6 +- templates/default/ppi_update.tpl | 2 +- templates/default/schedule.tpl | 2 +- templates/default/vis_sched.tpl | 6 +- templates/default/willing_update.tpl | 4 +- templates/default/willing_view.tpl | 12 +- 30 files changed, 635 insertions(+), 597 deletions(-) rename setup/{eq_config => 3rd_config} (100%) diff --git a/3rd.spec b/3rd.spec index a1e16b6..ead87f5 100644 --- a/3rd.spec +++ b/3rd.spec @@ -12,7 +12,7 @@ %define httpdroot /home/httpd/html/phpgroupware %define packaging 1 -Summary: Tools for Managing an Elders Quorum app for phpGroupWare. +Summary: Tools for Managing a Priesthood Quorum app for phpGroupWare. Name: %{packagename} Version: %{version} Release: %{packaging} @@ -27,7 +27,7 @@ requires: phpgroupware >= 0.9.10 AutoReq: 0 %description -This is an Elders Quorum Presidency Application. +This is an Priesthood Quorum Presidency Application. %prep %setup -n %{phpgwdirname} diff --git a/bin/import_ward_data b/bin/import_ward_data index 13e6a0e..b42a755 100755 --- a/bin/import_ward_data +++ b/bin/import_ward_data @@ -163,11 +163,11 @@ sub update_3rd_aaronic_table $sth->finish(); } -# 3RD_ELDER +# 3RD_INDIV #+-------------+------------------+------+-----+---------+----------------+ #| Field | Type | Null | Key | Default | Extra | #+-------------+------------------+------+-----+---------+----------------+ -#| elder | int(16) unsigned | | PRI | NULL | auto_increment | +#| indiv | int(16) unsigned | | PRI | NULL | auto_increment | #| indiv_id | int(16) unsigned | | | NULL | | #| name | varchar(60) | YES | | NULL | | #| phone | varchar(12) | YES | | NULL | | @@ -180,12 +180,12 @@ sub update_3rd_aaronic_table #| attending | tinyint(1) | YES | | 0 | | #| valid | tinyint(1) | YES | | NULL | | #+-------------+------------------+------+-----+---------+----------------+ -sub update_3rd_elder_table +sub update_3rd_indiv_table { - print "\n-> Updating 3rd_elder table\n"; + print "\n-> Updating 3rd_indiv table\n"; # Set all records to be invalid. Only mark them as valid if they appear on the new list. - $sth = $dbh->prepare("update 3rd_elder set valid=0"); + $sth = $dbh->prepare("update 3rd_indiv set valid=0"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; foreach $index (keys %membership_data) @@ -214,7 +214,7 @@ sub update_3rd_elder_table } $id = $membership_data{$index}{'Indiv ID'}; - $elder_name = $membership_data{$index}{'Preferred Name'}; + $indiv_name = $membership_data{$index}{'Preferred Name'}; $phone = $membership_data{$index}{'Household Phone'}; $priesthood = $membership_data{$index}{'Priesthood'}; $organization = $organization_by_id{$id}; @@ -226,40 +226,40 @@ sub update_3rd_elder_table ) { $attending = 1; } if($phone =~ /(\d\d\d-\d\d\d\d)/) { $phone = "$areacode-$1"; } if($phone =~ /^\(\d\d\d\) (\d\d\d-\d\d\d\d)/) { $phone = "$1-$2"; } - $email = $membership_data{$index}{'Individual E-mail'}; + $email = $membership_data{$index}{'indiv E-mail'}; if ($email eq "") { $email = $membership_data{$index}{'Household E-mail'}; } - $sth = $dbh->prepare("select * from 3rd_elder where name='$elder_name'"); + $sth = $dbh->prepare("select * from 3rd_indiv where name='$indiv_name'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; my @data = (); while($sqlhashref = $sth->fetchrow_hashref) { push(@data, $sqlhashref); } my $rows = scalar @data; if($rows == 0) { - # No existing records found for this elder, make a new entry - print " Adding new Elder: $elder_name\n"; - $sth = $dbh->prepare("insert into 3rd_elder values (NULL,'$id','$elder_name','$phone','$email','$priesthood','n','1','','1','',$attending,1)"); + # No existing records found for this indiv, make a new entry + print " Adding new indiv: $indiv_name\n"; + $sth = $dbh->prepare("insert into 3rd_indiv values (NULL,'$id','$indiv_name','$phone','$email','$priesthood','n','1','','1','',$attending,1)"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; } elsif($rows == 1) { - # An existing record was found for this elder, update it - print " Updating existing Elder: $elder_name\n"; - $sth = $dbh->prepare("update 3rd_elder set valid=1 where name='$elder_name'"); + # An existing record was found for this indiv, update it + print " Updating existing indiv: $indiv_name\n"; + $sth = $dbh->prepare("update 3rd_indiv set valid=1 where name='$indiv_name'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; if($phone ne "") { - $sth = $dbh->prepare("update 3rd_elder set phone='$phone' where name='$elder_name'"); + $sth = $dbh->prepare("update 3rd_indiv set phone='$phone' where name='$indiv_name'"); } else { - $sth = $dbh->prepare("update 3rd_elder set phone=NULL where name='$elder_name'"); + $sth = $dbh->prepare("update 3rd_indiv set phone=NULL where name='$indiv_name'"); } $sth->execute or die "-E- DB error: $DBI::errstr\n"; - $sth = $dbh->prepare("update 3rd_elder set attending='$attending' where name='$elder_name'"); + $sth = $dbh->prepare("update 3rd_indiv set attending='$attending' where name='$indiv_name'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; - $sth = $dbh->prepare("update 3rd_elder set indiv_id='$id' where name='$elder_name'"); + $sth = $dbh->prepare("update 3rd_indiv set indiv_id='$id' where name='$indiv_name'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; - $sth = $dbh->prepare("update 3rd_elder set priesthood='$priesthood' where name='$elder_name'"); + $sth = $dbh->prepare("update 3rd_indiv set priesthood='$priesthood' where name='$indiv_name'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; - $sth = $dbh->prepare("update 3rd_elder set email='$email' where name='$elder_name'"); + $sth = $dbh->prepare("update 3rd_indiv set email='$email' where name='$indiv_name'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; } else { # More than one record was found. Error! This shouldn't happen. - print " -E- More than one record found ($rows) for Elder: $elder_name\n"; + print " -E- More than one record found ($rows) for indiv: $indiv_name\n"; } } } @@ -328,10 +328,10 @@ sub update_3rd_district_table while($sqlhashref = $sth->fetchrow_hashref) { $supervisor_name = $sqlhashref->{name}; $district = $sqlhashref->{district}; - $sth2 = $dbh->prepare("select * from 3rd_elder where name='$supervisor_name'"); + $sth2 = $dbh->prepare("select * from 3rd_indiv where name='$supervisor_name'"); $sth2->execute or die "-E- DB error: $DBI::errstr\n"; $sqlhashref2 = $sth2->fetchrow_hashref; - $supervisor_id = $sqlhashref2->{elder}; + $supervisor_id = $sqlhashref2->{indiv}; $sth2->finish(); $sth2 = $dbh->prepare("update 3rd_district set supervisor='$supervisor_id' where district='$district'"); $sth2->execute or die "-E- DB error: $DBI::errstr\n"; @@ -345,7 +345,7 @@ sub update_3rd_district_table #| Field | Type | Null | Key | Default | Extra | #+---------------+------------------+------+-----+---------+-------+ #| companionship | int(16) unsigned | | | 0 | | -#| elder | int(16) unsigned | YES | | NULL | | +#| indiv | int(16) unsigned | YES | | NULL | | #| aaronic | int(16) unsigned | YES | | NULL | | #| district | int(16) unsigned | YES | | NULL | | #| valid | tinyint(1) | YES | | NULL | | @@ -367,47 +367,47 @@ sub update_3rd_companionship_table foreach $key (keys %$hashref) { if($key =~ /Quorum/i && $hometeaching_data{$index}{$key} =~ /Elders/i) { foreach $field ("Home Teacher 1","Home Teacher 2") { - $elder_name = $hometeaching_data{$index}{$field}; - if($elder_name eq "") { next; } - $sth2 = $dbh->prepare("select * from 3rd_elder where name='$elder_name'"); + $indiv_name = $hometeaching_data{$index}{$field}; + if($indiv_name eq "") { next; } + $sth2 = $dbh->prepare("select * from 3rd_indiv where name='$indiv_name'"); $sth2->execute or die "-E- DB error: $DBI::errstr\n"; $sqlhashref2 = $sth2->fetchrow_hashref; - $elder = $sqlhashref2->{elder}; + $indiv = $sqlhashref2->{indiv}; $aaronic = "NULL"; - if($elder eq "") { - $sth2 = $dbh->prepare("select * from 3rd_aaronic where name='$elder_name'"); + if($indiv eq "") { + $sth2 = $dbh->prepare("select * from 3rd_aaronic where name='$indiv_name'"); $sth2->execute or die "-E- DB error: $DBI::errstr\n"; $sqlhashref2 = $sth2->fetchrow_hashref; $aaronic = $sqlhashref2->{aaronic}; - $elder = "NULL"; - if($aaronic eq "") { print "-W- Unable to find $elder_name in 3rd_elder or 3rd_aaronic tables\n"; next; } + $indiv = "NULL"; + if($aaronic eq "") { print "-W- Unable to find $indiv_name in 3rd_indiv or 3rd_aaronic tables\n"; next; } } $id = $hometeaching_data{$index}{'Comp ID'}; $district = $hometeaching_data{$index}{'HT District'}; - $sth = $dbh->prepare("select * from 3rd_companionship where elder='$elder' and aaronic='$aaronic' and companionship='$id'"); + $sth = $dbh->prepare("select * from 3rd_companionship where indiv='$indiv' and aaronic='$aaronic' and companionship='$id'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; my @data = (); while($sqlhashref = $sth->fetchrow_hashref) { push(@data, $sqlhashref); } my $rows = scalar @data; if($rows == 0) { # No existing records found for this companionship, make a new entry - print " Adding Companion to companionship: $elder_name -> $id\n"; - $sth = $dbh->prepare("insert into 3rd_companionship values ($id,'$elder','$aaronic','$district',1)"); + print " Adding Companion to companionship: $indiv_name -> $id\n"; + $sth = $dbh->prepare("insert into 3rd_companionship values ($id,'$indiv','$aaronic','$district',1)"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; } else { # An existing companionship was found for this companionship, update it $sth2 = $dbh->prepare("select * from 3rd_companionship where district='$district' and companionship='$id'"); $sth2->execute or die "-E- DB error: $DBI::errstr\n"; - if($elder ne "NULL") { - print " Updating Companionship with Elder: $elder_name ($elder) -> $id\n"; - $sth = $dbh->prepare("update 3rd_companionship set district='$district' where elder='$elder' and companionship='$id'"); + if($indiv ne "NULL") { + print " Updating Companionship with indiv: $indiv_name ($indiv) -> $id\n"; + $sth = $dbh->prepare("update 3rd_companionship set district='$district' where indiv='$indiv' and companionship='$id'"); $sth->execute or die "-E- DB error 'district': $DBI::errstr\n"; - $sth = $dbh->prepare("update 3rd_companionship set elder='$elder' where elder='$elder' and companionship='$id'"); - $sth->execute or die "-E- DB error 'elder': $DBI::errstr\n"; - $sth = $dbh->prepare("update 3rd_companionship set valid=1 where elder='$elder' and companionship='$id'"); + $sth = $dbh->prepare("update 3rd_companionship set indiv='$indiv' where indiv='$indiv' and companionship='$id'"); + $sth->execute or die "-E- DB error 'indiv': $DBI::errstr\n"; + $sth = $dbh->prepare("update 3rd_companionship set valid=1 where indiv='$indiv' and companionship='$id'"); $sth->execute or die "-E- DB error 'valid': $DBI::errstr\n"; } else { - print " Updating Companionship with Aaronic: $elder_name ($aaronic) -> $id\n"; + print " Updating Companionship with Aaronic: $indiv_name ($aaronic) -> $id\n"; $sth = $dbh->prepare("update 3rd_companionship set district='$district' where aaronic='$aaronic' and companionship='$id'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; $sth = $dbh->prepare("update 3rd_companionship set aaronic='$aaronic' where aaronic='$aaronic' and companionship='$id'"); @@ -434,7 +434,7 @@ sub update_3rd_companionship_table #| hofh_id | int(16) unsigned | YES | | NULL | | #| name | varchar(30) | YES | | NULL | | #| name_id | varchar(30) | YES | | NULL | | -#| elder_id | int(16) unsigned | YES | | NULL | | +#| indiv_id | int(16) unsigned | YES | | NULL | | #| companionship | int(16) unsigned | YES | | NULL | | #| visit_pri | int(10) unsigned | YES | | 1 | | #| visit_notes | varchar(128) | YES | | NULL | | @@ -484,13 +484,13 @@ sub update_3rd_family_table print " -E- More than one record found ($rows) for family name: $family_name\n"; } - # Now update the elder_id field for this family - $sth = $dbh->prepare("select * from 3rd_elder WHERE name='$family_name'"); + # Now update the indiv_id field for this family + $sth = $dbh->prepare("select * from 3rd_indiv WHERE name='$family_name'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; while($sqlhashref = $sth->fetchrow_hashref) { - $elder_id = $sqlhashref->{elder}; - print " Updating family elder_id: $family_name -> $elder_id\n"; - $sth = $dbh->prepare("update 3rd_family set elder_id=$elder_id where name_id='$name_id'"); + $indiv_id = $sqlhashref->{indiv}; + print " Updating family indiv_id: $family_name -> $indiv_id\n"; + $sth = $dbh->prepare("update 3rd_family set indiv_id=$indiv_id where name_id='$name_id'"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; } @@ -897,7 +897,7 @@ if($opt_s) { $dbh->disconnect(); exit; } # Now update the various eq DB tables &update_3rd_calling_table(); -&update_3rd_elder_table(); +&update_3rd_indiv_table(); &update_3rd_aaronic_table(); &update_3rd_district_table(); &update_3rd_companionship_table(); diff --git a/bin/upgrade_4_0_to_5_0 b/bin/upgrade_4_0_to_5_0 index da1e8da..7836351 100755 --- a/bin/upgrade_4_0_to_5_0 +++ b/bin/upgrade_4_0_to_5_0 @@ -27,6 +27,10 @@ $sth->execute or die "-E- DB error: $DBI::errstr\n"; $sth = $dbh->prepare("RENAME TABLE `eq_appointment` TO `3rd_appointment`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; +# Change elder field in 3rd_appointment table to indiv +$sth = $dbh->prepare("ALTER TABLE `3rd_appointment` CHANGE `elder` `indiv` INT(16)"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + # Rename eq_assignment table to 3rd_assignment $sth = $dbh->prepare("RENAME TABLE `eq_assignment` TO `3rd_assignment`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; @@ -35,6 +39,10 @@ $sth->execute or die "-E- DB error: $DBI::errstr\n"; $sth = $dbh->prepare("RENAME TABLE `eq_attendance` TO `3rd_attendance`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; +# Change elder field in 3rd_attendance table to indiv +$sth = $dbh->prepare("ALTER TABLE `3rd_attendance` CHANGE `elder` `indiv` INT(16)"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + # Rename eq_calling table to 3rd_calling $sth = $dbh->prepare("RENAME TABLE `eq_calling` TO `3rd_calling`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; @@ -47,22 +55,34 @@ $sth->execute or die "-E- DB error: $DBI::errstr\n"; $sth = $dbh->prepare("RENAME TABLE `eq_companionship` TO `3rd_companionship`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; +# Change elder field in 3rd_companionship table to indiv +$sth = $dbh->prepare("ALTER TABLE `3rd_companionship` CHANGE `elder` `indiv` INT(16)"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + # Rename eq_district table to 3rd_district $sth = $dbh->prepare("RENAME TABLE `eq_district` TO `3rd_district`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; -# Rename eq_elder table to 3rd_elder -$sth = $dbh->prepare("RENAME TABLE `eq_elder` TO `3rd_elder`"); +# Rename eq_elder table to 3rd_indiv +$sth = $dbh->prepare("RENAME TABLE `eq_elder` TO `3rd_indiv`"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + +# Add a new 'propective' field to the 3rd_indiv table +$sth = $dbh->prepare("ALTER TABLE `3rd_indiv` ADD `prospective` enum('y','n') NULL AFTER `priesthood`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; -# Add a new 'propective' field to the 3rd_elder table -$sth = $dbh->prepare("ALTER TABLE `3rd_elder` ADD `prospective` enum('y','n') NULL AFTER `priesthood`"); +# Change elder field in 3rd_indiv table to indiv +$sth = $dbh->prepare("ALTER TABLE `3rd_indiv` CHANGE `elder` `indiv` INT(16)"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; # Rename eq_family table to 3rd_family $sth = $dbh->prepare("RENAME TABLE `eq_family` TO `3rd_family`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; +# Change elder_id field in 3rd_family table to indiv_id +$sth = $dbh->prepare("ALTER TABLE `3rd_family` CHANGE `elder_id` `indiv_id` INT(16)"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + # Rename eq_parent table to 3rd_parent $sth = $dbh->prepare("RENAME TABLE `eq_parent` TO `3rd_parent`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; @@ -71,10 +91,18 @@ $sth->execute or die "-E- DB error: $DBI::errstr\n"; $sth = $dbh->prepare("RENAME TABLE `eq_participation` TO `3rd_participation`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; +# Change elder field in 3rd_participation table to indiv +$sth = $dbh->prepare("ALTER TABLE `3rd_participation` CHANGE `elder` `indiv` INT(16)"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + # Rename eq_ppi table to 3rd_interview $sth = $dbh->prepare("RENAME TABLE `eq_ppi` TO `3rd_interview`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; +# Change elder field in 3rd_interview table to indiv +$sth = $dbh->prepare("ALTER TABLE `3rd_interview` CHANGE `elder` `indiv` INT(16)"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + # Change ppi field in 3rd_interview table to interview $sth = $dbh->prepare("ALTER TABLE `3rd_interview` CHANGE `ppi` `interview` INT(16)"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; @@ -95,6 +123,10 @@ $sth->execute or die "-E- DB error: $DBI::errstr\n"; $sth = $dbh->prepare("RENAME TABLE `eq_presidency` TO `3rd_presidency`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; +# Change elder field in 3rd_presidency table to indiv +$sth = $dbh->prepare("ALTER TABLE `3rd_presidency` CHANGE `elder` `indiv` INT(16)"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + # Rename eq_visit table to 3rd_visit $sth = $dbh->prepare("RENAME TABLE `eq_visit` TO `3rd_visit`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; @@ -119,6 +151,10 @@ $sth->execute or die "-E- DB error: $DBI::errstr\n"; $sth = $dbh->prepare("RENAME TABLE `eq_willingness` TO `3rd_willingness`"); $sth->execute or die "-E- DB error: $DBI::errstr\n"; +# Change elder field in 3rd_willingness table to indiv +$sth = $dbh->prepare("ALTER TABLE `3rd_willingness` CHANGE `elder` `indiv` INT(16)"); +$sth->execute or die "-E- DB error: $DBI::errstr\n"; + print "-> Done!\n"; ################################################### diff --git a/doc/credits.txt b/doc/credits.txt index 8b62ccd..e57fdcc 100644 --- a/doc/credits.txt +++ b/doc/credits.txt @@ -5,7 +5,7 @@ Alan Pippin v1.0, 19 July 2005 - Credits for Elders Quorum app + Credits for 3rd Counselor app _________________________________________________________________ Credits diff --git a/doc/install.txt b/doc/install.txt index 284da64..badc43c 100644 --- a/doc/install.txt +++ b/doc/install.txt @@ -1,11 +1,11 @@ -Elders Quorum Installation Guide +3rd Counselor Installation Guide Alan Pippin v1.0, 05 Jan 2008 - Steps for installing Elders Quroum app + Steps for installing 3rd Counselor app _________________________________________________________________ Getting and Installing @@ -13,10 +13,12 @@ Getting and Installing Downloading Can be downloaded from: - https://eq.pippins.net/eq.zip + http://github.com/apippin/3rd/downloads It can also be obtained via the GIT revision control system by pulling from here: - http://git.pippins.net/eq/.git + (ssh) git@github.com:apippin/3rd.git + (http) https://owenleonard@github.com/apippin/3rd.git + (git - read-only) git://github.com/apippin/3rd.git Dependencies @@ -28,36 +30,36 @@ Dependencies Installing - 1) Download the eq.tar file and extract it or GIT pull the archive into + 1) Download the tgz or zip file and extract it or GIT pull the archive into your base phpgroupware directory (like /usr/share/phpgroupware/). - 2) Setup the mysql table structures for the EQ application: - mysql -u -p < eq/sql/eq.sql + 2) Setup the mysql table structures for the 3rd Counselor application: + mysql -u -p < 3rd/sql/3rd.sql 3) Point your browser to: http://www.yourdomain.com/phpgroupware/setup The setup prog will autodetect this application. From there you will need to assign this app to the users you want to have be able to use it. Enable it for each user by going to Site Admin -> User Accounts -> -> edit - Make sure the "eq" application has a checkmark next to it under "Permissions this user has" + Make sure the "3rd" application has a checkmark next to it under "Permissions this user has" 4) Copy the setup/db_config to setup/db_config.local and change the values in .local appropriately. Check for syntax errors by running eq/bin/check_config_syntax - 5) Copy the setup/eq_config to setup/eq_config.local and change the values in .local appropriately. + 5) Copy the setup/3rd_config to setup/3rd_config.local and change the values in .local appropriately. Make sure you update the path locations for your specific installation locations: upload_target_path & application_path - Check for syntax errors by running eq/bin/check_config_syntax - 6) Try to run eq/bin/import_ward_data & parse_ward_data scripts from the commandline + Check for syntax errors by running 3rd/bin/check_config_syntax + 6) Try to run 3rd/bin/import_ward_data & parse_ward_data scripts from the commandline to check for any missing perl library dependencies and mysql connection. Just run them without command line args. Install the right perl modules until the scripts run without any errors. 7) A graphical representation of the mysql schema used by this application can - be found here: eq/sql/eq.jpg + be found here: 3rd/sql/3rd.jpg 8) Run mls/mlstrimmer.py or MLSFileTrimmer.exe to trim down the csv files and combine them into a zip file. If you run mls/mlstrimmer.py, you'll need to point it to mls/windowsGUI/MLSFileTrimmer/MLSRequiredFields.xml. If you choose to not use EQ\ Prospective\ Elders.mls or Home\ Teacher\ per\ Companionship.mls, you'll need to remove them from MLSRequiredFields.xml (probably best to just comment them out in case you decide to use them later) - 8) Click on the Admin tool in the EQ app to import your initial set of ward data - obtained from MLS into the EQ application. - 9) Click on the Admin tool and update the EQ Presidency Table appropriately. + 8) Click on the Admin tool in the 3rd Counselor app to import your initial set of ward data + obtained from MLS. + 9) Click on the Admin tool and update the Presidency Table appropriately. The most important thing at this point is to get your district leaders added for each district you have in your quorum. 10) I highly recommend installing phpmyadmin to view/edit/debug mysql tables related to this tool. @@ -67,7 +69,7 @@ Requirements The following csv files must be obtained from MLS (or a stripped down version of each csv with the fields indicated must be manually created). These files should be placed in 1 .zip file and uploaded to the application via the Admin - section of the EQ Tools application. + section of the application. Membership.csv: Preferred Name diff --git a/inc/class.eq.inc.php b/inc/class.eq.inc.php index 2c53def..2b16e7a 100644 --- a/inc/class.eq.inc.php +++ b/inc/class.eq.inc.php @@ -70,10 +70,10 @@ class eq function eq() { - if(file_exists("setup/eq_config.local")) { - include("setup/eq_config.local"); + if(file_exists("setup/3rd_config.local")) { + include("setup/3rd_config.local"); } else { - include("setup/eq_config"); + include("setup/3rd_config"); } $this->script_path = "$this->application_path"."/bin"; @@ -95,7 +95,7 @@ class eq mondayFirst : false, weekNumbers : false'; - $GLOBALS['phpgw_info']['flags']['app_header'] = 'Elders Quorum Tools - The 3rd Counselor'; + $GLOBALS['phpgw_info']['flags']['app_header'] = 'The 3rd Counselor'; $GLOBALS['phpgw']->common->phpgw_header(); $this->current_day = `date '+%d'`; @@ -202,22 +202,22 @@ class eq $i++; } - $sql = "SELECT * FROM 3rd_elder where valid=1 ORDER BY elder ASC"; + $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY indiv 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'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_phone[$indiv_id[$i]] = $this->db->f('phone'); $i++; } - array_multisort($elder_name, $elder_id); + array_multisort($indiv_name, $indiv_id); - // Make an array mapping elder_ids to elder_names - for($i=0; $i < count($elder_id); $i++) { - $id = $elder_id[$i]; - $elders[$id] = $elder_name[$i]; + // Make an array mapping indiv_ids to indiv_names + for($i=0; $i < count($indiv_id); $i++) { + $id = $indiv_id[$i]; + $indivs[$id] = $indiv_name[$i]; } $sql = "SELECT * FROM 3rd_aaronic where valid=1 ORDER BY aaronic ASC"; @@ -261,11 +261,11 @@ class eq // Get this companions information if($companion_table_entry != "") { $companion_table_entry .= " / "; } $companionship = $this->db->f('companionship'); - $elder_id = $this->db->f('elder'); + $indiv_id = $this->db->f('indiv'); $aaronic_id = $this->db->f('aaronic'); - if($elder_id) { - $name = $elders[$elder_id]; - $phone = $elder_phone[$elder_id]; + if($indiv_id) { + $name = $indivs[$indiv_id]; + $phone = $indiv_phone[$indiv_id]; } else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; @@ -454,22 +454,22 @@ class eq return false; } - $sql = "SELECT * FROM 3rd_elder where valid=1 ORDER BY elder ASC"; + $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY indiv 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'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_phone[$indiv_id[$i]] = $this->db->f('phone'); $i++; } - array_multisort($elder_name, $elder_id); + array_multisort($indiv_name, $indiv_id); - // Make an array mapping elder_ids to elder_names - for($i=0; $i < count($elder_id); $i++) { - $id = $elder_id[$i]; - $elders[$id] = $elder_name[$i]; + // Make an array mapping indiv_ids to indiv_names + for($i=0; $i < count($indiv_id); $i++) { + $id = $indiv_id[$i]; + $indivs[$id] = $indiv_name[$i]; } $sql = "SELECT * FROM 3rd_aaronic where valid=1 ORDER BY aaronic ASC"; @@ -505,11 +505,11 @@ class eq // Get this companions information if($companion_table_entry != "") { $companion_table_entry .= " / "; } $companionship = $this->db->f('companionship'); - $elder_id = $this->db->f('elder'); + $indiv_id = $this->db->f('indiv'); $aaronic_id = $this->db->f('aaronic'); - if($elder_id) { - $name = $elders[$elder_id]; - $phone = $elder_phone[$elder_id]; + if($indiv_id) { + $name = $indivs[$indiv_id]; + $phone = $indiv_phone[$indiv_id]; } else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; @@ -709,7 +709,7 @@ class eq $this->t->set_var('lang_edit','Edit'); $this->t->set_var('cal_date',$this->db->f('date')); - // Now find out which elders participated in this activity + // Now find out which indivs participated in this activity $sql = "SELECT * FROM 3rd_participation WHERE activity=" . intval(get_var('activity',array('GET','POST'))); $this->db->query($sql,__LINE__,__FILE__); $total_records = $this->db->num_rows(); @@ -717,13 +717,13 @@ class eq $i = 0; while ($this->db->next_record()) { - $part_list[$i]['elder'] = $this->db->f('elder'); + $part_list[$i]['indiv'] = $this->db->f('indiv'); $i++; } for ($i=0; $i < count($part_list); $i++) { - $sql = "SELECT * FROM 3rd_elder WHERE elder=" . $part_list[$i]['elder']; + $sql = "SELECT * FROM 3rd_indiv WHERE indiv=" . $part_list[$i]['indiv']; $this->db->query($sql,__LINE__,__FILE__); $this->db->next_record(); $names[$i] = $this->db->f('name'); @@ -732,7 +732,7 @@ class eq for ($i=0; $i < count($names); $i++) { //$this->nextmatchs->template_alternate_row_color(&$this->t); - $this->t->set_var('elder_name',$names[$i]); + $this->t->set_var('indiv_name',$names[$i]); if(($i+1) % 3 == 0) { $this->t->set_var('table_sep',""); } else { $this->t->set_var('table_sep',""); } if(($i) % 3 == 0) { $this->nextmatchs->template_alternate_row_color(&$this->t); } @@ -746,7 +746,7 @@ class eq function act_update() { $this->t->set_file(array('form' => 'act_update.tpl')); - $this->t->set_block('form','elder_list','list'); + $this->t->set_block('form','indiv_list','list'); $this->t->set_block('form','add','addhandle'); $this->t->set_block('form','edit','edithandle'); $this->t->set_var('lang_done','Done'); @@ -766,16 +766,16 @@ class eq ", notes='" . $activity['notes'] . "'" . " WHERE activity=" . $activity['activity'],__LINE__,__FILE__); - // Delete all the elders who have particiapted in this activity + // Delete all the individuals who have particiapted in this activity $this->db->query("DELETE from 3rd_participation where activity=".$activity['activity'],__LINE__,__FILE__); - // Re-add the elders who are checked as having participated in this activity - $elders = get_var('elder_name',array('POST')); - if(is_array($elders)) { // Only do the foreach loop if we have a valid array of elders to work with - foreach ($elders as $elder) + // Re-add the individuals who are checked as having participated in this activity + $indivs = get_var('indiv_name',array('POST')); + if(is_array($indivs)) { // Only do the foreach loop if we have a valid array of indivs to work with + foreach ($indivs as $indiv) { - $this->db->query("INSERT INTO 3rd_participation (elder,activity) " - . "VALUES (" . $elder . ",". $activity['activity'] . ")",__LINE__,__FILE__); + $this->db->query("INSERT INTO 3rd_participation (indiv,activity) " + . "VALUES (" . $indiv . ",". $activity['activity'] . ")",__LINE__,__FILE__); } } @@ -800,11 +800,11 @@ class eq $activity['activity'] = $this->db->f('activity'); } - $elders = get_var('elder_name',array('POST')); - foreach ($elders as $elder) + $indivs = get_var('indiv_name',array('POST')); + foreach ($indivs as $indiv) { - $this->db->query("INSERT INTO 3rd_participation (elder,activity) " - . "VALUES (" . $elder . ",". $activity['activity'] . ")",__LINE__,__FILE__); + $this->db->query("INSERT INTO 3rd_participation (indiv,activity) " + . "VALUES (" . $indiv . ",". $activity['activity'] . ")",__LINE__,__FILE__); } $this->act_list(); @@ -864,36 +864,36 @@ class eq $assignment_data.=''; $this->t->set_var('assignment_data',$assignment_data); - // Create elder selection boxes - $sql = "SELECT * FROM 3rd_elder"; + // Create individual selection boxes + $sql = "SELECT * FROM 3rd_indiv"; $this->db->query($sql,__LINE__,__FILE__); $i=0; while ($this->db->next_record()) { if($this->db->f('valid') == 1 || $action != 'add') { - $elder_name[$i] = $this->db->f('name'); - $elder_id[$i] = $this->db->f('elder'); - $elder_valid[$i] = $this->db->f('valid'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_valid[$i] = $this->db->f('valid'); $i++; } } - array_multisort($elder_name, $elder_id, $elder_valid); + array_multisort($indiv_name, $indiv_id, $indiv_valid); $j=0; - for ($i=0; $i < count($elder_id); $i++) + for ($i=0; $i < count($indiv_id); $i++) { //$this->nextmatchs->template_alternate_row_color(&$this->t); - $sql = "SELECT * FROM 3rd_participation where activity=". $activity['activity'] . " AND elder=" . $elder_id[$i]; + $sql = "SELECT * FROM 3rd_participation where activity=". $activity['activity'] . " AND indiv=" . $indiv_id[$i]; $this->db->query($sql,__LINE__,__FILE__); if($this->db->next_record()) { $this->t->set_var('checked','checked'); $checked=1; } else { $this->t->set_var('checked',''); $checked=0; } - if($checked || $elder_valid[$i] == 1) { - $this->t->set_var('elder_name',$elder_name[$i]); - $this->t->set_var('elder',$elder_id[$i]); + if($checked || $indiv_valid[$i] == 1) { + $this->t->set_var('indiv_name',$indiv_name[$i]); + $this->t->set_var('indiv',$indiv_id[$i]); if(($j+1) % 3 == 0) { $this->t->set_var('table_sep',""); } else { $this->t->set_var('table_sep',""); } if(($j) % 3 == 0) { $this->nextmatchs->template_alternate_row_color(&$this->t); } - $this->t->fp('list','elder_list',True); + $this->t->fp('list','indiv_list',True); $j++; } } @@ -1034,18 +1034,18 @@ class eq { $this->t->set_file(array('par_view_t' => 'par_view.tpl')); $this->t->set_block('par_view_t','header_list','list1'); - $this->t->set_block('par_view_t','elder_list','list2'); + $this->t->set_block('par_view_t','indiv_list','list2'); - $sql = "SELECT * FROM 3rd_elder where valid=1"; + $sql = "SELECT * FROM 3rd_indiv where valid=1"; $this->db->query($sql,__LINE__,__FILE__); $i=0; while ($this->db->next_record()) { - $elder_name[$i] = $this->db->f('name'); - $elder_id[$i] = $this->db->f('elder'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_id[$i] = $this->db->f('indiv'); $i++; } - array_multisort($elder_name, $elder_id); + array_multisort($indiv_name, $indiv_id); $sql = "SELECT * FROM 3rd_activity ORDER BY date DESC"; $this->db->query($sql,__LINE__,__FILE__); @@ -1071,8 +1071,8 @@ class eq $i++; } - $elder_width=300; $part_width=25; $assignment_width=50; - $total_width=$elder_width+$part_width; + $indiv_width=300; $part_width=25; $assignment_width=50; + $total_width=$indiv_width+$part_width; for ($i=0; $i < count($assignment_list); $i++) { $this->t->set_var('assignment_name',$assignment_list[$i]['name']); $this->t->set_var('assignment_code',$assignment_list[$i]['code']); @@ -1080,17 +1080,17 @@ class eq $total_width += $assignment_width; } - for ($i=0; $i < count($elder_id); $i++) { + for ($i=0; $i < count($indiv_id); $i++) { $participated=0; $part_table = ''; $this->nextmatchs->template_alternate_row_color(&$this->t); - $this->t->set_var('elder_name',$elder_name[$i]); + $this->t->set_var('indiv_name',$indiv_name[$i]); for ($j=0; $j < count($assignment_list); $j++) { $date = "0000-00-00"; $checkmark=0; $num_matches=0; for ($k=0; $k < count($activity_list); $k++) { if($assignment_list[$j]['assignment'] == $activity_list[$k]['assignment']) { $sql = "SELECT * FROM 3rd_participation where " . " activity=" . $activity_list[$k]['activity'] - . " AND elder=" . $elder_id[$i]; + . " AND indiv=" . $indiv_id[$i]; $this->db->query($sql,__LINE__,__FILE__); while($this->db->next_record()) { if($activity_list[$k]['date'] > $date) { @@ -1113,10 +1113,10 @@ class eq if($participated) { $part_table .= ''.$participated.''; } else { $part_table .= ' '; } $this->t->set_var('part_table',$part_table); - $this->t->fp('list2','elder_list',True); + $this->t->fp('list2','indiv_list',True); } $this->t->set_var('total_width',$total_width); - $this->t->set_var('elder_width',$elder_width); + $this->t->set_var('indiv_width',$indiv_width); $this->t->set_var('part_width',$part_width); $this->t->set_var('act_width',$act_width); $this->t->pfp('out','par_view_t'); @@ -1127,10 +1127,10 @@ class eq { $this->t->set_file(array('willing_view_t' => 'willing_view.tpl')); $this->t->set_block('willing_view_t','header_list','list1'); - $this->t->set_block('willing_view_t','elder_list','list2'); + $this->t->set_block('willing_view_t','indiv_list','list2'); $this->t->set_var('lang_filter','Filter'); - $this->t->set_var('lang_filter_unwilling','Filter out unwilling Elders:'); + $this->t->set_var('lang_filter_unwilling','Filter out unwilling individuals:'); $filter_unwilling = get_var('filter_unwilling',array('POST')); $this->t->set_var('filter_unwilling',$filter_unwilling); @@ -1146,17 +1146,17 @@ class eq } $this->t->set_var('filter_input',$filter_input); - $sql = "SELECT * FROM 3rd_elder where valid=1"; + $sql = "SELECT * FROM 3rd_indiv where valid=1"; $this->db->query($sql,__LINE__,__FILE__); $i=0; while ($this->db->next_record()) { - $elder_name[$i] = $this->db->f('name'); - $elder_id[$i] = $this->db->f('elder'); - $elder_phone[$elder_id[$i]] = $this->db->f('phone'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_phone[$indiv_id[$i]] = $this->db->f('phone'); $i++; } - array_multisort($elder_name, $elder_id); + array_multisort($indiv_name, $indiv_id); $sql = "SELECT * FROM 3rd_assignment ORDER BY name ASC"; $this->db->query($sql,__LINE__,__FILE__); @@ -1182,8 +1182,8 @@ class eq $i++; } - $elder_width=275; $willing_width=40; $assignment_width=50; - $total_width=$elder_width+$willing_width; + $indiv_width=275; $willing_width=40; $assignment_width=50; + $total_width=$indiv_width+$willing_width; for ($i=0; $i < count($assignment_list); $i++) { $this->t->set_var('assignment_name',$assignment_list[$i]['name']); @@ -1193,17 +1193,17 @@ class eq $total_willing[$i] = 0; } - for ($i=0; $i < count($elder_id); $i++) { - $willing_table = ''; $elder_willing=0; - $this->t->set_var('elder_name',$elder_name[$i]); - $this->t->set_var('elder_phone',$elder_phone[$elder_id[$i]]); - $this->t->set_var('editurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.willing_update&elder_id=' - . $elder_id[$i] . '&action=' . 'edit')); + for ($i=0; $i < count($indiv_id); $i++) { + $willing_table = ''; $indiv_willing=0; + $this->t->set_var('indiv_name',$indiv_name[$i]); + $this->t->set_var('indiv_phone',$indiv_phone[$indiv_id[$i]]); + $this->t->set_var('editurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.willing_update&indiv_id=' + . $indiv_id[$i] . '&action=' . 'edit')); for ($j=0; $j < count($assignment_list); $j++) { $found_willingness=0; $sql = "SELECT * FROM 3rd_willingness where " . " assignment=" . $assignment_list[$j]['assignment'] - . " AND elder=" . $elder_id[$i]; + . " AND indiv=" . $indiv_id[$i]; $this->db->query($sql,__LINE__,__FILE__); while($this->db->next_record()) { $found_willingness=1; @@ -1217,7 +1217,7 @@ class eq $date = $this->db2->f('date'); $sql = "SELECT * FROM 3rd_participation where " . " activity=" . $activity - . " AND elder=". $elder_id[$i]; + . " AND indiv=". $indiv_id[$i]; $this->db3->query($sql,__LINE__,__FILE__); if($this->db3->next_record()) { $date_part = $date; @@ -1226,25 +1226,25 @@ class eq if($this->db->f('willing') == 'y') { $total_willing[$j]++; - $elder_willing=1; + $indiv_willing=1; $willing_table .= '
'.$date_part.''; } else if($this->db->f('willing') == 'n') { $willing_table .= ''; } else { - $elder_willing=1; + $indiv_willing=1; $willing_table .= " "; } } if(!$found_willingness) { - $elder_willing=1; + $indiv_willing=1; $willing_table .= " "; } } - if(($elder_willing == 1) || ($filter_unwilling == 'n')) { + if(($indiv_willing == 1) || ($filter_unwilling == 'n')) { $this->t->set_var('willing_table',$willing_table); - $this->t->fp('list2','elder_list',True); + $this->t->fp('list2','indiv_list',True); $this->nextmatchs->template_alternate_row_color(&$this->t); } } @@ -1256,7 +1256,7 @@ class eq $this->t->set_var('stat_table',$stat_table); $this->t->set_var('total_width',$total_width); - $this->t->set_var('elder_width',$elder_width); + $this->t->set_var('indiv_width',$indiv_width); $this->t->set_var('willing_width',$willing_width); $this->t->pfp('out','willing_view_t'); $this->save_sessiondata(); @@ -1272,8 +1272,8 @@ class eq $this->t->set_block('willing_update_t','assignment_list','list'); $this->t->set_block('willing_update_t','save','savehandle'); - $elder_id = get_var('elder_id',array('GET','POST')); - $this->t->set_var('elder_id',$elder_id); + $indiv_id = get_var('indiv_id',array('GET','POST')); + $this->t->set_var('indiv_id',$indiv_id); $action = get_var('action',array('GET','POST')); $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.willing_view')); @@ -1283,19 +1283,19 @@ class eq if($action == 'save') { - // Delete all the previous willingness entries for this elder - $this->db->query("DELETE from 3rd_willingness where elder=" . $elder_id ,__LINE__,__FILE__); + // Delete all the previous willingness entries for this individual + $this->db->query("DELETE from 3rd_willingness where indiv=" . $indiv_id ,__LINE__,__FILE__); - // Now, add the assignment willingness that is checked for this elder + // Now, add the assignment willingness that is checked for this individual $new_data = get_var('willingness',array('POST')); foreach ($new_data as $data) { $data_array = explode("/",$data); $assignment = $data_array[0]; $willing = $data_array[1]; - //print "elder_id: $elder_id assignment: $assignment willing: $willing
"; - $this->db->query("INSERT INTO 3rd_willingness (elder,assignment,willing) " - . "VALUES (" . $elder_id .",". $assignment .",'". $willing . "')",__LINE__,__FILE__); + //print "indiv_id: $indiv_id assignment: $assignment willing: $willing
"; + $this->db->query("INSERT INTO 3rd_willingness (indiv,assignment,willing) " + . "VALUES (" . $indiv_id .",". $assignment .",'". $willing . "')",__LINE__,__FILE__); } $this->willing_view(); return false; @@ -1304,12 +1304,12 @@ class eq $assignment_width=300; $willing_width=25; $table_width=$assignment_width + $willing_width; $table_data=""; - // Find out the elder's name - $sql = "SELECT * FROM 3rd_elder WHERE elder=".$elder_id." AND valid=1"; + // Find out the individual's name + $sql = "SELECT * FROM 3rd_indiv WHERE indiv=".$indiv_id." AND valid=1"; $this->db->query($sql,__LINE__,__FILE__); if($this->db->next_record()) { - $elder_name = $this->db->f('name'); - $this->t->set_var('elder_name',$elder_name); + $indiv_name = $this->db->f('name'); + $this->t->set_var('indiv_name',$indiv_name); } // Select all the assignments @@ -1326,7 +1326,7 @@ class eq $table_data.="$assignment_name"; $header_row="AssignmentsWillingness"; - $sql = "SELECT * FROM 3rd_willingness WHERE elder=".$elder_id." AND assignment=".$assignment; + $sql = "SELECT * FROM 3rd_willingness WHERE indiv=".$indiv_id." AND assignment=".$assignment; $this->db2->query($sql,__LINE__,__FILE__); $value = $assignment; @@ -1385,7 +1385,7 @@ class eq 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','indiv_list','indivlist'); $this->t->set_block('ppi_sched_t','appt_list','apptlist'); $action = get_var('action',array('GET','POST')); @@ -1401,9 +1401,9 @@ class eq $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_sched&action=save')); $this->t->set_var('title','Yearly PPI 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"; + $indiv_width=500; $phone_width=25; $pri_width=10; $notes_width=128; $ppi_date_width=20; + $table_width=$indiv_width + $phone_width + $pri_width + $notes_width + $ppi_date_width; + $header_row = "individual Name"; $header_row.= "Phone"; $header_row.= "Priority"; $header_row.= "Last PPI"; @@ -1419,12 +1419,12 @@ class eq $president_name = $this->db->f('name'); $president_name_array = explode(",",$president_name); $president_last_name = $president_name_array[0]; - $president_id = $this->db->f('elder'); + $president_id = $this->db->f('indiv'); $presidency_id = $this->db->f('presidency'); - $interviewer = $this->db->f('elder'); + $interviewer = $this->db->f('indiv'); $district_number = '*'; $district_name = $president_name; - $sql = "SELECT * FROM 3rd_elder where elder='$president_id'"; + $sql = "SELECT * FROM 3rd_indiv where indiv='$president_id'"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { $indiv_id = $this->db2->f('indiv_id'); @@ -1435,7 +1435,7 @@ class eq $president_address = $this->db2->f('address'); } } else { - print "

-E- Unable to locate EQ President in 3rd_presidency table

"; + print "

-E- Unable to locate President in 3rd_presidency table

"; return; } @@ -1446,19 +1446,19 @@ class eq if($new_data != "") { foreach ($new_data as $entry) { - $elder = $entry['elder']; + $indiv = $entry['indiv']; $appointment = $entry['appointment']; $location = $entry['location']; if($location == "") { $location = "$president_last_name"." home ($president_address)"; } - if($elder == 0) { $location = ""; } + if($indiv == 0) { $location = ""; } //Only perform a database update if we have made a change to this appointment - $sql = "SELECT * FROM 3rd_appointment where appointment='$appointment' and elder='$elder' and location='$location'"; + $sql = "SELECT * FROM 3rd_appointment where appointment='$appointment' and indiv='$indiv' and location='$location'"; $this->db->query($sql,__LINE__,__FILE__); if(!$this->db->next_record()) { // Perform database save actions here $this->db->query("UPDATE 3rd_appointment set " . - " elder='" . $elder . "'" . + " indiv='" . $indiv . "'" . ",location='" . $location . "'" . " WHERE appointment=" . $appointment,__LINE__,__FILE__); // Email the appointment @@ -1473,14 +1473,14 @@ class eq foreach ($new_data as $entry) { $ppi_notes = $entry['notes']; - $elder_id = $entry['elder_id']; + $indiv_id = $entry['indiv_id']; $ppi_pri = $entry['pri']; // Perform database save actions here - $this->db->query("UPDATE 3rd_elder set " . + $this->db->query("UPDATE 3rd_indiv set " . " ppi_notes='" . $ppi_notes . "'" . ",ppi_pri='" . $ppi_pri . "'" . - " WHERE elder=" . $elder_id,__LINE__,__FILE__); + " WHERE indiv=" . $indiv_id,__LINE__,__FILE__); } @@ -1488,34 +1488,34 @@ class eq //Header('Location: ' . $take_me_to_url); } - // create the elder id -> elder name mapping - $sql = "SELECT * FROM 3rd_elder where valid=1 ORDER BY name ASC"; + // create the individual id -> individual name mapping + $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY name ASC"; $this->db->query($sql,__LINE__,__FILE__); $i=0; - $elder_id = NULL; - $elder_name = NULL; + $indiv_id = NULL; + $indiv_name = NULL; while ($this->db->next_record()) { - $elder_name[$i] = $this->db->f('name'); - $elder_id[$i] = $this->db->f('elder'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_id[$i] = $this->db->f('indiv'); $i++; } - array_multisort($elder_name, $elder_id); + array_multisort($indiv_name, $indiv_id); // APPOINTMENT TABLE - $date_width=250; $time_width=100; $elder_width=200; $location_width=100; - $appt_table_width=$date_width + $time_width + $elder_width + $location_width; + $date_width=250; $time_width=100; $indiv_width=200; $location_width=100; + $appt_table_width=$date_width + $time_width + $indiv_width + $location_width; $appt_header_row = "Date"; $appt_header_row.= "Time"; - $appt_header_row.= "Elder"; + $appt_header_row.= "indiv"; $appt_header_row.= "Location"; $appt_table_data = ""; - $total_elders=0; $elders_with_yearly_ppi=0; + $total_indivs=0; $indivs_with_yearly_ppi=0; // Display a scheduling table for the EQ President $table_data=""; $appt_table_data=""; - $table_title = "District ".$district_number.": ".$district_name.": All Elders with Yearly PPI Not Completed"; + $table_title = "District ".$district_number.": ".$district_name.": All indivs with Yearly PPI Not Completed"; $appt_table_title = "District ".$district_number.": ".$district_name.": Yearly PPI Appointment Slots"; $this->t->set_var('table_title',$table_title); $this->t->set_var('appt_table_title',$appt_table_title); @@ -1527,9 +1527,9 @@ class eq while ($this->db->next_record()) { $appointment = $this->db->f('appointment'); - $elder = $this->db->f('elder'); + $indiv = $this->db->f('indiv'); $location = $this->db->f('location'); - if(($location == "") && ($elder > 0)) { $location = "$president_last_name"." home ($president_address)"; } + if(($location == "") && ($indiv > 0)) { $location = "$president_last_name"." home ($president_address)"; } $date = $this->db->f('date'); $date_array = explode("-",$date); @@ -1544,12 +1544,12 @@ class eq $appt_table_data.= "$day_string"; $appt_table_data.= "$time_string"; - $appt_table_data.= ''; $appt_table_data.= ''; - for ($i=0; $i < count($elder_id); $i++) { - $id = $elder_id[$i]; - $name = $elder_name[$i]; - if($elder_id[$i] == $elder) { $selected[$id] = 'selected="selected"'; } else { $selected[$id] = ''; } + for ($i=0; $i < count($indiv_id); $i++) { + $id = $indiv_id[$i]; + $name = $indiv_name[$i]; + if($indiv_id[$i] == $indiv) { $selected[$id] = 'selected="selected"'; } else { $selected[$id] = ''; } $appt_table_data.= ''; } $appt_table_data.=''; @@ -1568,43 +1568,43 @@ class eq $this->t->set_var('appt_table_width',$appt_table_width); // PPI SCHEDULING TABLE - $sql = "SELECT * FROM 3rd_elder where valid=1 ORDER BY ppi_pri ASC"; + $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY ppi_pri ASC"; $this->db->query($sql,__LINE__,__FILE__); $i=0; - $elder_id = NULL; + $indiv_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'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_phone[$indiv_id[$i]] = $this->db->f('phone'); + $indiv_ppi_pri[$indiv_id[$i]] = $this->db->f('ppi_pri'); + $indiv_ppi_notes[$indiv_id[$i]] = $this->db->f('ppi_notes'); $i++; - $total_elders++; + $total_indivs++; } - $max = count($elder_id); + $max = count($indiv_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]; + $id = $indiv_id[$i]; + $name = $indiv_name[$i]; + $phone = $indiv_phone[$id]; + $ppi_pri = $indiv_ppi_pri[$id]; + $ppi_notes = $indiv_ppi_notes[$id]; - // If this elder has had a yearly PPI this year, don't show him on the schedule list + // If this individual 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 3rd_interview WHERE date > '$year_start' AND date < '$year_end' ". - "AND elder=" . $id . " AND interview_type='ppi'"; + "AND indiv=" . $id . " AND interview_type='ppi'"; $this->db2->query($sql,__LINE__,__FILE__); if(!$this->db2->next_record()) { - $sql = "SELECT * FROM 3rd_interview WHERE elder=" . $id . " AND interview_type='ppi' ORDER BY date DESC"; + $sql = "SELECT * FROM 3rd_interview WHERE indiv=" . $id . " AND interview_type='ppi' 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['indiv'] = $id; $link_data['name'] = $name; $link_data['interview'] = ''; $link_data['interview_type'] = 1; @@ -1626,20 +1626,20 @@ class eq $table_data.= ''; $table_data.= "$date"; $table_data.= ''; - $table_data.= ''; - $table_data.= ''; + $table_data.= ''; + $table_data.= ''; $table_data.= ''; $table_data.= ''; } else { $link_data['menuaction'] = 'eq.eq.ppi_update'; $link_data['interviewer'] = $this->db2->f('interviewer'); - $link_data['elder'] = $this->db2->f('elder'); + $link_data['indiv'] = $this->db2->f('indiv'); $link_data['name'] = $name; $link_data['interview'] = $this->db2->f('interview'); $link_data['interview_type'] = $this->db2->f('interview_type'); $link_data['action'] = 'view'; $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data); - $elders_with_yearly_ppi++; + $indivs_with_yearly_ppi++; $date = $this->db2->f('date'); $ppi_notes = $this->db2->f('notes'); if(strlen($ppi_notes) > 40) { $ppi_notes = substr($ppi_notes,0,40) . "..."; } @@ -1651,11 +1651,11 @@ class eq $completed_data.= "$ppi_notes"; $completed_data.= ''; } - } // End for Elders Loop + } // End for individuals Loop $name_width=175; $phone_width=100; $date_width=100; $notes_width=300; $completed_table_width=$name_width + $phone_width + $date_width + $notes_width; - $completed_header_row = "Elder Name"; + $completed_header_row = "Individual Name"; $completed_header_row.= "Phone"; $completed_header_row.= "Date"; $completed_header_row.= "PPI Notes"; @@ -1666,16 +1666,16 @@ class eq $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->fp('elderlist','elder_list',True); + $this->t->fp('indivlist','indiv_list',True); - $elders_width=300; $totals_width=100; - $totals_table_width=$elders_width + $totals_width; - $totals_header_row = "Elders"; + $indivs_width=300; $totals_width=100; + $totals_table_width=$indivs_width + $totals_width; + $totals_header_row = "Individuals"; $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); + $totals_data.= "Total Individuals with yearly PPIs completed:"; + $totals_data.= "$indivs_with_yearly_ppi / $total_indivs"; + $percent = ceil(($indivs_with_yearly_ppi / $total_indivs)*100); $tr_color = $this->nextmatchs->alternate_row_color($tr_color); $this->t->set_var('tr_color',$tr_color); $totals_data.= ""; @@ -1695,7 +1695,7 @@ class eq function int_sched() { $this->t->set_file(array('int_sched_t' => 'int_sched.tpl')); - $this->t->set_block('int_sched_t','elder_list','elderlist'); + $this->t->set_block('int_sched_t','indiv_list','indivlist'); $this->t->set_block('int_sched_t','appt_list','apptlist'); $action = get_var('action',array('GET','POST')); @@ -1711,9 +1711,9 @@ class eq $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_sched&action=save')); $this->t->set_var('title','Hometeaching Interviews Scheduler'); - $elder_width=500; $phone_width=25; $pri_width=10; $notes_width=128; $int_date_width=20; - $table_width=$elder_width + $phone_width + $pri_width + $notes_width + $int_date_width; - $header_row = "Elder Name"; + $indiv_width=500; $phone_width=25; $pri_width=10; $notes_width=128; $int_date_width=20; + $table_width=$indiv_width + $phone_width + $pri_width + $notes_width + $int_date_width; + $header_row = "individual Name"; $header_row.= "Phone"; $header_row.= "Priority"; $header_row.= "Last Interview"; @@ -1729,20 +1729,20 @@ class eq if($month >= 10 && $month <= 12) { $quarter_start=$year."-10-01"; $quarter_end=$nextyear."-01-01"; } //print "year: $year month: $month quarter_start: $quarter_start quarter_end: $quarter_end
"; - // create the elder id -> elder name mapping - $sql = "SELECT * FROM 3rd_elder where valid=1 ORDER BY name ASC"; + // create the individual id -> individual name mapping + $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY name ASC"; $this->db->query($sql,__LINE__,__FILE__); $i=0; - $elder_id_data = NULL; - $elder_name_data = NULL; + $indiv_id_data = NULL; + $indiv_name_data = NULL; while ($this->db->next_record()) { - $elder_name_data[$i] = $this->db->f('name'); - $elder_id_data[$i] = $this->db->f('elder'); - $elderid2name[$elder_id_data[$i]] = $elder_name_data[$i]; + $indiv_name_data[$i] = $this->db->f('name'); + $indiv_id_data[$i] = $this->db->f('indiv'); + $individ2name[$indiv_id_data[$i]] = $indiv_name_data[$i]; $i++; } - array_multisort($elder_name_data, $elder_id_data); + array_multisort($indiv_name_data, $indiv_id_data); if($action == 'save') { @@ -1751,14 +1751,14 @@ class eq if($new_data != "") { foreach ($new_data as $entry) { - $elder = $entry['elder']; + $indiv = $entry['indiv']; $appointment = $entry['appointment']; $location = $entry['location']; if($location == "") { $supervisor = $entry['supervisor']; - $supervisor_array = explode(",", $elderid2name[$supervisor]); + $supervisor_array = explode(",", $individ2name[$supervisor]); $supervisor_last_name = $supervisor_array[0]; - $sql = "SELECT * FROM 3rd_elder where elder='$supervisor'"; + $sql = "SELECT * FROM 3rd_indiv where indiv='$supervisor'"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { $indiv_id = $this->db2->f('indiv_id'); @@ -1770,16 +1770,16 @@ class eq } $location = "$supervisor_last_name"." home ($supervisor_address)"; } - if($elder == 0) { $location = ""; } + if($indiv == 0) { $location = ""; } - //print "elder: $elder appointment: $appointment
"; + //print "indiv: $indiv appointment: $appointment
"; //Only perform a database update if we have made a change to this appointment - $sql = "SELECT * FROM 3rd_appointment where appointment='$appointment' and elder='$elder' and location='$location'"; + $sql = "SELECT * FROM 3rd_appointment where appointment='$appointment' and indiv='$indiv' and location='$location'"; $this->db->query($sql,__LINE__,__FILE__); if(!$this->db->next_record()) { // Perform database save actions here $this->db->query("UPDATE 3rd_appointment set " . - " elder='" . $elder . "'" . + " indiv='" . $indiv . "'" . ",location='" . $location . "'" . " WHERE appointment=" . $appointment,__LINE__,__FILE__); @@ -1794,17 +1794,17 @@ class eq foreach ($new_data as $entry) { $int_notes = $entry['notes']; - $elder_id = $entry['elder_id']; - $elder_name = $entry['elder_name']; + $indiv_id = $entry['indiv_id']; + $indiv_name = $entry['indiv_name']; $int_pri = $entry['pri']; $aaronic = $entry['aaronic']; - //print "int_notes: $int_notes elder_name: $elder_name aaronic: $aaronic
"; + //print "int_notes: $int_notes indiv_name: $indiv_name aaronic: $aaronic
"; if($aaronic == 0) { // Perform database save actions here - $this->db->query("UPDATE 3rd_elder set " . + $this->db->query("UPDATE 3rd_indiv set " . " int_notes='" . $int_notes . "'" . ",int_pri='" . $int_pri . "'" . - " WHERE elder=" . $elder_id,__LINE__,__FILE__); + " WHERE indiv=" . $indiv_id,__LINE__,__FILE__); } } @@ -1833,11 +1833,11 @@ class eq // APPOINTMENT TABLE $district = 1; - $date_width=250; $time_width=100; $elder_width=200; $location_width=100; - $appt_table_width=$date_width + $time_width + $elder_width + $location_width; + $date_width=250; $time_width=100; $indiv_width=200; $location_width=100; + $appt_table_width=$date_width + $time_width + $indiv_width + $location_width; $appt_header_row = "Date"; $appt_header_row.= "Time"; - $appt_header_row.= "Elder"; + $appt_header_row.= "Individual"; $appt_header_row.= "Location"; $appt_table_data = ""; @@ -1851,7 +1851,7 @@ class eq $supervisor = $districts[$d]['supervisor']; $supervisor_array = explode(",", $supervisor); $supervisor_last_name = $supervisor_array[0]; - $sql = "SELECT * FROM 3rd_elder where elder='$supervisor'"; + $sql = "SELECT * FROM 3rd_indiv where indiv='$supervisor'"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { $indiv_id = $this->db2->f('indiv_id'); @@ -1862,7 +1862,7 @@ class eq $supervisor_address = $this->db2->f('address'); } $location = "$supervisor_last_name"." home ($supervisor_address)"; - $table_title = "District ".$districts[$d]['district'].": ".$districts[$d]['name'].": All Elders with Interviews Not Completed"; + $table_title = "District ".$districts[$d]['district'].": ".$districts[$d]['name'].": All Individuals with Interviews Not Completed"; $appt_table_title = "District ".$districts[$d]['district'].": ".$districts[$d]['name'].": Interview Appointment Slots"; $this->t->set_var('table_title',$table_title); $this->t->set_var('appt_table_title',$appt_table_title); @@ -1874,9 +1874,9 @@ class eq while ($this->db->next_record()) { $appointment = $this->db->f('appointment'); - $elder = $this->db->f('elder'); + $indiv = $this->db->f('indiv'); $location = $this->db->f('location'); - if(($location == "") && ($elder > 0)) { $location = "$supervisor_last_name"." home ($supervisor_address)"; } + if(($location == "") && ($indiv > 0)) { $location = "$supervisor_last_name"." home ($supervisor_address)"; } $date = $this->db->f('date'); $date_array = explode("-",$date); @@ -1891,12 +1891,12 @@ class eq $appt_table_data.= "$day_string"; $appt_table_data.= "$time_string"; - $appt_table_data.= ''; $appt_table_data.= ''; - for ($i=0; $i < count($elder_id_data); $i++) { - $id = $elder_id_data[$i]; - $name = $elder_name_data[$i]; - if($elder_id_data[$i] == $elder) { $selected[$id] = 'selected="selected"'; } else { $selected[$id] = ''; } + for ($i=0; $i < count($indiv_id_data); $i++) { + $id = $indiv_id_data[$i]; + $name = $indiv_name_data[$i]; + if($indiv_id_data[$i] == $indiv) { $selected[$id] = 'selected="selected"'; } else { $selected[$id] = ''; } $appt_table_data.= ''; } $appt_table_data.=''; @@ -1941,38 +1941,38 @@ class eq while ($this->db->next_record()) { // Get this companions information - $elder_id = $this->db->f('elder'); + $indiv_id = $this->db->f('indiv'); $aaronic_id = $this->db->f('aaronic'); - $sql = "SELECT * FROM 3rd_elder where elder=$elder_id"; + $sql = "SELECT * FROM 3rd_indiv where indiv=$indiv_id"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { - $elder_id = $this->db2->f('elder'); - $elder_name = $this->db2->f('name'); - $elder_phone[$elder_id] = $this->db2->f('phone'); - $elder_int_pri[$elder_id] = $this->db2->f('int_pri'); - $elder_int_notes[$elder_id] = $this->db2->f('int_notes'); - $elder_aaronic = 0; + $indiv_id = $this->db2->f('indiv'); + $indiv_name = $this->db2->f('name'); + $indiv_phone[$indiv_id] = $this->db2->f('phone'); + $indiv_int_pri[$indiv_id] = $this->db2->f('int_pri'); + $indiv_int_notes[$indiv_id] = $this->db2->f('int_notes'); + $indiv_aaronic = 0; } else { $sql = "SELECT * FROM 3rd_aaronic where aaronic=$aaronic_id"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { - $elder_id = $this->db2->f('aaronic'); - $elder_name = $this->db2->f('name'); - $elder_phone[$elder_id] = $this->db2->f('phone'); - $elder_aaronic = 1; + $indiv_id = $this->db2->f('aaronic'); + $indiv_name = $this->db2->f('name'); + $indiv_phone[$indiv_id] = $this->db2->f('phone'); + $indiv_aaronic = 1; } } - $id = $elder_id; - $name = $elder_name; - $phone = $elder_phone[$id]; - $int_pri = $elder_int_pri[$id]; - $int_notes = $elder_int_notes[$id]; - $aaronic = $elder_aaronic; + $id = $indiv_id; + $name = $indiv_name; + $phone = $indiv_phone[$id]; + $int_pri = $indiv_int_pri[$id]; + $int_notes = $indiv_int_notes[$id]; + $aaronic = $indiv_aaronic; // If the companionship has already had its quarterly interview, // Skip the other companion in the companionship. @@ -1991,15 +1991,15 @@ class eq // If this companionship has had a hometeaching interview this quarter, don't show them on the schedule list $sql = "SELECT * FROM 3rd_interview WHERE date >= '$quarter_start' AND date < '$quarter_end' ". - "AND elder=" . $id; + "AND indiv=" . $id; $this->db2->query($sql,__LINE__,__FILE__); if(!$this->db2->next_record()) { - $sql = "SELECT * FROM 3rd_interview WHERE elder=" . $id . " ORDER BY date DESC"; + $sql = "SELECT * FROM 3rd_interview WHERE indiv=" . $id . " ORDER BY date DESC"; $this->db3->query($sql,__LINE__,__FILE__); if($this->db3->next_record()) { $date = $this->db3->f('date'); } else { $date = ""; } $link_data['menuaction'] = 'eq.eq.int_update'; - $link_data['elder'] = $id; + $link_data['indiv'] = $id; $link_data['aaronic'] = 0; $link_data['name'] = $name; $link_data['interview'] = ''; @@ -2022,8 +2022,8 @@ class eq if($aaronic == 0) { $table_data.= ''; } - $table_data.= ''; - $table_data.= ''; + $table_data.= ''; + $table_data.= ''; $table_data.= ''; $table_data.= ''; $table_data.= ''."\n"; @@ -2031,7 +2031,7 @@ class eq } else { $link_data['menuaction'] = 'eq.eq.int_update'; $link_data['interviewer'] = $this->db2->f('interviewer'); - $link_data['elder'] = $this->db2->f('elder'); + $link_data['indiv'] = $this->db2->f('indiv'); $link_data['aaronic'] = $this->db2->f('aaronic'); $link_data['name'] = $name; $link_data['interview'] = $this->db2->f('interview'); @@ -2053,7 +2053,7 @@ class eq $name_width=175; $phone_width=100; $date_width=100; $notes_width=300; $completed_table_width=$name_width + $phone_width + $date_width + $notes_width; - $completed_header_row = "Elder Name"; + $completed_header_row = "Individual Name"; $completed_header_row.= "Phone"; $completed_header_row.= "Date"; $completed_header_row.= "Interview Notes"; @@ -2064,14 +2064,14 @@ class eq $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->fp('elderlist','elder_list',True); + $this->t->fp('indivlist','indiv_list',True); } // End for each district loop - $elders_width=300; $totals_width=100; - $totals_table_width=$elders_width + $totals_width; - $totals_header_row = "Elders"; + $indivs_width=300; $totals_width=100; + $totals_table_width=$indivs_width + $totals_width; + $totals_header_row = "Individuals"; $totals_header_row.= "$year"; $totals_data.= ""; $totals_data.= "Total Companionships with interviews completed:"; @@ -2110,7 +2110,7 @@ class eq $this->t->set_var('schedule_vis_link_title','Schedule Yearly Visits'); $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_sched&action=save')); - $this->t->set_var('title','EQ Presidency Yearly Visit Scheduler'); + $this->t->set_var('title','Presidency Yearly Visit Scheduler'); $family_width=500; $phone_width=40; $pri_width=10; $notes_width=128; $visit_date_width=20; $table_width=$family_width + $phone_width + $pri_width + $notes_width + $visit_date_width; @@ -2124,7 +2124,7 @@ class eq $year = date('Y'); // create the family id -> family name mapping - $sql = "SELECT * FROM 3rd_family where valid=1 and elder_id != 0 ORDER BY name ASC"; + $sql = "SELECT * FROM 3rd_family where valid=1 and indiv_id != 0 ORDER BY name ASC"; $this->db->query($sql,__LINE__,__FILE__); $i=0; $family_id = NULL; @@ -2212,7 +2212,7 @@ class eq $presidency_name = $this->db->f('name'); $presidency_id = $this->db->f('presidency'); } else { - print "

-E- Unable to locate EQ Presidency in 3rd_presidency table

"; + print "

-E- Unable to locate Presidency in 3rd_presidency table

"; return; } @@ -2268,7 +2268,7 @@ class eq // VISIT SCHEDULING TABLE - $sql = "SELECT * FROM 3rd_family where valid=1 and elder_id != 0 ORDER BY visit_pri ASC"; + $sql = "SELECT * FROM 3rd_family where valid=1 and indiv_id != 0 ORDER BY visit_pri ASC"; $this->db->query($sql,__LINE__,__FILE__); $total_families=0; $families_with_yearly_visit=0; @@ -2434,34 +2434,34 @@ class eq $this->db->query($sql,__LINE__,__FILE__); if($this->db->next_record()) { $president_name = $this->db->f('name'); - $interviewer = $this->db->f('elder'); + $interviewer = $this->db->f('indiv'); $interview_type = 'ppi'; } else { - print "

-E- Unable to locate EQ President in 3rd_presidency table

"; + print "

-E- Unable to locate President in 3rd_presidency table

"; return; } $this->t->set_var('district_number','*'); $this->t->set_var('district_name',$president_name); - $sql = "SELECT * FROM 3rd_elder where valid=1 ORDER BY elder ASC"; + $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY indiv 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'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_phone[$indiv_id[$i]] = $this->db->f('phone'); + $indiv_ppi_pri[$indiv_id[$i]] = $this->db->f('ppi_pri'); + $indiv_ppi_notes[$indiv_id[$i]] = $this->db->f('ppi_notes'); $i++; } - $total_elders=$i; - array_multisort($elder_name, $elder_id); - //var_dump($elder_name); print "

"; var_dump($elder_id); + $total_indivs=$i; + array_multisort($indiv_name, $indiv_id); + //var_dump($indiv_name); print "

"; var_dump($indiv_id); - $header_row="Elder Name"; + $header_row="Individual Name"; - $elder_width=400; $ppi_width=75; $table_width=$elder_width + $num_months*$ppi_width; + $indiv_width=400; $ppi_width=75; $table_width=$indiv_width + $num_months*$ppi_width; $table_data=""; for($m=$num_months; $m >= 0; $m--) { $year = date('Y') - $m; @@ -2469,14 +2469,14 @@ class eq $ppis[$m] = 0; } - for ($j=0; $j < count($elder_id); $j++) { - $id = $elder_id[$j]; - $name = $elder_name[$j]; - $phone = $elder_phone[$id]; + for ($j=0; $j < count($indiv_id); $j++) { + $id = $indiv_id[$j]; + $name = $indiv_name[$j]; + $phone = $indiv_phone[$id]; $link_data['menuaction'] = 'eq.eq.ppi_update'; $link_data['interviewer'] = $interviewer; - $link_data['elder'] = $id; + $link_data['indiv'] = $id; $link_data['name'] = $name; $link_data['interview'] = ''; $link_data['interview_type'] = $interview_type; @@ -2485,12 +2485,12 @@ class eq $this->nextmatchs->template_alternate_row_color(&$this->t); $table_data.= "$name"; - // Find out how many times PPIs were performed in the past $num_months for this Elder + // Find out how many times PPIs were performed in the past $num_months for this individual 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 3rd_interview WHERE date > '$year_start' AND date < '$year_end' ". - "AND elder=" . $id . " AND interview_type='ppi'"; + "AND indiv=" . $id . " AND interview_type='ppi'"; $this->db2->query($sql,__LINE__,__FILE__); if(!$total_ppis[$m]) { $total_ppis[$m] = 0; } @@ -2499,7 +2499,7 @@ class eq $link_data['menuaction'] = 'eq.eq.ppi_update'; $link_data['companionship'] = $companionship; $link_data['interviewer'] = $this->db2->f('interviewer'); - $link_data['elder'] = $id; + $link_data['indiv'] = $id; $link_data['name'] = $name; $link_data['interview'] = $this->db2->f('interview'); $link_data['interview_type'] = $interview_type; @@ -2517,9 +2517,9 @@ class eq } $table_data .= "
"; - $stat_data = "$total_elders Elders
PPI Totals:
"; + $stat_data = "$total_indivs Individuals
PPI Totals:
"; for($m=$num_months; $m >=0; $m--) { - $percent = ceil(($ppis[$m] / $total_elders)*100); + $percent = ceil(($ppis[$m] / $total_indivs)*100); $stat_data .= "$ppis[$m]
$percent%
"; } $stat_data .= ""; @@ -2548,7 +2548,7 @@ class eq $interviewer = get_var('interviewer',array('GET','POST')); $name = get_var('name',array('GET','POST')); $interview = get_var('interview',array('GET','POST')); - $elder = get_var('elder',array('GET','POST')); + $indiv = get_var('indiv',array('GET','POST')); $aaronic = get_var('aaronic',array('GET','POST')); $date = get_var('date',array('GET','POST')); $notes = get_var('notes',array('GET','POST')); @@ -2558,9 +2558,9 @@ class eq $this->db2->query($sql,__LINE__,__FILE__); while ($this->db2->next_record()) { - $elder = $this->db2->f('elder'); + $indiv = $this->db2->f('indiv'); $interviewer_name = $this->db2->f('name'); - if($elder == $interviewer) { + if($indiv == $interviewer) { $this->t->set_var('interviewer',$interviewer . ' selected'); } else { $this->t->set_var('interviewer',$interviewer); @@ -2576,7 +2576,7 @@ class eq $this->db->query("UPDATE 3rd_interview set " . " interview='" . $interview . "'" . ", interviewer='" . $interviewer . "'" . - ", elder='" . $elder . "'" . + ", indiv='" . $indiv . "'" . ", aaronic='" . $aaronic . "'" . ", date='" . $date . "'" . ", notes='" . $notes . "'" . @@ -2589,8 +2589,8 @@ class eq if($action == 'insert') { $notes = get_var('notes',array('POST')); - $this->db->query("INSERT INTO 3rd_interview (interviewer,elder,aaronic,date,notes,interview_type) " - . "VALUES ('" . $interviewer . "','" . $elder . "','" . $aaronic . "','" + $this->db->query("INSERT INTO 3rd_interview (interviewer,indiv,aaronic,date,notes,interview_type) " + . "VALUES ('" . $interviewer . "','" . $indiv . "','" . $aaronic . "','" . $date . "','" . $notes . "','" . $interview_type ."')",__LINE__,__FILE__); $this->ppi_view(); return false; @@ -2602,7 +2602,7 @@ class eq $this->t->set_var('interview', ''); $this->t->set_var('interviewer', $interviewer); $this->t->set_var('name',$name); - $this->t->set_var('elder',$elder); + $this->t->set_var('indiv',$indiv); $this->t->set_var('date',''); $this->t->set_var('notes',''); $this->t->set_var('interview_type',$interview_type); @@ -2621,7 +2621,7 @@ class eq $this->t->set_var('interview',$interview); $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('indiv',$this->db->f('indiv')); $this->t->set_var('date',$this->db->f('date')); $this->t->set_var('notes',$this->db->f('notes')); $this->t->set_var('interview_type',$this->db->f('interview_type')); @@ -2703,20 +2703,20 @@ class eq $i++; } - $sql = "SELECT * FROM 3rd_elder where valid=1 ORDER BY elder ASC"; + $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY indiv 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'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_phone[$indiv_id[$i]] = $this->db->f('phone'); $i++; } - array_multisort($elder_name, $elder_id); - for($i=0; $i < count($elder_id); $i++) { - $id = $elder_id[$i]; - $elders[$id] = $elder_name[$i]; + array_multisort($indiv_name, $indiv_id); + for($i=0; $i < count($indiv_id); $i++) { + $id = $indiv_id[$i]; + $indivs[$id] = $indiv_name[$i]; } $sql = "SELECT * FROM 3rd_aaronic where valid=1 ORDER BY aaronic ASC"; @@ -2746,7 +2746,7 @@ class eq } $comp_width=250; $int_width=75; $table_width=$comp_width + $num_months*$int_width; - $table_data=""; $num_companionships = $j; $num_elders = 0; + $table_data=""; $num_companionships = $j; $num_indivs = 0; for($m=$num_months; $m >= 0; $m--) { $ints[$m] = 0; } for ($j=0; $j < count($unique_companionships); $j++) { // Select all the companions in each companionship @@ -2759,13 +2759,13 @@ class eq while ($this->db->next_record()) { // Get this companions information - $num_elders++; + $num_indivs++; $companionship = $this->db->f('companionship'); - $elder_id = $this->db->f('elder'); + $indiv_id = $this->db->f('indiv'); $aaronic_id = $this->db->f('aaronic'); - if($elder_id) { - $name = $elders[$elder_id]; - $phone = $elder_phone[$elder_id]; + if($indiv_id) { + $name = $indivs[$indiv_id]; + $phone = $indiv_phone[$indiv_id]; } else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; @@ -2774,7 +2774,7 @@ class eq $link_data['menuaction'] = 'eq.eq.int_update'; $link_data['companionship'] = $companionship; $link_data['interviewer'] = $supervisor; - $link_data['elder'] = $elder_id; + $link_data['indiv'] = $indiv_id; $link_data['aaronic'] = $aaronic_id; $link_data['name'] = $name; $link_data['interview'] = ''; @@ -2782,7 +2782,7 @@ class eq $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data); $table_data.= "$name"; - // Find out how many times Interviews were performed in the past $num_months for this Elder + // Find out how many times Interviews were performed in the past $num_months for this individual $header_row="Companionship"; for($m=$num_months; $m >= 0; $m--) { $month = $current_month - $m; @@ -2793,7 +2793,7 @@ class eq $month_end = "$year"."-"."$month"."-"."31"; $month = "$month"."/"."$year"; $sql = "SELECT * FROM 3rd_interview WHERE date >= '$month_start' AND date <= '$month_end' ". - "AND elder=" . $elder_id . " AND aaronic=" . $aaronic_id; + "AND indiv=" . $indiv_id . " AND aaronic=" . $aaronic_id; $this->db2->query($sql,__LINE__,__FILE__); $header_row .= "$month"; @@ -2805,7 +2805,7 @@ class eq $link_data['menuaction'] = 'eq.eq.int_update'; $link_data['companionship'] = $companionship; $link_data['interviewer'] = $this->db2->f('interviewer'); - $link_data['elder'] = $elder_id; + $link_data['indiv'] = $indiv_id; $link_data['aaronic'] = $aaronic_id; $link_data['name'] = $name; $link_data['interview'] = $this->db2->f('interview'); @@ -2885,7 +2885,7 @@ class eq $interviewer = get_var('interviewer',array('GET','POST')); $name = get_var('name',array('GET','POST')); $interview = get_var('interview',array('GET','POST')); - $elder = get_var('elder',array('GET','POST')); + $indiv = get_var('indiv',array('GET','POST')); $aaronic = get_var('aaronic',array('GET','POST')); $date = get_var('date',array('GET','POST')); $notes = get_var('notes',array('GET','POST')); @@ -2895,9 +2895,9 @@ class eq $this->db2->query($sql,__LINE__,__FILE__); while ($this->db2->next_record()) { - $elder = $this->db2->f('elder'); + $indiv = $this->db2->f('indiv'); $interviewer_name = $this->db2->f('name'); - if($elder == $interviewer) { + if($indiv == $interviewer) { $this->t->set_var('interviewer',$interviewer . ' selected'); } else { $this->t->set_var('interviewer',$interviewer); @@ -2912,7 +2912,7 @@ class eq $this->db->query("UPDATE 3rd_interview set " . " interview='" . $interview . "'" . ", interviewer='" . $interviewer . "'" . - ", elder='" . $elder . "'" . + ", indiv='" . $indiv . "'" . ", aaronic='" . $aaronic . "'" . ", date='" . $date . "'" . ", notes='" . $notes . "'" . @@ -2925,8 +2925,8 @@ class eq if($action == 'insert') { $notes = get_var('notes',array('POST')); - $this->db->query("INSERT INTO 3rd_interview (interviewer,elder,aaronic,date,notes,interview_type) " - . "VALUES ('" . $interviewer . "','" . $elder . "','" . $aaronic . "','" + $this->db->query("INSERT INTO 3rd_interview (interviewer,indiv,aaronic,date,notes,interview_type) " + . "VALUES ('" . $interviewer . "','" . $indiv . "','" . $aaronic . "','" . $date . "','" . $notes ."','" . $interview_type . "')",__LINE__,__FILE__); $this->int_view(); return false; @@ -2938,7 +2938,7 @@ class eq $this->t->set_var('interview', ''); $this->t->set_var('interviewer', $interviewer); $this->t->set_var('name',$name); - $this->t->set_var('elder',$elder); + $this->t->set_var('indiv',$indiv); $this->t->set_var('aaronic',$aaronic); $this->t->set_var('date',''); $this->t->set_var('notes',''); @@ -2956,7 +2956,7 @@ class eq $this->t->set_var('interview',$interview); $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('indiv',$this->db->f('indiv')); $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')); @@ -3215,7 +3215,7 @@ class eq $this->t->set_block('att_view_t','month_list','list1'); $this->t->set_block('att_view_t','header_list','list2'); - $this->t->set_block('att_view_t','elder_list','list3'); + $this->t->set_block('att_view_t','indiv_list','list3'); $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_view')); $num_quarters = get_var('num_quarters',array('GET','POST')); @@ -3232,16 +3232,16 @@ class eq else if($current_month >= 7 && $current_month <= 9) { $current_month=9; } else if($current_month >= 10 && $current_month <= 12) { $current_month=12; } - $sql = "SELECT * FROM 3rd_elder where valid=1"; + $sql = "SELECT * FROM 3rd_indiv where valid=1"; $this->db->query($sql,__LINE__,__FILE__); $i=0; while ($this->db->next_record()) { - $elder_name[$i] = $this->db->f('name'); - $elder_id[$i] = $this->db->f('elder'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_id[$i] = $this->db->f('indiv'); $i++; } - array_multisort($elder_name, $elder_id); + array_multisort($indiv_name, $indiv_id); // Create a list of sunday dates for a window of 3 months back and current month $i=0; @@ -3268,7 +3268,7 @@ class eq if($found_sunday) { $i++; $found_sunday=0; } } - $total_elders = count($elder_id); + $total_indivs = count($indiv_id); $old_month=$sunday_list[0]['month']; $span=0; for ($i=0; $i < count($sunday_list); $i++) { $date = $sunday_list[$i]['date']; @@ -3292,10 +3292,10 @@ class eq $this->t->fp('list1','month_list',True); } $span++; } - $this->t->set_var('total_elders',$total_elders); + $this->t->set_var('total_indivs',$total_indivs); $this->t->set_var('header_row',$header_row); - $elder_width=200; $att_width=25; $total_width=$elder_width; + $indiv_width=200; $att_width=25; $total_width=$indiv_width; for ($i=0; $i < count($sunday_list); $i++) { $link_data['menuaction'] = 'eq.eq.att_update'; $link_data['month'] = $sunday_list[$i]['month']; @@ -3313,17 +3313,17 @@ class eq $attendance[$monthnum[$sunday_list[$i]['month']]]=0; } - for ($i=0; $i < count($elder_id); $i++) { + for ($i=0; $i < count($indiv_id); $i++) { $att_table = ""; $this->nextmatchs->template_alternate_row_color(&$this->t); - $this->t->set_var('elder_name',$elder_name[$i]); - #print "checking for elder: " . $elder_id[$i] . "
"; + $this->t->set_var('indiv_name',$indiv_name[$i]); + #print "checking for indiv: " . $indiv_id[$i] . "
"; for ($j=0; $j < count($sunday_list); $j++) { #print "checking for date: " . $sunday_list[$j]['date'] . "
"; #print "SELECT * FROM 3rd_attendance WHERE date='" - # . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i] . "
"; + # . $sunday_list[$j]['date'] . "' AND indiv=" . $indiv_id[$i] . "
"; $sql = "SELECT * FROM 3rd_attendance WHERE date='" - . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i]; + . $sunday_list[$j]['date'] . "' AND indiv=" . $indiv_id[$i]; $this->db->query($sql,__LINE__,__FILE__); if($this->db->next_record()) { $cur_month = $sunday_list[$j]['month']; @@ -3337,10 +3337,10 @@ class eq } } $this->t->set_var('att_table',$att_table); - $this->t->fp('list3','elder_list',True); + $this->t->fp('list3','indiv_list',True); } $this->t->set_var('total_width',$total_width); - $this->t->set_var('elder_width',$elder_width); + $this->t->set_var('indiv_width',$indiv_width); $this->t->set_var('att_width',$att_width); # Now calculate attendance for these months @@ -3354,17 +3354,17 @@ class eq foreach($attendance as $att => $value) { $total_attended = $attendance[$att]; $ave_total_attended += $attendance[$att]; $num_months++; - $percent = ceil(($total_attended / $total_elders)*100); + $percent = ceil(($total_attended / $total_indivs)*100); $attendance_str.="$total_attended ($percent%)"; - $total_nonattended = $total_elders - $total_attended; - $percent = ceil(($total_nonattended / $total_elders)*100); + $total_nonattended = $total_indivs - $total_attended; + $percent = ceil(($total_nonattended / $total_indivs)*100); $nonattendance_str.="$total_nonattended ($percent%)"; $total_attended = ceil(($ave_total_attended / $num_months)); - $percent = ceil(($total_attended / $total_elders)*100); + $percent = ceil(($total_attended / $total_indivs)*100); $aveattendance_str .= "$total_attended ($percent%)"; - $total_attended = $total_elders - ceil(($ave_total_attended / $num_months)); - $percent = ceil(($total_attended / $total_elders)*100); + $total_attended = $total_indivs - ceil(($ave_total_attended / $num_months)); + $percent = ceil(($total_attended / $total_indivs)*100); $avenonattendance_str .= "$total_attended ($percent%)"; } @@ -3388,7 +3388,7 @@ class eq $this->t->set_block('form','month_list','list1'); $this->t->set_block('form','header_list','list2'); - $this->t->set_block('form','elder_list','list3'); + $this->t->set_block('form','indiv_list','list3'); $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_view')); @@ -3400,7 +3400,7 @@ class eq if($action == 'save_month' || $action == 'save_day') { - $new_data = get_var('elders_attended',array('POST')); + $new_data = get_var('indivs_attended',array('POST')); $month = $monthnum[$month]; if($month < 10) { $month = "0" . $month; } if($action == 'save_month') { @@ -3414,27 +3414,27 @@ class eq foreach ($new_data as $data) { $data_array = explode("-",$data); - $elder = $data_array[0]; + $indiv = $data_array[0]; $date = "$data_array[1]-$data_array[2]-$data_array[3]"; - $this->db->query("INSERT INTO 3rd_attendance (elder,date) " - . "VALUES (" . $elder . ",'". $date . "')",__LINE__,__FILE__); + $this->db->query("INSERT INTO 3rd_attendance (indiv,date) " + . "VALUES (" . $indiv . ",'". $date . "')",__LINE__,__FILE__); } $this->att_view(); return false; } - $sql = "SELECT * FROM 3rd_elder where valid=1"; + $sql = "SELECT * FROM 3rd_indiv where valid=1"; $this->db->query($sql,__LINE__,__FILE__); $i=0; while ($this->db->next_record()) { - $elder_name[$i] = $this->db->f('name'); - $elder_id[$i] = $this->db->f('elder'); - $elder_attending[$elder_id[$i]] = $this->db->f('attending'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_attending[$indiv_id[$i]] = $this->db->f('attending'); $i++; } - array_multisort($elder_name, $elder_id); + array_multisort($indiv_name, $indiv_id); if($action == 'update_month') { @@ -3466,7 +3466,7 @@ class eq $this->t->set_var('month',$sunday_list[$i-1]['month']); $this->t->set_var('year',$sunday_list[$i-1]['year']); $this->t->fp('list1','month_list',True); - $elder_width=200; $att_width=25; $total_width=$elder_width; + $indiv_width=200; $att_width=25; $total_width=$indiv_width; for ($i=0; $i < count($sunday_list); $i++) { $link_data['menuaction'] = 'eq.eq.att_update'; $link_data['month'] = $sunday_list[$i]['month']; @@ -3498,25 +3498,25 @@ class eq $this->t->fp('list2','header_list',True); } - for ($i=0; $i < count($elder_id); $i++) { + for ($i=0; $i < count($indiv_id); $i++) { $att_table = ""; $this->nextmatchs->template_alternate_row_color(&$this->t); - $this->t->set_var('elder_name',$elder_name[$i]); + $this->t->set_var('indiv_name',$indiv_name[$i]); for ($j=0; $j < count($sunday_list); $j++) { $sql = "SELECT * FROM 3rd_attendance WHERE date='" - . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i]; + . $sunday_list[$j]['date'] . "' AND indiv=" . $indiv_id[$i]; $this->db->query($sql,__LINE__,__FILE__); - $value = $elder_id[$i] . "-" . $sunday_list[$j]['date']; + $value = $indiv_id[$i] . "-" . $sunday_list[$j]['date']; if($this->db->next_record()) { - $att_table .= ''; - } else if($elder_attending[$elder_id[$i]] == 1) { - $att_table .= ''; + $att_table .= ''; + } else if($indiv_attending[$indiv_id[$i]] == 1) { + $att_table .= ''; } else { - $att_table .= ''; + $att_table .= ''; } } $this->t->set_var('att_table',$att_table); - $this->t->fp('list3','elder_list',True); + $this->t->fp('list3','indiv_list',True); } $this->t->set_var('lang_done', 'Cancel'); @@ -3637,7 +3637,7 @@ class eq $action = get_var('action',array('GET','POST')); $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.schedule&action=save')); - $this->t->set_var('title','EQ Scheduling Tool'); + $this->t->set_var('title','Scheduling Tool'); $this->t->set_var('lang_save','Save Schedule'); $this->t->set_var('lang_reset','Cancel'); @@ -3651,11 +3651,11 @@ class eq $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'); - $date_width=150; $time_width=220; $elder_width=170; $family_width=180; $location_width=100; - $table_width=$date_width + $time_width + $elder_width + $family_width + $location_width; + $date_width=150; $time_width=220; $indiv_width=170; $family_width=180; $location_width=100; + $table_width=$date_width + $time_width + $indiv_width + $family_width + $location_width; $header_row = "Date"; $header_row.= "Time"; - $header_row.= "Elder"; + $header_row.= "individual"; $header_row.= "Family"; $header_row.= "Location"; $table_data = ""; @@ -3667,13 +3667,13 @@ class eq { $presidency_data[$i]['id'] = $this->db->f('presidency'); $presidency_data[$i]['name'] = $this->db->f('name'); - $presidency_data[$i]['elder'] = $this->db->f('elder'); + $presidency_data[$i]['indiv'] = $this->db->f('indiv'); $presidency2name[$presidency_data[$i]['id']] = $presidency_data[$i]['name']; - $presidency2elder[$presidency_data[$i]['id']] = $presidency_data[$i]['elder']; + $presidency2indiv[$presidency_data[$i]['id']] = $presidency_data[$i]['indiv']; $i++; } - $sql = "SELECT * FROM 3rd_family where valid=1 and elder_id != 0 ORDER BY name ASC"; + $sql = "SELECT * FROM 3rd_family where valid=1 and indiv_id != 0 ORDER BY name ASC"; $this->db->query($sql,__LINE__,__FILE__); $i=0; while ($this->db->next_record()) @@ -3704,7 +3704,7 @@ class eq $hour = $entry['hour']; $minute = $entry['minute']; $pm = $entry['pm']; - $elder = $entry['elder']; + $indiv = $entry['indiv']; $family = $entry['family']; $location = $entry['location']; if($pm) { $hour = $hour + 12; } @@ -3719,10 +3719,10 @@ class eq $family_address = $familyid2address[$family]; $location = "$family_last_name"." home ($family_address)"; } - else if($elder > 0) { + else if($indiv > 0) { $supervisor_name_array = explode(",",$presidency2name[$presidency]); $supervisor_last_name = $supervisor_name_array[0]; - $sql = "SELECT * FROM 3rd_elder where elder='$presidency2elder[$presidency]'"; + $sql = "SELECT * FROM 3rd_indiv where indiv='$presidency2indiv[$presidency]'"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { $indiv_id = $this->db2->f('indiv_id'); @@ -3736,14 +3736,14 @@ class eq } } - // Zero out the family or elder if date = NULL + // Zero out the family or individual if date = NULL if($date == "") { - $elder = 0; + $indiv = 0; $family = 0; $location = ""; } - if(($elder == 0) && ($family == 0)) { $location = ""; } + if(($indiv == 0) && ($family == 0)) { $location = ""; } // Update an existing appointment if($appointment < $this->max_appointments) @@ -3752,7 +3752,7 @@ class eq $sql = "SELECT * FROM 3rd_appointment where " . "appointment='$appointment'" . " and presidency='$presidency'" . - " and elder='$elder'" . + " and indiv='$indiv'" . " and family='$family'" . " and date='$date'" . " and time='$time'" . @@ -3763,7 +3763,7 @@ class eq $old_time = $this->db->f('time'); $this->db2->query("UPDATE 3rd_appointment set" . " family=" . $family . - " ,elder=" . $elder . + " ,indiv=" . $indiv . " ,date='" . $date . "'" . " ,time='" . $time . "'" . " ,location='" . $location . "'" . @@ -3778,15 +3778,15 @@ class eq // Add a new appointment else if(($appointment >= $this->max_appointments) && ($date != "") && ($time != "")) { - //print "adding entry: appt=$appointment date: $date time: $time elder: $elder family: $family
"; - $this->db2->query("INSERT INTO 3rd_appointment (appointment,presidency,family,elder,date,time,location,uid) " - . "VALUES (NULL,'" . $presidency . "','" . $family . "','" . $elder . "','" + //print "adding entry: appt=$appointment date: $date time: $time indiv: $indiv family: $family
"; + $this->db2->query("INSERT INTO 3rd_appointment (appointment,presidency,family,indiv,date,time,location,uid) " + . "VALUES (NULL,'" . $presidency . "','" . $family . "','" . $indiv . "','" . $date . "','" . $time . "','" . $location . "','" . $uid ."')",__LINE__,__FILE__); // Now reselect this entry from the database to see if we need // to send an appointment out for it. $sql = "SELECT * FROM 3rd_appointment where " . - "elder='$elder'" . + "indiv='$indiv'" . " and family='$family'" . " and presidency='$presidency'" . " and date='$date'" . @@ -3796,7 +3796,7 @@ class eq $this->db3->query($sql,__LINE__,__FILE__); if($this->db3->next_record()) { // Email the appointment if warranted - if(($date != "") && ($time != "") && (($elder > 0) || $family > 0)) { + if(($date != "") && ($time != "") && (($indiv > 0) || $family > 0)) { $this->email_appt($this->db3->f('appointment')); } } @@ -3808,21 +3808,21 @@ class eq //Header('Location: ' . $take_me_to_url); } - $sql = "SELECT * FROM 3rd_elder where valid=1 ORDER BY elder ASC"; + $sql = "SELECT * FROM 3rd_indiv where valid=1 ORDER BY indiv 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'); + $indiv_id[$i] = $this->db->f('indiv'); + $indiv_name[$i] = $this->db->f('name'); + $indiv_phone[$indiv_id[$i]] = $this->db->f('phone'); $i++; } - array_multisort($elder_name, $elder_id); + array_multisort($indiv_name, $indiv_id); for ($i=0; $i < count($presidency_data); $i++) { $presidency = $presidency_data[$i]['id']; - $interviewer = $presidency_data[$i]['elder']; + $interviewer = $presidency_data[$i]['indiv']; $name = $presidency_data[$i]['name']; $this->t->set_var('presidency_name',$name); $table_data=""; @@ -3835,7 +3835,7 @@ class eq while ($this->db->next_record()) { $appointment = $this->db->f('appointment'); - $elder = $this->db->f('elder'); + $indiv = $this->db->f('indiv'); $family = $this->db->f('family'); $location = $this->db->f('location'); @@ -3846,10 +3846,10 @@ class eq $family_address = $familyid2address[$family]; $location = "$family_last_name"." home ($family_address)"; } - else if($elder > 0) { + else if($indiv > 0) { $supervisor_name_array = explode(",",$presidency2name[$presidency]); $supervisor_last_name = $supervisor_name_array[0]; - $sql = "SELECT * FROM 3rd_elder where elder='$presidency2elder[$presidency]'"; + $sql = "SELECT * FROM 3rd_indiv where indiv='$presidency2indiv[$presidency]'"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { $indiv_id = $this->db2->f('indiv_id'); @@ -3888,13 +3888,13 @@ class eq $table_data .= $this->get_time_selection_form($hour, $minute, $pm, $presidency, $appointment); $table_data.= ""; - // Elder drop down list (for PPIs) - $table_data.= ''; $table_data.= ''; - for ($j=0; $j < count($elder_id); $j++) { - $id = $elder_id[$j]; - $name = $elder_name[$j]; - if($elder_id[$j] == $elder) { $selected[$id] = 'selected="selected"'; } else { $selected[$id] = ''; } + for ($j=0; $j < count($indiv_id); $j++) { + $id = $indiv_id[$j]; + $name = $indiv_name[$j]; + if($indiv_id[$j] == $indiv) { $selected[$id] = 'selected="selected"'; } else { $selected[$id] = ''; } $table_data.= ''; } $table_data.=''; @@ -3902,7 +3902,7 @@ class eq // Family drop down list (for Visits) $table_data.= ''; + // individual drop down list + $table_data.= ''; @@ -3950,7 +3950,7 @@ class eq // Family drop down list $table_data.= ''; - // Elder + // individual if($eqpresidency == 0) { - $table_data.= ''; $table_data.= ''; - for ($j=0; $j < count($elder_id); $j++) { - $tmp_id = $elder_id[$j]; - $name = $elder_name[$j]; - if($elder_id[$j] == $elder) { $eldername = $name; $selected = 'selected="selected"'; } else { $selected = ''; } + for ($j=0; $j < count($indiv_id); $j++) { + $tmp_id = $indiv_id[$j]; + $name = $indiv_name[$j]; + if($indiv_id[$j] == $indiv) { $indivname = $name; $selected = 'selected="selected"'; } else { $selected = ''; } $table_data.= ''; } $table_data.=''; - $table_data.=''; + $table_data.=''; } else { - $table_data.= ''; - $table_data.= ''; + $table_data.= ''; + $table_data.= ''; } // Email Address @@ -4324,7 +4324,7 @@ class eq else { $table_data .= ''; } $table_data.=''; - // EQ Presidency + // Presidency $table_data.= ''; - // Elder - $table_data.= ''; $table_data.= ''; - for ($j=0; $j < count($elder_id); $j++) { - $tmp_id = $elder_id[$j]; - $name = $elder_name[$j]; + for ($j=0; $j < count($indiv_id); $j++) { + $tmp_id = $indiv_id[$j]; + $name = $indiv_name[$j]; $table_data.= ''; } $table_data.=''; @@ -4373,7 +4373,7 @@ class eq $table_data.= ''; - // EQ Presidency + // Presidency $table_data.= ''; @@ -4403,8 +4403,8 @@ class eq $location = $this->db->f('location'); $interviewer = ""; $email = ""; - $elder = $this->db->f('elder'); - $elder_name = ""; + $indiv = $this->db->f('indiv'); + $indiv_name = ""; $family = $this->db->f('family'); $family_name = ""; $appt_name = ""; @@ -4434,13 +4434,13 @@ class eq // Set the email address of the interviewer $from = $email; - if($elder > 0) { - $sql = "SELECT * FROM 3rd_elder where elder='$elder'"; + if($indiv > 0) { + $sql = "SELECT * FROM 3rd_indiv where indiv='$indiv'"; $this->db2->query($sql,__LINE__,__FILE__); if($this->db2->next_record()) { - $elder_name = $this->db2->f('name'); + $indiv_name = $this->db2->f('name'); $phone = $this->db2->f('phone'); - $appt_name = $elder_name . " Interview"; + $appt_name = $indiv_name . " Interview"; $duration = $this->default_ppi_appt_duration * 60; } } @@ -4451,9 +4451,9 @@ class eq if($this->db2->next_record()) { $family_name = $this->db2->f('name'); $phone = $this->db2->f('phone'); - $elder_id = $this->db2->f('elder_id'); + $indiv_id = $this->db2->f('indiv_id'); $appt_name = $family_name . " Family Visit"; - $sql = "SELECT * FROM 3rd_elder where elder='$elder_id'"; + $sql = "SELECT * FROM 3rd_indiv where indiv='$indiv_id'"; $this->db3->query($sql,__LINE__,__FILE__); if($this->db3->next_record()) { $phone = $this->db3->f('phone'); diff --git a/inc/functions.inc.php b/inc/functions.inc.php index 525213b..d4e9d22 100644 --- a/inc/functions.inc.php +++ b/inc/functions.inc.php @@ -1,6 +1,6 @@ $GLOBALS['phpgw']->link('/eq/preferences.php'), +// 'Preferences' => $GLOBALS['phpgw']->link('/3rd/preferences.php'), // 'Grant Access' => $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname), // 'Edit categories' => $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app=' . $appname . '&cats_level=True&global_cats=True') ); diff --git a/index.php b/index.php index cd7662c..9da48c9 100644 --- a/index.php +++ b/index.php @@ -13,7 +13,7 @@ $GLOBALS['phpgw_info']['flags'] = array ( - 'currentapp' => 'eq', + 'currentapp' => '3rd', 'noheader' => True, 'nonavbar' => True ); @@ -29,7 +29,7 @@ } else { - $app = 'eq'; + $app = '3rd'; $class = 'eq'; $invalid_data = True; } diff --git a/setup/eq_config b/setup/3rd_config similarity index 100% rename from setup/eq_config rename to setup/3rd_config diff --git a/setup/db_config b/setup/db_config index 085075f..9cef5a4 100644 --- a/setup/db_config +++ b/setup/db_config @@ -1,5 +1,5 @@ ################################################################################ -# This is a perl module included by the perl scripts for this EQ application. +# This is a perl module included by the perl scripts for this application. # You must modify these values to match your system configuration. # Save the resulting file as "db_config.local" in this setup dir. # This will prevent your settings from being overwritten by future code updates. diff --git a/setup/setup.inc.php b/setup/setup.inc.php index 9c64406..3db28ab 100644 --- a/setup/setup.inc.php +++ b/setup/setup.inc.php @@ -12,8 +12,8 @@ /* $Id: setup.inc.php,v 1.9.4.2 2004/03/07 02:14:23 skwashd Exp $ */ /* Basic information about this app */ - $setup_info['eq']['name'] = 'eq'; - $setup_info['eq']['title'] = 'Elders Quorum Tools'; + $setup_info['eq']['name'] = '3rd'; + $setup_info['eq']['title'] = '3rd Counselor'; $setup_info['eq']['version'] = '0.2.0'; $setup_info['eq']['app_order'] = 8; $setup_info['eq']['enable'] = 1; @@ -22,7 +22,7 @@ $setup_info['eq']['author'] = 'Alan J. Pippin'; $setup_info['eq']['license'] = 'GPL'; $setup_info['eq']['description'] = - 'This app provides tools to help manage an Elders Quorum'; + 'This app provides tools to help manage a Priesthood Quorum'; $setup_info['eq']['note'] = 'This was created for the Miramont Ward.'; $setup_info['eq']['maintainer'] = 'Alan J. Pippin'; diff --git a/sql/3rd.jpg b/sql/3rd.jpg index 2ed2a4255ca5d30a6abf59ef02ac7a806d46ab4d..4a398e5f45dce3ff1407476994ab4843efbaffbb 100644 GIT binary patch delta 102606 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 N$xEyvIN)E?{|E1cNxuL9 delta 98923 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 A_y7O^ diff --git a/sql/3rd.sql b/sql/3rd.sql index 7febfe4..7de171d 100644 --- a/sql/3rd.sql +++ b/sql/3rd.sql @@ -43,7 +43,7 @@ CREATE TABLE `3rd_appointment` ( `appointment` int(16) unsigned NOT NULL auto_increment, `presidency` int(16) unsigned NOT NULL default '0', `family` int(16) unsigned default '0', - `elder` int(16) unsigned default '0', + `indiv` int(16) unsigned default '0', `date` date NOT NULL default '0000-00-00', `time` time NOT NULL default '00:00:00', `location` varchar(120) default NULL, @@ -74,9 +74,9 @@ UNLOCK TABLES; -- Table structure for table `3rd_attendance` -- CREATE TABLE `3rd_attendance` ( - `elder` int(16) unsigned NOT NULL default '0', + `indiv` int(16) unsigned NOT NULL default '0', `date` date default NULL, - KEY `elder` (`elder`) + KEY `indiv` (`indiv`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- @@ -111,7 +111,7 @@ CREATE TABLE `3rd_child` ( CREATE TABLE `3rd_companionship` ( `companionship` int(16) unsigned NOT NULL default '0', - `elder` int(16) unsigned NOT NULL default '0', + `indiv` int(16) unsigned NOT NULL default '0', `aaronic` int(16) unsigned NOT NULL default '0', `district` int(16) unsigned default NULL, `valid` tinyint(1) default NULL, @@ -130,10 +130,10 @@ CREATE TABLE `3rd_district` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- --- Table structure for table `3rd_elder` +-- Table structure for table `3rd_indiv` -- -CREATE TABLE `3rd_elder` ( - `elder` int(16) unsigned NOT NULL auto_increment, +CREATE TABLE `3rd_indiv` ( + `indiv` int(16) unsigned NOT NULL auto_increment, `indiv_id` int(16) unsigned NOT NULL, `name` varchar(60) default NULL, `phone` varchar(12) default NULL, @@ -146,7 +146,7 @@ CREATE TABLE `3rd_elder` ( `int_notes` varchar(128) default NULL, `attending` tinyint(1) default '0', `valid` tinyint(1) default NULL, - PRIMARY KEY (`elder`) + PRIMARY KEY (`indiv`) ) ENGINE=MyISAM AUTO_INCREMENT=105 DEFAULT CHARSET=latin1; -- @@ -157,7 +157,7 @@ CREATE TABLE `3rd_family` ( `hofh_id` int(16) unsigned NOT NULL default '0', `name` varchar(30) NOT NULL default '', `name_id` varchar(30) NOT NULL default '', - `elder_id` int(16) unsigned default '0', + `indiv_id` int(16) unsigned default '0', `companionship` int(16) unsigned default NULL, `visit_pri` int(10) unsigned default '1', `visit_notes` varchar(128) default NULL, @@ -184,9 +184,9 @@ CREATE TABLE `3rd_parent` ( -- Table structure for table `3rd_participation` -- CREATE TABLE `3rd_participation` ( - `elder` int(16) unsigned NOT NULL default '0', + `indiv` int(16) unsigned NOT NULL default '0', `activity` int(16) unsigned default NULL, - UNIQUE KEY `activity_ndx` (`elder`,`activity`) + UNIQUE KEY `activity_ndx` (`indiv`,`activity`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- @@ -195,7 +195,7 @@ CREATE TABLE `3rd_participation` ( CREATE TABLE `3rd_interview` ( `interview` int(16) unsigned NOT NULL auto_increment, `interviewer` int(16) unsigned default NULL, - `elder` int(16) unsigned default NULL, + `indiv` int(16) unsigned default NULL, `aaronic` int(16) unsigned NOT NULL default '0', `date` date default NULL, `notes` text, @@ -209,7 +209,7 @@ CREATE TABLE `3rd_interview` ( -- CREATE TABLE `3rd_presidency` ( `presidency` int(16) unsigned NOT NULL auto_increment, - `elder` int(16) unsigned NOT NULL default '0', + `indiv` int(16) unsigned NOT NULL default '0', `district` int(16) unsigned default '0', `name` varchar(60) NOT NULL, `email` varchar(60) NOT NULL, @@ -219,7 +219,7 @@ CREATE TABLE `3rd_presidency` ( `eqpres` tinyint(1) default '0', `valid` tinyint(1) default '1', KEY `presidency` (`presidency`), - KEY `elder` (`elder`) + KEY `indiv` (`indiv`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1; -- @@ -242,8 +242,8 @@ CREATE TABLE `3rd_visit` ( -- Table structure for table `3rd_willingness` -- CREATE TABLE `3rd_willingness` ( - `elder` int(16) unsigned NOT NULL, + `indiv` int(16) unsigned NOT NULL, `assignment` int(16) unsigned NOT NULL, `willing` enum('y','n','') NOT NULL, - KEY `elder` (`elder`,`assignment`) + KEY `indiv` (`indiv`,`assignment`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; diff --git a/sql/schema.dot b/sql/schema.dot index 16530d4..8435656 100644 --- a/sql/schema.dot +++ b/sql/schema.dot @@ -3,15 +3,15 @@ digraph schema { rankdir = "LR" ]; family [ - label = " family|| companionship| name_id| hofh_id| elder_id| visit_pri| visit_notes| valid" + label = " family|| hofh_id| name| name_id| indiv_id| companionship| visit_pri| visit_notes| valid" shape = "record" ]; - elder [ - label = " elder|| name|

phone| email| priesthood| prospective| ppi_pri| ppi_notes| int_pri| int_notes| attending| valid" + indiv [ + label = " indiv|| indiv_id| name|

phone| email| priesthood| prospective| ppi_pri| ppi_notes| int_pri| int_notes| attending| valid" shape = "record" ]; companionship [ - label = " companionship|| elder| aaronic| district| valid" + label = " companionship|| indiv| aaronic| district| valid" shape = "record" ]; visit [ @@ -19,7 +19,7 @@ digraph schema { shape = "record" ]; interview [ - label = " interview|| interviewer| elder| aaronic| date| notes| interview_type" + label = " interview|| interviewer| indiv| aaronic| date| notes| interview_type" shape = "record" ]; activity [ @@ -27,15 +27,15 @@ digraph schema { shape = "record" ]; participation [ - label = "participation|| elder| activity" + label = "participation|| indiv| activity" shape = "record" ]; attendance [ - label = "attendance|| elder| date" + label = "attendance|| indiv| date" shape = "record" ]; child [ - label = " child|| family| indiv_id| name| birthday| valid" + label = " child|| family| name| birthday| indiv_id| valid" shape = "record" ]; parent [ @@ -47,7 +47,7 @@ digraph schema { shape = "record" ]; appointment [ - label = " appointment||

presidency| family| elder | date| time| uid" + label = " appointment||

presidency| family| indiv | date| time| location| uid" shape = "record" ]; assignment [ @@ -63,42 +63,42 @@ digraph schema { shape = "record" ]; presidency [ - label = "

presidency|| elder| district| name| email| president| counselor| secreatary| valid" + label = "

presidency|| indiv| district| name| email| president| counselor| secreatary| valid" shape = "record" ]; willingness [ - label = " elder|| assignment| willing" + label = " indiv|| assignment| willing" shape = "record" ]; family:c -> companionship:c - companionship:e -> elder:e + companionship:i -> indiv:i companionship:a -> aaronic:a - appointment:e -> elder:e + appointment:i -> indiv:i appointment:f -> family:f - interview:e -> elder:e - interview:i -> elder:e + interview:il -> indiv:i + interview:i -> indiv:i interview:a -> aaronic:a - presidency:e -> elder:e + presidency:i -> indiv:i presidency:d -> district:d - willingness:e -> elder:e + willingness:i -> indiv:i willingness:a -> assignment:a activity:s -> assignment:a visit:c -> companionship:c visit:f -> family:f - visit:c1 -> presidency:e - visit:c2 -> presidency:e + visit:c1 -> presidency:i + visit:c2 -> presidency:i - participation:e -> elder:e + participation:i -> indiv:i participation:a -> activity:a - attendance:e -> elder:e + attendance:i -> indiv:i child:f -> family:f parent:f -> family:f diff --git a/templates/default/act_update.tpl b/templates/default/act_update.tpl index 2fc4dde..4550f00 100644 --- a/templates/default/act_update.tpl +++ b/templates/default/act_update.tpl @@ -23,11 +23,11 @@ - + - -
Elders Attending
Individuals Attending
{elder_name}{table_sep} - + + {indiv_name}{table_sep} +
diff --git a/templates/default/act_view.tpl b/templates/default/act_view.tpl index fe91407..9d3b1c7 100644 --- a/templates/default/act_view.tpl +++ b/templates/default/act_view.tpl @@ -26,10 +26,10 @@ - + -
Elders Attending
Individuals Attending
{elder_name}{table_sep} + {indiv_name}{table_sep}
diff --git a/templates/default/att_update.tpl b/templates/default/att_update.tpl index 7ee403a..2719796 100644 --- a/templates/default/att_update.tpl +++ b/templates/default/att_update.tpl @@ -6,11 +6,11 @@ - +
Elder Attendance TableAttendance Table

- Note: All Elders serving in the EQ Presidency, Young Men, Sunday School, or Primary + Note: All individuals serving in the EQ Presidency, Young Men, Sunday School, or Primary
have been automarked as attending. Feel free to adjust this accordingly.
@@ -21,15 +21,15 @@ - + - - {att_table} - + + {att_table} +
ElderIndividual {day}
{elder_name}
{indiv_name}
diff --git a/templates/default/att_view.tpl b/templates/default/att_view.tpl index 523afdc..f7a4ea9 100644 --- a/templates/default/att_view.tpl +++ b/templates/default/att_view.tpl @@ -2,7 +2,7 @@

- +
Elder Attendance TableAttendance Table

@@ -30,36 +30,36 @@ - Elder + Individual
{day} - - {elder_name}{att_table} - + + {indiv_name}{att_table} +
- {header_row} + {header_row} - + {attendance} - + {nonattendance} - + {aveattendance} - + {avenonattendance}
{total_elders} Total Elders
{total_indivs} Total Individuals
Elders Attending:Individuals Attending:
Elders Not Attending:Individuals Not Attending:

Average Elders Attending:Average Individuals Attending:
Average Elders Not Attending:Average Individuals Not Attending:
diff --git a/templates/default/int_sched.tpl b/templates/default/int_sched.tpl index b8b3ded..2fc2415 100644 --- a/templates/default/int_sched.tpl +++ b/templates/default/int_sched.tpl @@ -12,7 +12,7 @@

- +
@@ -57,12 +57,12 @@
- +
{completed_header_row} diff --git a/templates/default/int_update.tpl b/templates/default/int_update.tpl index cfaaf4c..1613f75 100644 --- a/templates/default/int_update.tpl +++ b/templates/default/int_update.tpl @@ -3,7 +3,7 @@
- +
- All Elders with Interviews Completed + All Individuals with Interviews Completed
diff --git a/templates/default/par_view.tpl b/templates/default/par_view.tpl index 37a7625..ebf9a2c 100644 --- a/templates/default/par_view.tpl +++ b/templates/default/par_view.tpl @@ -2,24 +2,24 @@
- +
Elder Participation TableParticipation Table

- This table shows how many times each Elder has participated in each assignment and when they last did so. + This table shows how many times each individual has participated in each assignment and when they last did so.
- + - - {part_table} - + + {part_table} +
Elder
Individual
{assignment_name}
Participated
{elder_name}
{indiv_name}
diff --git a/templates/default/ppi_sched.tpl b/templates/default/ppi_sched.tpl index a130178..432a1dc 100644 --- a/templates/default/ppi_sched.tpl +++ b/templates/default/ppi_sched.tpl @@ -12,7 +12,7 @@

- +
@@ -57,12 +57,12 @@
- +
{completed_header_row} diff --git a/templates/default/ppi_update.tpl b/templates/default/ppi_update.tpl index 0c58979..e83394f 100644 --- a/templates/default/ppi_update.tpl +++ b/templates/default/ppi_update.tpl @@ -3,7 +3,7 @@
- +
- All Elders with Yearly PPI Completed + All Individuals with Yearly PPI Completed
diff --git a/templates/default/schedule.tpl b/templates/default/schedule.tpl index 358cc3a..2e1880f 100644 --- a/templates/default/schedule.tpl +++ b/templates/default/schedule.tpl @@ -23,7 +23,7 @@ {header_row} {table_data} - +
Note: Choose an Elder or Family per slot. A blank Date will delete the slot. If the Location is left blank, it will be autofilled for you.
Note: Choose an Individual or Family per slot. A blank Date will delete the slot. If the Location is left blank, it will be autofilled for you.
diff --git a/templates/default/vis_sched.tpl b/templates/default/vis_sched.tpl index 7b6431f..2a61e3e 100644 --- a/templates/default/vis_sched.tpl +++ b/templates/default/vis_sched.tpl @@ -42,7 +42,7 @@ {header_row} @@ -64,7 +64,7 @@
- All Elders with Yearly Visit Not Completed + All Families with Yearly Visit Not Completed
{completed_header_row} @@ -75,7 +75,7 @@
- All Elders with Yearly Visit Completed + All Families with Yearly Visit Completed
{totals_header_row} diff --git a/templates/default/willing_update.tpl b/templates/default/willing_update.tpl index 3cf6eee..5bf9458 100644 --- a/templates/default/willing_update.tpl +++ b/templates/default/willing_update.tpl @@ -1,6 +1,6 @@
- +
- Total EQ Presidency Yearly Visits + Total Presidency Yearly Visits
@@ -13,7 +13,7 @@
{header_row} diff --git a/templates/default/willing_view.tpl b/templates/default/willing_view.tpl index 4ae6566..2c50379 100644 --- a/templates/default/willing_view.tpl +++ b/templates/default/willing_view.tpl @@ -2,7 +2,7 @@
- Elder: {elder_name} + Individual: {indiv_name}
- +
Elder Willingness to Serve TableWillingness to Serve Table
@@ -18,19 +18,19 @@
- This table shows what assignments each Elder is willing to fulfill, and when they last did so. + This table shows what assignments each individual is willing to fulfill, and when they last did so.
- + - - {willing_table} - + + {willing_table} + {stat_table} -- 2.34.1
Elder
Individual
{assignment_name}
{elder_name}
{indiv_name}