From 5be4f84484b7a86269ae91194950a4f9c3a7550e Mon Sep 17 00:00:00 2001 From: Alan Jack Pippin <ajp@pippin.(none)> Date: Fri, 18 Nov 2005 23:27:49 -0700 Subject: [PATCH 1/1] Initial commit --- checkmark.gif | Bin 0 -> 99 bytes doc | 1 + eq.spec | 57 + help/index.php | 26 + inc/class.eq.inc.php | 1644 +++++++++++++++++ inc/functions.inc.php | 14 + inc/hook_add_def_pref.inc.php | 16 + inc/hook_admin.inc.php | 21 + inc/hook_manual.inc.php | 18 + inc/hook_preferences.inc.php | 22 + index.php | 79 + setup/phpgw_en.lang | 1 + setup/phpgw_fr.lang | 1 + setup/phpgw_sv.lang | 1 + setup/setup.inc.php | 46 + templates/default/act_list.tpl | 27 + templates/default/act_update.tpl | 64 + templates/default/act_view.tpl | 53 + templates/default/att_update.tpl | 46 + templates/default/att_view.tpl | 44 + templates/default/header.tpl | 28 + templates/default/ht_update.tpl | 41 + templates/default/ht_view.tpl | 48 + templates/default/images/navbar.gif | Bin 0 -> 2064 bytes templates/default/images/navbar.gif.old | Bin 0 -> 1161 bytes templates/default/images/navbar.png | Bin 0 -> 1963 bytes templates/default/images/navbar.png.old | Bin 0 -> 1226 bytes templates/default/par_update.tpl | 0 templates/default/par_view.tpl | 23 + templates/default/ppi_update.tpl | 71 + templates/default/ppi_view.tpl | 49 + templates/default/skel/delete.tpl | 24 + templates/default/skel/form.tpl | 64 + templates/default/skel/header.tpl | 28 + templates/default/skel/list.tpl | 50 + templates/default/skel/preference_acl.tpl | 25 + templates/default/skel/preference_acl_row.tpl | 9 + templates/default/skel/preference_colspan.tpl | 8 + templates/default/skel/preferences.tpl | 24 + templates/default/skel/view.tpl | 27 + templates/default/vis_update.tpl | 67 + templates/default/vis_view.tpl | 37 + templates/idots/images/navbar.gif | Bin 0 -> 2064 bytes templates/idots/images/navbar.old.png | Bin 0 -> 1953 bytes templates/idots/images/navbar.png | Bin 0 -> 4206 bytes templates/idots/images/unit.jpg | Bin 0 -> 7350 bytes templates/idsociety/images/navbar-over.gif | Bin 0 -> 452 bytes templates/idsociety/images/navbar-over.png | Bin 0 -> 399 bytes templates/idsociety/images/navbar.gif | Bin 0 -> 444 bytes templates/idsociety/images/navbar.png | Bin 0 -> 367 bytes x.gif | Bin 0 -> 856 bytes x.psd | Bin 0 -> 8958 bytes 52 files changed, 2804 insertions(+) create mode 100644 checkmark.gif create mode 120000 doc create mode 100644 eq.spec create mode 100644 help/index.php create mode 100644 inc/class.eq.inc.php create mode 100644 inc/functions.inc.php create mode 100644 inc/hook_add_def_pref.inc.php create mode 100644 inc/hook_admin.inc.php create mode 100644 inc/hook_manual.inc.php create mode 100644 inc/hook_preferences.inc.php create mode 100644 index.php create mode 100644 setup/phpgw_en.lang create mode 100644 setup/phpgw_fr.lang create mode 100644 setup/phpgw_sv.lang create mode 100644 setup/setup.inc.php create mode 100644 templates/default/act_list.tpl create mode 100644 templates/default/act_update.tpl create mode 100644 templates/default/act_view.tpl create mode 100644 templates/default/att_update.tpl create mode 100644 templates/default/att_view.tpl create mode 100644 templates/default/header.tpl create mode 100644 templates/default/ht_update.tpl create mode 100644 templates/default/ht_view.tpl create mode 100644 templates/default/images/navbar.gif create mode 100644 templates/default/images/navbar.gif.old create mode 100644 templates/default/images/navbar.png create mode 100644 templates/default/images/navbar.png.old create mode 100644 templates/default/par_update.tpl create mode 100644 templates/default/par_view.tpl create mode 100644 templates/default/ppi_update.tpl create mode 100644 templates/default/ppi_view.tpl create mode 100644 templates/default/skel/delete.tpl create mode 100644 templates/default/skel/form.tpl create mode 100644 templates/default/skel/header.tpl create mode 100644 templates/default/skel/list.tpl create mode 100644 templates/default/skel/preference_acl.tpl create mode 100644 templates/default/skel/preference_acl_row.tpl create mode 100644 templates/default/skel/preference_colspan.tpl create mode 100644 templates/default/skel/preferences.tpl create mode 100644 templates/default/skel/view.tpl create mode 100644 templates/default/vis_update.tpl create mode 100644 templates/default/vis_view.tpl create mode 100644 templates/idots/images/navbar.gif create mode 100644 templates/idots/images/navbar.old.png create mode 100644 templates/idots/images/navbar.png create mode 100755 templates/idots/images/unit.jpg create mode 100644 templates/idsociety/images/navbar-over.gif create mode 100644 templates/idsociety/images/navbar-over.png create mode 100644 templates/idsociety/images/navbar.gif create mode 100644 templates/idsociety/images/navbar.png create mode 100755 x.gif create mode 100755 x.psd diff --git a/checkmark.gif b/checkmark.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae70f593269f7001f3e8a35a105f6bf96ae439a2 GIT binary patch literal 99 zcmZ?wbhEHb<YC}pSoEJ^_pPH0r7D7T#)cF8($>^;9hm+8+s6Y34k-R)VPs%nXV75) z0+3n<W{rwnd(0I1E;9w{vt5vR(yo>foGcQu+%Dl@%4{LQf&jS*Y0K}e``5+7U=0Ar C-6Jai literal 0 HcmV?d00001 diff --git a/doc b/doc new file mode 120000 index 0000000..01b66f7 --- /dev/null +++ b/doc @@ -0,0 +1 @@ +../../doc/phpgroupware-skel \ No newline at end of file diff --git a/eq.spec b/eq.spec new file mode 100644 index 0000000..40621d6 --- /dev/null +++ b/eq.spec @@ -0,0 +1,57 @@ +%define packagename eq +%define phpgwdirname eq +%define version 0.0.1.000 + +# This is for Mandrake RPMS +# (move these below the RedHat ones for Mandrake RPMs) +%define httpdroot /var/www/html/phpgroupware +%define packaging 1mdk + +# This is for RedHat RPMS +# (move these below the Mandrake ones for RedHat RPMs) +%define httpdroot /home/httpd/html/phpgroupware +%define packaging 1 + +Summary: Skeleton App for phpGroupWare. +Name: %{packagename} +Version: %{version} +Release: %{packaging} +Copyright: GPL +Group: Web/Database +URL: http://www.phpgroupware.org/apps/eq/ +Source0: ftp://ftp.sourceforge.net/pub/sourceforge/phpgroupware/%{packagename}-%{version}.tar.bz2 +BuildRoot: %{_tmppath}/%{packagename}-buildroot +Prefix: %{httpdroot} +Buildarch: noarch +requires: phpgroupware >= 0.9.10 +AutoReq: 0 + +%description +This is an Elder's Quorum Presidency Application. + +%prep +%setup -n %{phpgwdirname} + +%build +# no build required + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{prefix}/%{phpgwdirname} +cp -aRf * $RPM_BUILD_ROOT%{prefix}/%{phpgwdirname} + +%clean +rm -rf $RPM_BUILD_ROOT + +%post + +%postun + +%files +%{prefix}/%{phpgwdirname} + +%changelog +* Sat May 19 2001 Dan Kuykendall <seek3r@phpgroupware.org> 0.0.1.00 +- Created eq app + +# end of file diff --git a/help/index.php b/help/index.php new file mode 100644 index 0000000..b13caa4 --- /dev/null +++ b/help/index.php @@ -0,0 +1,26 @@ +<?php + /**************************************************************************\ + * phpGroupWare - User manual * + * http://www.phpgroupware.org * + * -------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + /* $Id: index.php,v 1.2 2001/06/09 02:43:01 skeeter Exp $ */ + + $phpgw_flags = Array('currentapp' => 'manual'); + + $phpgw_info['flags'] = $phpgw_flags; + include('../../header.inc.php'); + $appname = 'eq'; + include(PHPGW_SERVER_ROOT.'/'.$appname.'/setup/setup.inc.php'); +?> + + <img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" border="0"><p/> + <font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2"> + Version: <b><?php echo $setup_info[$appname]['version']; ?></b> + </font> + + <?php $phpgw->common->phpgw_footer(); ?> diff --git a/inc/class.eq.inc.php b/inc/class.eq.inc.php new file mode 100644 index 0000000..dd3343c --- /dev/null +++ b/inc/class.eq.inc.php @@ -0,0 +1,1644 @@ +<?php + /**************************************************************************\ + * phpGroupWare - eq * + * http://www.phpgroupware.org * + * ----------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + /* $Id: class.eq.inc.php,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ */ + +class eq +{ + var $db; + var $db2; + var $t; + var $nextmatchs; + var $grants; + var $jscal; + var $cal_options; + var $default_ht_num_months; + var $default_ppi_num_months; + var $default_ppi_num_years; + var $default_att_num_months; + + var $public_functions = array + ( + 'ht_view' => True, + 'ht_update' => True, + 'act_list' => True, + 'act_view' => True, + 'act_update' => True, + 'par_view' => True, + 'ppi_view' => True, + 'ppi_update' => True, + 'vis_view' => True, + 'vis_update' => True, + 'att_view' => True, + 'att_update' => True + ); + + function eq() + { + $this->default_ht_num_months = 1; + $this->default_ppi_num_months = 1; + $this->default_ppi_num_years = 0; + $this->default_att_num_months = 1; + + $this->db = $GLOBALS['phpgw']->db; + $this->db2 = $this->db; + $this->nextmatchs = CreateObject('phpgwapi.nextmatchs'); + $this->t = $GLOBALS['phpgw']->template; + $this->account = $GLOBALS['phpgw_info']['user']['account_id']; + $this->grants = $GLOBALS['phpgw']->acl->get_grants('eq'); + $this->grants[$this->account] = PHPGW_ACL_READ + PHPGW_ACL_ADD + PHPGW_ACL_EDIT + PHPGW_ACL_DELETE; + + $this->jscal = CreateObject('phpgwapi.jscalendar'); // before phpgw_header() !!! + $this->cal_options = 'daFormat : "%Y-%m-%d", + ifFormat : "%Y-%m-%d", + mondayFirst : false, + weekNumbers : false'; + + $GLOBALS['phpgw_info']['flags']['app_header'] = 'Elders Quorum Tools'; + $GLOBALS['phpgw']->common->phpgw_header(); + echo parse_navbar(); + $this->display_app_header(); + } + + function save_sessiondata() + { + + } + + function display_app_header() + { + $this->t->set_file(array('eq_header' => 'header.tpl')); + + if (isset($phpgw_info['user']['preferences']['eq']['eq_font'])) + { + $font = $phpgw_info['user']['preferences']['eq']['eq_font']; + } + else + { + $font = 'Arial'; + } + + $this->t->set_var('bg_color',$phpgw_info['theme']['th_bg']); + $this->t->set_var('font',$font); + $link_data['menuaction'] = 'eq.eq.ht_view'; + $this->t->set_var('link_hometeaching',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_hometeaching','HomeTeaching'); + $link_data['menuaction'] = 'eq.eq.act_list'; + $this->t->set_var('link_activity',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_activity','Activities'); + $link_data['menuaction'] = 'eq.eq.par_view'; + $this->t->set_var('link_participation',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_participation','Participation'); + $link_data['menuaction'] = 'eq.eq.ppi_view'; + $this->t->set_var('link_ppi',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_ppi','PPIs'); + $link_data['menuaction'] = 'eq.eq.vis_view'; + $this->t->set_var('link_visit',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_visit','Visits'); + $link_data['menuaction'] = 'eq.eq.att_view'; + $this->t->set_var('link_attendance',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_attendance','Attendance'); + + $this->t->pparse('out','eq_header'); + } + + function ht_view() + { + $this->t->set_file(array('ht_view_t' => 'ht_view.tpl')); + $this->t->set_block('ht_view_t','district_list','list'); + + $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_view')); + $num_months = get_var('num_months',array('GET','POST')); + if($num_months == '') { $num_months = $this->default_ht_num_months; } + $this->t->set_var('num_months',$num_months); + $this->t->set_var('lang_filter','Filter'); + if($num_months == 1) { $this->t->set_var('lang_num_months','Month of History'); } + else { $this->t->set_var('lang_num_months','Months of History'); } + + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_view')); + $this->t->set_var('title','Hometeaching'); + + $sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC"; + $this->db->query($sql,__LINE__,__FILE__); + $i=0; + while ($this->db->next_record()) + { + $districts[$i]['district'] = $this->db->f('district'); + $districts[$i]['name'] = $this->db->f('name'); + $districts[$i]['supervisor'] = $this->db->f('supervisor'); + $i++; + } + + $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY elder 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'); + $i++; + } + array_multisort($elder_name, $elder_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]; + } + + $sql = "SELECT * FROM eq_aaronic where valid=1 ORDER BY aaronic ASC"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) + { + $aaronic_id = $this->db->f('aaronic'); + $aaronic[$aaronic_id]['name'] = $this->db->f('name'); + } + + $total_families = 0; + $this->nextmatchs->template_alternate_row_color(&$this->t); + for ($i=0; $i < count($districts); $i++) { + $this->t->set_var('district_number',$districts[$i]['district']); + $this->t->set_var('district_name',$districts[$i]['name']); + $supervisor = $districts[$i]['supervisor']; + $unique_companionships=''; + + // Select all the unique companionship numbers for this district + $sql = "SELECT distinct companionship FROM eq_companionship where district=". $districts[$i]['district']; + $this->db->query($sql,__LINE__,__FILE__); + $j=0; + while ($this->db->next_record()) + { + $unique_companionships[$j]['companionship'] = $this->db->f('companionship'); + $j++; + } + + $comp_width=450; $visit_width=25; $table_width=$comp_width + $num_months*$visit_width; + $table_data=""; $num_companionships = 0; $num_families = 0; + for($m=$num_months; $m >= 0; $m--) { $visits[$m] = 0; } + for ($j=0; $j < count($unique_companionships); $j++) { + $companion_table_entry = ""; + // Select all the companions in each companionship + $sql = "SELECT * FROM eq_companionship where valid=1 and ". + "companionship=". $unique_companionships[$j]['companionship']; + $this->db->query($sql,__LINE__,__FILE__); + + while ($this->db->next_record()) + { + // Get this companions information + if($companion_table_entry != "") { $companion_table_entry .= " / "; } + $companionship = $this->db->f('companionship'); + $elder_id = $this->db->f('elder'); + $aaronic_id = $this->db->f('aaronic'); + if($elder_id) { $name = $elders[$elder_id]; } + else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; } + $companion_table_entry .= "$name"; + } + $table_data.= "<tr bgcolor=#d3dce3><td colspan=20><b>$companion_table_entry<hr></td></tr>"; + + // Get the names of the families assigned this home teaching companionship + $sql = "SELECT * from eq_family where valid=1 AND companionship=".$unique_companionships[$j]['companionship']; + $this->db->query($sql,__LINE__,__FILE__); + $k=0; + while ($this->db->next_record()) + { + $num_families++; $total_families++; + $family_name = $this->db->f('name'); + $family_id = $this->db->f('family'); + $this->nextmatchs->template_alternate_row_color(&$this->t); + $table_data.="<tr bgcolor=". $this->t->get_var('tr_color') ."><td>$family_name Family</td>"; + // Find out how many times Visits were performed by this companionship + // in the past $num_months for this Family + $header_row="<th width=$comp_width><font size=-2>Families</th>"; + for($m=$num_months; $m >= 0; $m--) { + $month = date('m/Y', strtotime('-'.$m.' month')); + $month_start = date('Y-m', strtotime('-'.$m.' month')); $month_start .= "-01"; + $month_end = date('Y-m', strtotime('-'.$m.' month')); $month_end .= "-31"; + $sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ". + " AND companionship=" . $unique_companionships[$j]['companionship']. + " AND family=". $family_id; + $this->db2->query($sql,__LINE__,__FILE__); + $link_data['menuaction'] = 'eq.eq.ht_update'; + $link_data['date'] = $month_start; + $link_data['month_start'] = $month_start; + $link_data['month_end'] = $month_end; + $link_data['month'] = $month; + $link_data['district'] = $districts[$i]['district']; + $link_data['district_name'] = $districts[$i]['name']; + $link_data['action'] = 'view'; + $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data); + $header_row .= "<th width=$visit_width><font size=-2><a href=$link>$month</a></th>"; + if(!$total_visits[$m]) { $total_visits[$m] = 0; } + if($this->db2->next_record()) { + if($this->db2->f('visited') == 'y') { + $visits[$m]++; $total_visits[$m]++; + $table_data .= '<td align=center><a href="'.$link.'"><img src="checkmark.gif"></a></td>'; + } + else if($this->db2->f('visited') == 'n') { + $table_data .= '<td align=center><a href="'.$link.'"><img src="x.gif"></a></td>'; + } + else { $table_data .= "<td> </td>"; } + } + else { $table_data .= "<td> </td>"; } + } + $table_data .= "</tr>"; + $k++; + } + $table_data .= "<tr><td colspan=20></td></tr>"; + } + $table_data .= "<tr><td colspan=20><hr></td></tr>"; + $stat_data = "<tr><td><b><font size=-2>$num_families Families<br>Visit Totals:</font></b></td>"; + + for($m=$num_months; $m >=0; $m--) { + $percent = ceil(($visits[$m] / $num_families)*100); + $stat_data .= "<td align=center><font size=-2><b>$visits[$m]<br>$percent%</font></b></td>"; + } + $stat_data .= "</tr>"; + + $this->t->set_var('table_width',$table_width); + $this->t->set_var('header_row',$header_row); + $this->t->set_var('table_data',$table_data); + $this->t->set_var('stat_data',$stat_data); + $this->t->fp('list','district_list',True); + } + + $totals = "<tr><td><b><font size=-2>$total_families Total Families<br>Visit Totals:</font></b></td>"; + for($m=$num_months; $m >=0; $m--) { + $percent = ceil(($total_visits[$m] / $total_families)*100); + $totals .= "<td align=center><font size=-2><b>$total_visits[$m]<br>$percent%</font></b></td>"; + } + $totals .= "</tr>"; + + $this->t->set_var('totals',$totals); + + $this->t->pfp('out','ht_view_t'); + $this->save_sessiondata(); + } + + + function ht_update() + { + $this->t->set_file(array('ht_update_t' => 'ht_update.tpl')); + $this->t->set_block('ht_update_t','district_list','list'); + $this->t->set_block('ht_update_t','save','savehandle'); + + $district = get_var('district',array('GET','POST')); + $district_name = get_var('district_name',array('GET','POST')); + $date = get_var('date',array('GET','POST')); + $month = get_var('month',array('GET','POST')); + $month_start = get_var('month_start',array('GET','POST')); + $month_end = get_var('month_end',array('GET','POST')); + $action = get_var('action',array('GET','POST')); + + $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_view')); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_update&action=save')); + $this->t->set_var('lang_done','Cancel'); + $this->t->set_var('district_name',$district_name); + $this->t->set_var('district_number',$district); + $this->t->set_var('title','Hometeaching Update ' . $month); + $this->t->set_var('date',$date); + + if($action == 'save') + { + // Get a list of all the companionships in this district + $sql = "SELECT distinct companionship FROM eq_companionship where district=". $district; + $this->db->query($sql,__LINE__,__FILE__); + $j=0; + while ($this->db->next_record()) + { + $unique_companionships[$j]['companionship'] = $this->db->f('companionship'); + $j++; + } + for ($j=0; $j < count($unique_companionships); $j++) + { + // Delete all the visits that have taken place for all families for this month + $this->db->query("DELETE from eq_visit where companionship=" . $unique_companionships[$j]['companionship'] . + " AND " . "date='" . $date . "'",__LINE__,__FILE__); + } + + // Now, add the visits that are checked for this month + $new_data = get_var('family_visited',array('POST')); + foreach ($new_data as $family) + { + foreach ($family as $data) + { + //print "family_visited: $data <br>"; + $data_array = explode("/",$data); + $family_id = $data_array[0]; + $companionship = $data_array[1]; + $date = $data_array[2]; + $visited = $data_array[3]; + if($visited == "") { $visited = $data_array[4]; } + //print "family_id: $family_id companionship: $companionship date: $date visited: $visited<br>"; + $this->db->query("INSERT INTO eq_visit (family,companionship,date,notes,visited) " + . "VALUES (" . $family_id .",". $companionship .",'". $date ."','','". $visited ."')",__LINE__,__FILE__); + } + } + $this->ht_view(); + return false; + } + + $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY elder 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'); + $i++; + } + array_multisort($elder_name, $elder_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]; + } + + $sql = "SELECT * FROM eq_aaronic where valid=1 ORDER BY aaronic ASC"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) + { + $aaronic_id = $this->db->f('aaronic'); + $aaronic[$aaronic_id]['name'] = $this->db->f('name'); + } + + // Select all the unique companionship numbers for this district + $sql = "SELECT distinct companionship FROM eq_companionship where district=". $district; + $this->db->query($sql,__LINE__,__FILE__); + $j=0; $unique_companionships=''; + while ($this->db->next_record()) + { + $unique_companionships[$j]['companionship'] = $this->db->f('companionship'); + $j++; + } + + $comp_width=300; $visit_width=25; $table_width=$comp_width + $num_months*$visit_width; + $table_data=""; $num_companionships = 0; $num_families = 0; $visits=0; + for ($j=0; $j < count($unique_companionships); $j++) { + $companion_table_entry = ""; + // Select all the companions in each companionship + $sql = "SELECT * FROM eq_companionship where valid=1 and ". + "companionship=". $unique_companionships[$j]['companionship']; + $this->db->query($sql,__LINE__,__FILE__); + + while ($this->db->next_record()) + { + // Get this companions information + if($companion_table_entry != "") { $companion_table_entry .= " / "; } + $companionship = $this->db->f('companionship'); + $elder_id = $this->db->f('elder'); + $aaronic_id = $this->db->f('aaronic'); + if($elder_id) { $name = $elders[$elder_id]; } + else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; } + $companion_table_entry .= "$name"; + } + $table_data.= "<tr bgcolor=#d3dce3><td colspan=20><b>$companion_table_entry</b><hr></td></tr>"; + + // Get the names of the families assigned this home teaching companionship + $sql = "SELECT * from eq_family where valid=1 AND companionship=".$unique_companionships[$j]['companionship']; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) + { + $num_families++; $total_families++; + $family_name = $this->db->f('name'); + $family_id = $this->db->f('family'); + $this->nextmatchs->template_alternate_row_color(&$this->t); + $table_data.="<tr bgcolor=". $this->t->get_var('tr_color') ."><td>$family_name Family</td>"; + + $header_row="<th width=$comp_width><font size=-2>Families</th>"; + $sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ". + " AND companionship=" . $unique_companionships[$j]['companionship'] . + " AND family=". $family_id; + $this->db2->query($sql,__LINE__,__FILE__); + $value = $family_id . "/" . $unique_companionships[$j]['companionship'] . "/" . $date; + $header_row .= "<th width=$visit_width><font size=-2><a href=$link>$month</a></th>"; + if(!$total_visits) { $total_visits = 0; } + if($this->db2->next_record()) { + if($this->db2->f('visited') == 'y') { + $visits++; $total_visits++; + $table_data .= '<td width=100 align=center>'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/y" checked>Y'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/n">N'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/"> '; + $table_data .= '</td>'; + } else if($this->db2->f('visited') == 'n') { + $table_data .= '<td width=100 align=center>'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/y">Y'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/n" checked>N'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/">'; + $table_data .= '</td>'; + } else { + $table_data .= '<td width=100 align=center>'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/y">Y'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/n">N'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/" checked> '; + $table_data .= '</td>'; + } + } + else { + $value .= "/"; + $table_data .= '<td width=100 align=center>'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/y">Y'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/n">N'; + $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/" checked> '; + $table_data .= '</td>'; + } + } + $table_data .= "</tr>"; + $table_data .= "<tr><td colspan=20></td></tr>"; + } + $table_data .= "<tr><td colspan=20><hr></td></tr>"; + $stat_data = "<tr><td><b><font size=-2>$num_families Families<br>Visit Totals:</font></b></td>"; + + $percent = ceil(($visits / $num_families)*100); + $stat_data .= "<td align=center><font size=-2><b>$visits<br>$percent%</font></b></td>"; + $stat_data .= "</tr>"; + + $this->t->set_var('table_width',$table_width); + $this->t->set_var('header_row',$header_row); + $this->t->set_var('table_data',$table_data); + $this->t->set_var('stat_data',$stat_data); + $this->t->fp('list','district_list',True); + + $this->t->set_var('lang_reset','Clear Form'); + $this->t->set_var('lang_save','Save Changes'); + $this->t->set_var('savehandle',''); + + $this->t->pfp('out','ht_update_t'); + $this->t->pfp('addhandle','save'); + + $this->save_sessiondata(); + } + + function act_list() + { + $this->t->set_file(array('act_list_t' => 'act_list.tpl')); + $this->t->set_block('act_list_t','act_list','list'); + + $this->t->set_var('lang_name','Activity Name'); + $this->t->set_var('lang_date','Date'); + + $sql = "SELECT * FROM eq_activity ORDER BY date DESC"; + $this->db->query($sql,__LINE__,__FILE__); + $total_records = $this->db->num_rows(); + + $i = 0; + while ($this->db->next_record()) + { + $activity_list[$i]['name'] = $this->db->f('name'); + $activity_list[$i]['date'] = $this->db->f('date'); + $activity_list[$i]['activity'] = $this->db->f('activity'); + $i++; + } + + for ($i=0; $i < count($activity_list); $i++) + { + $this->nextmatchs->template_alternate_row_color(&$this->t); + $this->t->set_var('name',$activity_list[$i]['name']); + $this->t->set_var('date',$activity_list[$i]['date']); + + $link_data['menuaction'] = 'eq.eq.act_view'; + $link_data['activity'] = $activity_list[$i]['activity']; + $link_data['action'] = 'view'; + $this->t->set_var('view',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_view','View'); + + $link_data['menuaction'] = 'eq.eq.act_update'; + $link_data['activity'] = $activity_list[$i]['activity']; + $link_data['action'] = 'edit'; + $this->t->set_var('edit',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_edit','Edit'); + + $link_data['menuaction'] = 'eq.eq.act_update'; + $link_data['activity'] = '0'; + $link_data['action'] = 'add'; + $this->t->set_var('add','<form method="POST" action="' . $GLOBALS['phpgw']->link('/eq/index.php',$link_data) + . '"><input type="submit" name="Add" value="' . 'Add Activity' .'"></font></form>'); + + $this->t->fp('list','act_list',True); + } + + $this->t->pfp('out','act_list_t'); + $this->save_sessiondata(); + } + + function act_view() + { + $this->t->set_file(array('act_view_t' => 'act_view.tpl')); + $this->t->set_block('act_view_t','part_list','list'); + + $sql = "SELECT * FROM eq_activity WHERE activity=" . intval(get_var('activity',array('GET','POST'))); + $this->db->query($sql,__LINE__,__FILE__); + $this->db->next_record(); + $this->t->set_var('name', $this->db->f('name')); + $this->t->set_var('date', $this->db->f('date')); + $this->t->set_var('notes', $this->db->f('notes')); + + $this->t->set_var('lang_name','Activity Name'); + $this->t->set_var('lang_date','Date'); + $this->t->set_var('lang_notes','Notes'); + $this->t->set_var('lang_done','Done'); + $this->t->set_var('lang_action','View'); + + $tr_color = $this->nextmatchs->alternate_row_color($tr_color); + $this->t->set_var('tr_color',$tr_color); + + $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.act_list')); + + $link_data['menuaction'] = 'eq.eq.act_update'; + $link_data['activity'] = get_var('activity',array('GET','POST')); + $link_data['action'] = 'edit'; + $this->t->set_var('edit',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $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 + $sql = "SELECT * FROM eq_participation WHERE activity=" . intval(get_var('activity',array('GET','POST'))); + $this->db->query($sql,__LINE__,__FILE__); + $total_records = $this->db->num_rows(); + + $i = 0; + while ($this->db->next_record()) + { + $part_list[$i]['elder'] = $this->db->f('elder'); + $i++; + } + + for ($i=0; $i < count($part_list); $i++) + { + $sql = "SELECT * FROM eq_elder WHERE elder=" . $part_list[$i]['elder']; + $this->db->query($sql,__LINE__,__FILE__); + $this->db->next_record(); + $names[$i] = $this->db->f('name'); + } sort($names); + + for ($i=0; $i < count($names); $i++) + { + //$this->nextmatchs->template_alternate_row_color(&$this->t); + $this->t->set_var('elder_name',$names[$i]); + if(($i+1) % 3 == 0) { $this->t->set_var('table_sep',"</td></tr><tr>"); } + else { $this->t->set_var('table_sep',"</td>"); } + if(($i) % 3 == 0) { $this->nextmatchs->template_alternate_row_color(&$this->t); } + $this->t->fp('list','part_list',True); + } + + $this->t->pfp('out','act_view_t'); + $this->save_sessiondata(); + } + + 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','add','addhandle'); + $this->t->set_block('form','edit','edithandle'); + $this->t->set_var('lang_done','Done'); + + $action = get_var('action',array('GET','POST')); + $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.act_list')); + $activity['activity'] = intval(get_var('activity',array('GET','POST'))); + + if($action == 'save') + { + $activity['name'] = $this->db->db_addslashes(get_var('name',array('POST'))); + $activity['date'] = $this->db->db_addslashes(get_var('date',array('POST'))); + $activity['notes']= $this->db->db_addslashes(get_var('notes',array('POST'))); + $this->db->query("UPDATE eq_activity set " . + " name='" . $activity['name'] . + "', date='" . $activity['date'] . "'" . + ", notes='" . $activity['notes'] . "'" . + " WHERE activity=" . $activity['activity'],__LINE__,__FILE__); + + // Delete all the elders who have particiapted in this activity + $this->db->query("DELETE from eq_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')); + foreach ($elders as $elder) + { + $this->db->query("INSERT INTO eq_participation (elder,activity) " + . "VALUES (" . $elder . ",". $activity['activity'] . ")",__LINE__,__FILE__); + } + + $this->act_list(); + return false; + } + + if($action == 'insert') + { + $activity['name'] = $this->db->db_addslashes(get_var('name',array('POST'))); + $activity['date'] = $this->db->db_addslashes(get_var('date',array('POST'))); + $activity['notes']= $this->db->db_addslashes(get_var('notes',array('POST'))); + $this->db->query("INSERT INTO eq_activity (name,date,notes) " + . "VALUES ('" . $activity['name'] . "','" + . $activity['date'] . "','" . $activity['notes'] . "')",__LINE__,__FILE__); + $this->act_list(); + return false; + } + + if($action == 'add') + { + $activity['activity'] = 0; + $this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options)); + $this->t->set_var('name',''); + $this->t->set_var('date',''); + $this->t->set_var('notes',''); + $this->t->set_var('lang_done','Cancel'); + $this->t->set_var('lang_action','Adding New Activity'); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.act_update&activity=' + . $activity['activity'] . '&action=' . 'insert')); + } + + if($action == 'edit') + { + $sql = "SELECT * FROM eq_activity WHERE activity=" . $activity['activity']; + $this->db->query($sql,__LINE__,__FILE__); + $this->db->next_record(); + $this->t->set_var('cal_date',$this->jscal->input('date',$this->db->f('date'),'','','','','',$this->cal_options)); + $this->t->set_var('name', $this->db->f('name')); + $this->t->set_var('date', $this->db->f('date')); + $this->t->set_var('notes', $this->db->f('notes')); + $this->t->set_var('lang_done','Cancel'); + $this->t->set_var('lang_action','Editing Activity'); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.act_update&activity=' + . $activity['activity'] . '&action=' . 'save')); + + } + + $sql = "SELECT * FROM eq_elder"; + $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'); + $i++; + } + } + array_multisort($elder_name, $elder_id, $elder_valid); + + $j=0; + for ($i=0; $i < count($elder_id); $i++) + { + //$this->nextmatchs->template_alternate_row_color(&$this->t); + $sql = "SELECT * FROM eq_participation where activity=". $activity['activity'] . " AND elder=" . $elder_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(($j+1) % 3 == 0) { $this->t->set_var('table_sep',"</td></tr><tr>"); } + else { $this->t->set_var('table_sep',"</td>"); } + if(($j) % 3 == 0) { $this->nextmatchs->template_alternate_row_color(&$this->t); } + $this->t->fp('list','elder_list',True); + $j++; + } + } + + $this->t->set_var('lang_reset','Clear Form'); + $this->t->set_var('lang_add','Add Activity'); + $this->t->set_var('lang_save','Save Changes'); + $this->t->set_var('edithandle',''); + $this->t->set_var('addhandle',''); + + $this->t->pfp('out','form'); + if($action == 'edit') { $this->t->pfp('addhandle','edit'); } + if($action == 'add') { $this->t->pfp('addhandle','add'); } + + $this->save_sessiondata(); + } + + function par_view() + { + $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'); + + $sql = "SELECT * FROM eq_elder 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'); + $i++; + } + array_multisort($elder_name, $elder_id); + + $sql = "SELECT * FROM eq_activity ORDER BY date DESC"; + $this->db->query($sql,__LINE__,__FILE__); + $total_records = $this->db->num_rows(); + + $i = 0; + while ($this->db->next_record()) + { + $activity_list[$i]['name'] = $this->db->f('name'); + $activity_list[$i]['date'] = $this->db->f('date'); + $activity_list[$i]['activity'] = $this->db->f('activity'); + if($activity_list[$i]['date'] == '0000-00-00') { $activity_list[$i]['date']=""; } + $i++; + } + + $elder_width=250; $part_width=25; $act_width=50; + $total_width=$elder_width+$part_width; + for ($i=0; $i < count($activity_list); $i++) { + $this->t->set_var('activity_name',$activity_list[$i]['name']); + $this->t->set_var('activity_date',$activity_list[$i]['date']); + $this->t->fp('list1','header_list',True); + $total_width += $act_width; + } + + for ($i=0; $i < count($elder_id); $i++) { + $participated=0; $part_table = ''; + $this->nextmatchs->template_alternate_row_color(&$this->t); + $this->t->set_var('elder_name',$elder_name[$i]); + for ($j=0; $j < count($activity_list); $j++) { + $sql = "SELECT * FROM eq_participation where activity=" + . $activity_list[$j]['activity'] . " AND elder=" . $elder_id[$i]; + $this->db->query($sql,__LINE__,__FILE__); + if($this->db->next_record()) { + $part_table .= '<td align=center><img src="checkmark.gif"></td>'; + $participated++; + } else { + $part_table .= '<td> </td>'; + } + } + if($participated) { $part_table .= '<td align=center><img src="checkmark.gif">'.$participated.'</td>'; } + else { $part_table .= '<td> </td>'; } + $this->t->set_var('part_table',$part_table); + $this->t->fp('list2','elder_list',True); + } + $this->t->set_var('total_width',$total_width); + $this->t->set_var('elder_width',$elder_width); + $this->t->set_var('part_width',$part_width); + $this->t->set_var('act_width',$act_width); + $this->t->pfp('out','par_view_t'); + $this->save_sessiondata(); + } + + function ppi_view() + { + $this->t->set_file(array('ppi_view_t' => 'ppi_view.tpl')); + $this->t->set_block('ppi_view_t','district_list','list'); + + $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view')); + $num_months = get_var('num_months',array('GET','POST')); + if($num_months == '') { $num_months = $this->default_ppi_num_months; } + $this->t->set_var('num_months',$num_months); + if($num_months == 1) { $this->t->set_var('lang_num_months','Month of History'); } + else { $this->t->set_var('lang_num_months','Months of History'); } + $this->t->set_var('lang_filter','Filter'); + + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view')); + $this->t->set_var('eqpres_ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view&eqpresppi=1')); + $eqpresppi = get_var('eqpresppi',array('GET','POST')); + + if($eqpresppi == 1) { + $num_months = get_var('num_months',array('GET','POST')); + if($num_months == '') { $num_months = $this->default_ppi_num_years; } + $this->t->set_var('num_months',$num_months); + $this->t->set_var('ppi_link_title','PPIs'); + $this->t->set_var('title','EQ President Yearly PPIs'); + if($num_months == 1) { $this->t->set_var('lang_num_months','Year of History'); } + else { $this->t->set_var('lang_num_months','Years of History'); } + $this->t->set_var('eqpres_ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view')); + } + else { + $this->t->set_var('ppi_link_title','EQ President Yearly PPIs'); + $this->t->set_var('title','PPIs'); + } + + $sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC"; + $this->db->query($sql,__LINE__,__FILE__); + $i=0; + while ($this->db->next_record()) + { + $districts[$i]['district'] = $this->db->f('district'); + $districts[$i]['name'] = $this->db->f('name'); + $districts[$i]['supervisor'] = $this->db->f('supervisor'); + if($eqpresppi == 0) { $i++; } + } + + $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY elder 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'); + $i++; + } + array_multisort($elder_name, $elder_id); + for($i=0; $i < count($elder_id); $i++) { + $id = $elder_id[$i]; + $elders[$id] = $elder_name[$i]; + } + + $sql = "SELECT * FROM eq_aaronic where valid=1 ORDER BY aaronic ASC"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) + { + $aaronic_id = $this->db->f('aaronic'); + $aaronic[$aaronic_id]['name'] = $this->db->f('name'); + } + + $total_companionships = 0; + $this->nextmatchs->template_alternate_row_color(&$this->t); + for ($i=0; $i < count($districts); $i++) { + if($eqpresppi == 1) { + $this->t->set_var('district_number','*'); + $this->t->set_var('district_name','EQ President'); + } else { + $this->t->set_var('district_number',$districts[$i]['district']); + $this->t->set_var('district_name',$districts[$i]['name']); + } + $supervisor = $districts[$i]['supervisor']; + $unique_companionships=''; + + // Select all the unique companionship numbers for this district + if($eqpresppi == 1) { + $sql = "SELECT distinct companionship FROM eq_companionship"; + } + else { + $sql = "SELECT distinct companionship FROM eq_companionship where district=". $districts[$i]['district']; + } + $this->db->query($sql,__LINE__,__FILE__); + $j=0; + while ($this->db->next_record()) + { + $unique_companionships[$j]['companionship'] = $this->db->f('companionship'); + $j++; + } + + $comp_width=400; $ppi_width=25; $table_width=$comp_width + $num_months*$ppi_width; + $table_data=""; $num_companionships = 0; $num_elders = 0; + for($m=$num_months; $m >= 0; $m--) { $ppis[$m] = 0; } + for ($j=0; $j < count($unique_companionships); $j++) { + // Select all the companions in each companionship + if($eqpresppi) { + $sql = "SELECT * FROM eq_companionship where valid=1 and aaronic=0 and ". + "companionship=". $unique_companionships[$j]['companionship']; + } + else { + $sql = "SELECT * FROM eq_companionship where valid=1 and ". + "companionship=". $unique_companionships[$j]['companionship']; + } + $this->db->query($sql,__LINE__,__FILE__); + $k=0; + while ($this->db->next_record()) + { + // Get this companions information + $num_elders++; $num_companionships++; + $companionship = $this->db->f('companionship'); + $elder_id = $this->db->f('elder'); + $aaronic_id = $this->db->f('aaronic'); + if($elder_id) { $name = $elders[$elder_id]; } + else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; } + $link_data['menuaction'] = 'eq.eq.ppi_update'; + $link_data['companionship'] = $companionship; + $link_data['interviewer'] = $supervisor; + $link_data['elder'] = $elder_id; + $link_data['name'] = $name; + $link_data['ppi'] = ''; + $link_data['eqpresppi'] = $eqpresppi; + $link_data['action'] = 'add'; + $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data); + if($aaronic_id == 0) { + $table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td><a href=$link>$name</a></td>"; + } else { + $table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td>$name</td>"; + } + + // Find out how many times PPIs were performed in the past $num_months for this Elder + $header_row="<th width=$comp_width><font size=-2>Companionship</th>"; + for($m=$num_months; $m >= 0; $m--) { + if($eqpresppi == 1) { + $year = date('Y') - $m; + $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01"; + $sql = "SELECT * FROM eq_ppi WHERE date > '$year_start' AND date < '$year_end' ". + "AND elder=" . $elder_id . " AND eqpresppi=1"; + $this->db2->query($sql,__LINE__,__FILE__); + $header_row .= "<th width=150><font size=-2>$year</th>"; + } + else { + $month = date('m/Y', strtotime('-'.$m.' month')); + $month_start = date('Y-m', strtotime('-'.$m.' month')); $month_start .= "-01"; + $month_end = date('Y-m', strtotime('-'.$m.' month')); $month_end .= "-31"; + $sql = "SELECT * FROM eq_ppi WHERE date >= '$month_start' AND date <= '$month_end' ". + "AND elder=" . $elder_id . " AND eqpresppi=0"; + $this->db2->query($sql,__LINE__,__FILE__); + $header_row .= "<th width=$ppi_width><font size=-2>$month</th>"; + } + if(!$total_ppis[$m]) { $total_ppis[$m] = 0; } + if($this->db2->next_record()) { + $ppis[$m]++; $total_ppis[$m]++; + $link_data['menuaction'] = 'eq.eq.ppi_update'; + $link_data['companionship'] = $companionship; + $link_data['interviewer'] = $supervisor; + $link_data['elder'] = $elder_id; + $link_data['name'] = $name; + $link_data['ppi'] = $this->db2->f('ppi'); + $link_data['eqpresppi'] = $eqpresppi; + $link_data['action'] = 'view'; + $date = $this->db2->f('date'); + $date_array = explode("-",$date); + $month = $date_array[1]; + $day = $date_array[2]; + $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data); + + if($aaronic_id == 0) { + $table_data .= '<td align=center><a href='.$link.'><img src="checkmark.gif"><br>'.$month.'-'.$day.'</a></td>'; + } else { + $table_data .= '<td align=center><img src="checkmark.gif"></td>'; + } + } + else { $table_data .= "<td> </td>"; } + } + $table_data .= "</tr>"; + $k++; + } + if($num_companionships % 2 != 0) { $num_companionships++; } + $table_data .= "<tr><td colspan=20><hr></td></tr>"; + } + // Now add Elders not assigned to any companionship to the table if we are in eqpresppi mode + if($eqpresppi == 1) { + $table_data .= "<tr bgcolor=\"#c9c9c9\"><hr><td colspan=20><b>Unassigned Potential Home Teachers</b><hr></td></tr>"; + foreach($elders as $elder_id => $value) { + $sql = "SELECT * FROM eq_companionship where valid=1 and elder=".$elder_id; + $this->db->query($sql,__LINE__,__FILE__); + if(!$this->db->next_record()) { + // We found an Elder not in a companionship, add them to the table + $num_elders++; $num_companionships++; + $companionship=0; + $name = $elders[$elder_id]; + $link_data['menuaction'] = 'eq.eq.ppi_update'; + $link_data['companionship'] = $companionship; + $link_data['interviewer'] = $supervisor; + $link_data['elder'] = $elder_id; + $link_data['name'] = $name; + $link_data['ppi'] = ''; + $link_data['eqpresppi'] = $eqpresppi; + $link_data['action'] = 'add'; + $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data); + $table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td><a href=$link>$name</a></td>"; + 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 eq_ppi WHERE date > '$year_start' AND date < '$year_end' ". + "AND elder=" . $elder_id . " AND eqpresppi=1"; + $this->db2->query($sql,__LINE__,__FILE__); + if(!$total_ppis[$m]) { $total_ppis[$m] = 0; } + if($this->db2->next_record()) { + $ppis[$m]++; $total_ppis[$m]++; + $link_data['menuaction'] = 'eq.eq.ppi_update'; + $link_data['companionship'] = $companionship; + $link_data['interviewer'] = $supervisor; + $link_data['elder'] = $elder_id; + $link_data['name'] = $name; + $link_data['ppi'] = $this->db2->f('ppi'); + $link_data['eqpresppi'] = $eqpresppi; + $link_data['action'] = 'view'; + $date = $this->db2->f('date'); + $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data); + $table_data .= '<td align=center><a href='.$link.'><img src="checkmark.gif"><br>'.$date.'</a></td>'; + } + else { $table_data .= "<td> </td>"; } + } + $table_data .= "</tr>"; + } + } + } + $num_companionships = ceil($num_companionships/2); + $total_companionships += $num_companionships; + if($eqpresppi == 1) { + $stat_data = "<tr><td><b><font size=-2>$num_elders Elders<br>PPI Totals:</font></b></td>"; + } else { + $stat_data = "<tr><td><b><font size=-2>$num_companionships Companionships<br>PPI Totals:</font></b></td>"; + } + for($m=$num_months; $m >=0; $m--) { + if($eqpresppi == 1) { $percent = ceil(($ppis[$m] / $num_elders)*100); } + else { $percent = ceil(($ppis[$m] / $num_companionships)*100); } + $stat_data .= "<td align=center><font size=-2><b>$ppis[$m]<br>$percent%</font></b></td>"; + } + $stat_data .= "</tr>"; + + $this->t->set_var('table_width',$table_width); + $this->t->set_var('header_row',$header_row); + $this->t->set_var('table_data',$table_data); + $this->t->set_var('stat_data',$stat_data); + $this->t->fp('list','district_list',True); + } + + $totals = "<tr><td><b><font size=-2>$total_companionships Total Comps<br>PPI Totals:</font></b></td>"; + for($m=$num_months; $m >=0; $m--) { + $percent = ceil(($total_ppis[$m] / $total_companionships)*100); + $totals .= "<td align=center><font size=-2><b>$total_ppis[$m]<br>$percent%</font></b></td>"; + } + $totals .= "</tr>"; + + $this->t->set_var('totals',$totals); + $this->t->pfp('out','ppi_view_t'); + $this->save_sessiondata(); + } + + function ppi_update() + { + $this->t->set_file(array('form' => 'ppi_update.tpl')); + $this->t->set_block('form','interviewer_list','int_list'); + $this->t->set_block('form','add','addhandle'); + $this->t->set_block('form','edit','edithandle'); + + $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view')); + $this->t->set_var('readonly',''); + $this->t->set_var('disabled',''); + + $action = get_var('action',array('GET','POST')); + $companionship = get_var('companionship',array('GET','POST')); + $interviewer = get_var('interviewer',array('GET','POST')); + $name = get_var('name',array('GET','POST')); + $ppi = get_var('ppi',array('GET','POST')); + $elder = get_var('elder',array('GET','POST')); + $date = get_var('date',array('GET','POST')); + $notes = get_var('notes',array('GET','POST')); + $eqpresppi = get_var('eqpresppi',array('GET','POST')); + + $sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) + { + $supervisor = $this->db->f('supervisor'); + $sql = "SELECT * FROM eq_elder WHERE elder=" . $supervisor; + $this->db2->query($sql,__LINE__,__FILE__); + $this->db2->next_record(); + $interviewer_name = $this->db2->f('name'); + + if($supervisor == $interviewer) { + $this->t->set_var('interviewer',$supervisor . ' selected'); + } else { + $this->t->set_var('interviewer',$interviewer); + } + $this->t->set_var('interviewer_name',$interviewer_name); + $this->t->fp('int_list','interviewer_list',True); + } + + if($action == 'save') + { + $notes = $this->db->db_addslashes(get_var('notes',array('POST'))); + $this->db->query("UPDATE eq_ppi set " . + " ppi='" . $ppi . "'" . + ", interviewer='" . $interviewer . "'" . + ", elder='" . $elder . "'" . + ", date='" . $date . "'" . + ", notes='" . $notes . "'" . + ", eqpresppi='" . $eqpresppi . "'" . + " WHERE ppi=" . $ppi,__LINE__,__FILE__); + $this->ppi_view(); + return false; + } + + if($action == 'insert') + { + $notes = $this->db->db_addslashes(get_var('notes',array('POST'))); + $this->db->query("INSERT INTO eq_ppi (interviewer,elder,date,notes,eqpresppi) " + . "VALUES ('" . $interviewer . "','" . $elder . "','" + . $date . "','" . $notes . "','" . $eqpresppi ."')",__LINE__,__FILE__); + $this->ppi_view(); + return false; + } + + if($action == 'add') + { + $this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options)); + $this->t->set_var('ppi', ''); + $this->t->set_var('interviewer', $interviewer); + $this->t->set_var('name',$name); + $this->t->set_var('elder',$elder); + $this->t->set_var('date',''); + $this->t->set_var('notes',''); + $this->t->set_var('eqpresppi',$eqpresppi); + $this->t->set_var('lang_done','Cancel'); + $this->t->set_var('lang_action','Adding New PPI'); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_update&ppi=' + . $ppi . '&action=' . 'insert')); + } + + if($action == 'edit' || $action == 'view') + { + $sql = "SELECT * FROM eq_ppi WHERE ppi=".$ppi; + $this->db->query($sql,__LINE__,__FILE__); + $this->db->next_record(); + $this->t->set_var('ppi',$ppi); + $this->t->set_var('name',$name); + $this->t->set_var('interviewer', $this->db->f('interviewer')); + $this->t->set_var('elder',$this->db->f('elder')); + $this->t->set_var('date',$this->db->f('date')); + $this->t->set_var('notes',$this->db->f('notes')); + $this->t->set_var('eqpresppi',$this->db->f('eqpresppi')); + } + + if($action == 'edit') + { + $this->t->set_var('cal_date',$this->jscal->input('date',$date,'','','','','',$this->cal_options)); + $this->t->set_var('lang_done','Cancel'); + $this->t->set_var('lang_action','Editing PPI'); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_update&ppi=' + . $ppi . '&action=' . 'save')); + } + + if($action == 'view') + { + $date = $this->db->f('date'); + $this->t->set_var('cal_date','<input type=text size="10" maxlength="10" name="date" value="'.$date.'" readonly>'); + $this->t->set_var('readonly','READONLY'); + $this->t->set_var('disabled','DISABLED'); + $this->t->set_var('lang_done','Done'); + $this->t->set_var('lang_action','Viewing PPI'); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_update&ppi=' + . $ppi . '&action=' . 'edit')); + } + + $this->t->set_var('lang_reset','Clear Form'); + $this->t->set_var('lang_add','Add PPI'); + $this->t->set_var('lang_save','Save Changes'); + $this->t->set_var('edithandle',''); + $this->t->set_var('addhandle',''); + + $this->t->pfp('out','form'); + + if($action == 'view') { $this->t->set_var('lang_save','Edit PPI'); } + if($action == 'edit' || $action == 'view') { $this->t->pfp('addhandle','edit'); } + if($action == 'add') { $this->t->pfp('addhandle','add'); } + + $this->save_sessiondata(); + } + + function vis_view() + { + $this->t->set_file(array('vis_view_t' => 'vis_view.tpl')); + $this->t->set_block('vis_view_t','visit_list','list1'); + $this->t->set_block('vis_view_t','family_list','list2'); + + $this->t->set_var('lang_name','Family Name'); + $this->t->set_var('lang_date','Date'); + + $sql = "SELECT * FROM eq_visit WHERE companionship=0 ORDER BY date DESC"; + $this->db->query($sql,__LINE__,__FILE__); + $total_records = $this->db->num_rows(); + + $i = 0; + while ($this->db->next_record()) + { + $visit_list[$i]['visit'] = $this->db->f('visit'); + $visit_list[$i]['family'] = $this->db->f('family'); + $visit_list[$i]['date'] = $this->db->f('date'); + $i++; + } + + for ($i=0; $i < count($visit_list); $i++) + { + $this->nextmatchs->template_alternate_row_color(&$this->t); + + $sql = "SELECT * FROM eq_family WHERE valid=1 AND family=".$visit_list[$i]['family']; + $this->db->query($sql,__LINE__,__FILE__); + $this->db->next_record(); + + $this->t->set_var('family',$visit_list[$i]['family']); + $this->t->set_var('family_name',$this->db->f('name')); + $this->t->set_var('date',$visit_list[$i]['date']); + + $link_data['menuaction'] = 'eq.eq.vis_update'; + $link_data['visit'] = $visit_list[$i]['visit']; + $link_data['name'] = $this->db->f('name'); + $link_data['date'] = $visit_list[$i]['date']; + $link_data['action'] = 'view'; + $this->t->set_var('view',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_view','View'); + + $link_data['menuaction'] = 'eq.eq.vis_update'; + $link_data['visit'] = $visit_list[$i]['visit']; + $link_data['name'] = $this->db->f('name'); + $link_data['date'] = $visit_list[$i]['date']; + $link_data['action'] = 'edit'; + $this->t->set_var('edit',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('lang_edit','Edit'); + + $this->t->fp('list1','visit_list',True); + } + + // List the families that are available to record a visit against + $sql = "SELECT * FROM eq_family WHERE valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + $total_records = $this->db->num_rows(); + + $i = 0; + while ($this->db->next_record()) + { + $family_names[$i] = $this->db->f('name'); + $family_ids[$i] = $this->db->f('family'); + $i++; + } array_multisort($family_names, $family_ids); + + for ($i=0; $i < count($family_names); $i++) + { + $link_data['menuaction'] = 'eq.eq.vis_update'; + $link_data['visit'] = ''; + $link_data['family'] = $family_ids[$i]; + $link_data['action'] = 'add'; + $link_data['name'] = $family_names[$i]; + $this->t->set_var('add',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + + $this->t->set_var('name',$family_names[$i]); + if(($i+1) % 3 == 0) { $this->t->set_var('table_sep',"</td></tr><tr>"); } + else { $this->t->set_var('table_sep',"</td>"); } + if(($i) % 3 == 0) { $this->nextmatchs->template_alternate_row_color(&$this->t); } + + $this->t->fp('list2','family_list',True); + } + + $this->t->pfp('out','vis_view_t'); + $this->save_sessiondata(); + } + + function vis_update() + { + $this->t->set_file(array('form' => 'vis_update.tpl')); + $this->t->set_block('form','add','addhandle'); + $this->t->set_block('form','edit','edithandle'); + + $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_view')); + $this->t->set_var('readonly',''); + $this->t->set_var('disabled',''); + + $action = get_var('action',array('GET','POST')); + $visit = get_var('visit',array('GET','POST')); + $family = get_var('family',array('GET','POST')); + $name = get_var('name',array('GET','POST')); + $date = get_var('date',array('GET','POST')); + $notes = get_var('notes',array('GET','POST')); + $companionship = 0; + + if($action == 'save') + { + $notes = $this->db->db_addslashes(get_var('notes',array('POST'))); + $this->db->query("UPDATE eq_visit set " . + " date='" . $date . "'" . + ", notes='" . $notes . "'" . + " WHERE visit=" . $visit,__LINE__,__FILE__); + $this->vis_view(); + return false; + } + + if($action == 'insert') + { + $notes = $this->db->db_addslashes(get_var('notes',array('POST'))); + $this->db->query("INSERT INTO eq_visit (family,companionship,date,notes) " + . "VALUES ('" . $family . "','" . $companionship . "','" + . $date . "','" . $notes . "')",__LINE__,__FILE__); + $this->vis_view(); + return false; + } + + if($action == 'add') + { + $this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options)); + $this->t->set_var('family', $family); + $this->t->set_var('visit', ''); + $this->t->set_var('name', $name); + $this->t->set_var('date',''); + $this->t->set_var('notes',''); + $this->t->set_var('lang_done','Cancel'); + $this->t->set_var('lang_action','Adding New Visit'); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_update&family=' + . $family . '&action=' . 'insert')); + } + + if($action == 'edit' || $action == 'view') + { + $sql = "SELECT * FROM eq_visit WHERE visit=".$visit; + $this->db->query($sql,__LINE__,__FILE__); + $this->db->next_record(); + $this->t->set_var('visit',$visit); + $this->t->set_var('name',$name); + $this->t->set_var('family', $family); + $this->t->set_var('date',$this->db->f('date')); + $this->t->set_var('notes',$this->db->f('notes')); + } + + if($action == 'edit') + { + $this->t->set_var('cal_date',$this->jscal->input('date',$date,'','','','','',$this->cal_options)); + $this->t->set_var('lang_done','Cancel'); + $this->t->set_var('lang_action','Editing Visit'); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_update&visit=' + . $visit . '&action=' . 'save')); + } + + if($action == 'view') + { + $date = $this->db->f('date'); + $this->t->set_var('cal_date','<input type=text size="10" maxlength="10" name="date" value="'.$date.'" readonly>'); + $this->t->set_var('readonly','READONLY'); + $this->t->set_var('disabled','DISABLED'); + $this->t->set_var('lang_done','Done'); + $this->t->set_var('lang_action','Viewing Visit'); + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_update&visit=' + . $visit . '&action=' . 'edit')); + } + + $this->t->set_var('lang_reset','Clear Form'); + $this->t->set_var('lang_add','Add Visit'); + $this->t->set_var('lang_save','Save Changes'); + $this->t->set_var('edithandle',''); + $this->t->set_var('addhandle',''); + + $this->t->pfp('out','form'); + + if($action == 'view') { $this->t->set_var('lang_save','Edit Visit'); } + if($action == 'edit' || $action == 'view') { $this->t->pfp('addhandle','edit'); } + if($action == 'add') { $this->t->pfp('addhandle','add'); } + + $this->save_sessiondata(); + } + + function att_view() + { + $this->t->set_file(array('att_view_t' => 'att_view.tpl')); + $this->t->set_block('att_view_t','act_list','list'); + + $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_var('linkurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_view')); + $num_months = get_var('num_months',array('GET','POST')); + if($num_months == '') { $num_months = $this->default_att_num_months; } + $this->t->set_var('num_months',$num_months); + $this->t->set_var('lang_filter','Filter'); + if($num_months == 1) { $this->t->set_var('lang_num_months','Month of History'); } + else { $this->t->set_var('lang_num_months','Months of History'); } + + $sql = "SELECT * FROM eq_elder 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'); + $i++; + } + array_multisort($elder_name, $elder_id); + + + // Create a list of sunday dates for a window of 3 months back and current month + $i=0; + $last_time = 0; + $found_sunday = 0; + $sunday_list[0]['date'] = date("Y-m-d", mktime(0, 0, 0, date("m")-$num_months, 1, date("y"))); + $last_date = explode("-",$sunday_list[0]['date']); + $last_time = mktime(0, 0, 0, $last_date[1], $last_date[2], $last_date[0]); + $time_limit = mktime(0, 0, 0, date("m"), date("t"), date("y")); + while($last_time < $time_limit) + { + $day = date("w",$last_time); + if(date("w",$last_time) == 0) { + $sunday_list[$i]['date'] = date("Y-m-d", $last_time); + $last_date = explode("-",$sunday_list[$i]['date']); + $last_time = mktime(0, 0, 0, $last_date[1], $last_date[2], $last_date[0]); + $sunday_list[$i]['day'] = $last_date[2]; + $sunday_list[$i]['month'] = date("M",$last_time); + $sunday_list[$i]['year'] = $last_date[0]; + $found_sunday = 1; + } + $last_time += 90000; + if($found_sunday) { $i++; $found_sunday=0; } + } + + $old_month=$sunday_list[0]['month']; $span=0; + for ($i=0; $i < count($sunday_list); $i++) { + $date = $sunday_list[$i]['date']; + $this->t->set_var('date',$sunday_list[$i]['date']); + $this->t->set_var('day',$sunday_list[$i]['day']); + if(($old_month != $sunday_list[$i]['month']) || $i == count($sunday_list)-1) { + if($i == count($sunday_list)-1) { $span++; } + $cur_month = $sunday_list[$i]['month']; + $old_month = $sunday_list[$i]['month']; + $link_data['menuaction'] = 'eq.eq.att_update'; + $link_data['month'] = $sunday_list[$i-1]['month']; + $link_data['year'] = $sunday_list[$i-1]['year']; + $link_data['action'] = 'update_month'; + $this->t->set_var('update_month',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('month',$sunday_list[$i-1]['month']); + $this->t->set_var('year',$sunday_list[$i-1]['year']); + $this->t->set_var('span',$span); $span=0; + $this->t->fp('list1','month_list',True); + } $span++; + } + + $elder_width=200; $att_width=25; $total_width=$elder_width; + for ($i=0; $i < count($sunday_list); $i++) { + $link_data['menuaction'] = 'eq.eq.att_update'; + $link_data['month'] = $sunday_list[$i]['month']; + $link_data['year'] = $sunday_list[$i]['year']; + $link_data['day'] = $sunday_list[$i]['day']; + $link_data['date'] = $sunday_list[$i]['date']; + $link_data['action'] = 'update_day'; + $this->t->set_var('update_day',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('date',$sunday_list[$i]['date']); + $this->t->set_var('day',$sunday_list[$i]['day']); + $this->t->set_var('month',$sunday_list[$i]['month']); + $this->t->set_var('year',$sunday_list[$i]['year']); + $this->t->fp('list2','header_list',True); + $total_width += $att_width; + } + + for ($i=0; $i < count($elder_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] . "<br>"; + for ($j=0; $j < count($sunday_list); $j++) { + #print "checking for date: " . $sunday_list[$j]['date'] . "<br>"; + #print "SELECT * FROM eq_attendance WHERE date='" + # . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i] . "<br>"; + $sql = "SELECT * FROM eq_attendance WHERE date='" + . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i]; + $this->db->query($sql,__LINE__,__FILE__); + if($this->db->next_record()) { + $att_table .= '<td align=center><img src="checkmark.gif"></td>'; + } else { + $att_table .= '<td> </td>'; + } + } + $this->t->set_var('att_table',$att_table); + $this->t->fp('list3','elder_list',True); + } + $this->t->set_var('total_width',$total_width); + $this->t->set_var('elder_width',$elder_width); + $this->t->set_var('att_width',$att_width); + + $this->t->pfp('out','att_view_t'); + $this->save_sessiondata(); + } + + function att_update() + { + $monthnum['Jan']=1; $monthnum['Feb']=2; $monthnum['Mar']=3; $monthnum['Apr']=4; + $monthnum['May']=5; $monthnum['Jun']=6; $monthnum['Jul']=7; $monthnum['Aug']=8; + $monthnum['Sep']=9; $monthnum['Oct']=10; $monthnum['Nov']=11; $monthnum['Dec']=12; + + $this->t->set_file(array('form' => 'att_update.tpl')); + $this->t->set_block('form','edit','edithandle'); + + $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_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_view')); + + $action = get_var('action',array('GET','POST')); + $month = get_var('month',array('GET','POST')); + $year = get_var('year',array('GET','POST')); + $day = get_var('day',array('GET','POST')); + $date = get_var('date',array('GET','POST')); + + if($action == 'save_month' || $action == 'save_day') + { + $new_data = get_var('elders_attended',array('POST')); + $month = $monthnum[$month]; if($month < 10) { $month = "0" . $month; } + + if($action == 'save_month') { + $this->db->query("DELETE from eq_attendance where date LIKE '".$year."-".$month."-%'",__LINE__,__FILE__); + } + + if($action == 'save_day') { + $this->db->query("DELETE from eq_attendance where date LIKE '".$year."-".$month."-".$day."'",__LINE__,__FILE__); + } + + foreach ($new_data as $data) + { + $data_array = explode("-",$data); + $elder = $data_array[0]; + $date = "$data_array[1]-$data_array[2]-$data_array[3]"; + $this->db->query("INSERT INTO eq_attendance (elder,date) " + . "VALUES (" . $elder . ",'". $date . "')",__LINE__,__FILE__); + } + + $this->att_view(); + return false; + } + + $sql = "SELECT * FROM eq_elder 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'); + $i++; + } + array_multisort($elder_name, $elder_id); + + if($action == 'update_month') + { + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_update&action=save_month')); + $i=0; + $last_time = 0; + $found_sunday = 0; + $sunday_list[0]['date'] = date("Y-m-d", mktime(0, 0, 0, $monthnum[$month], 1, $year)); + $last_date = explode("-",$sunday_list[0]['date']); + $last_time = mktime(0, 0, 0, $last_date[1], $last_date[2], $last_date[0]); + $time_limit = mktime(0, 0, 0, $monthnum[$month], 31, $year); + while($last_time <= $time_limit) + { + $day = date("w",$last_time); + if(date("w",$last_time) == 0) { + $sunday_list[$i]['date'] = date("Y-m-d", $last_time); + $last_date = explode("-",$sunday_list[$i]['date']); + $last_time = mktime(0, 0, 0, $last_date[1], $last_date[2], $last_date[0]); + $sunday_list[$i]['day'] = $last_date[2]; + $sunday_list[$i]['month'] = date("M",$last_time); + $sunday_list[$i]['year'] = $last_date[0]; + $found_sunday = 1; + } + $last_time += 90000; + if($found_sunday) { $i++; $found_sunday=0; } + } + + $this->t->set_var('span', $i); + $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; + for ($i=0; $i < count($sunday_list); $i++) { + $link_data['menuaction'] = 'eq.eq.att_update'; + $link_data['month'] = $sunday_list[$i]['month']; + $link_data['year'] = $sunday_list[$i]['year']; + $link_data['day'] = $sunday_list[$i]['day']; + $link_data['date'] = $sunday_list[$i]['date']; + $link_data['action'] = 'update_day'; + $this->t->set_var('update_day',$GLOBALS['phpgw']->link('/eq/index.php',$link_data)); + $this->t->set_var('date',$sunday_list[$i]['date']); + $this->t->set_var('day',$sunday_list[$i]['day']); + $this->t->set_var('month',$sunday_list[$i]['month']); + $this->t->set_var('year',$sunday_list[$i]['year']); + $this->t->fp('list2','header_list',True); + $total_width += $att_width; + } + } + + if($action == 'update_day') + { + $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_update&action=save_day')); + $sunday_list[0]['date'] = date("Y-m-d", mktime(0, 0, 0, $monthnum[$month], $day, $year)); + $this->t->set_var('month',$month); + $this->t->set_var('year',$year); + $this->t->fp('list1','month_list',True); + $this->t->set_var('date',$date); + $this->t->set_var('day',$day); + $this->t->set_var('month',$month); + $this->t->set_var('year',$year); + $this->t->fp('list2','header_list',True); + } + + for ($i=0; $i < count($elder_id); $i++) { + $att_table = ""; + $this->nextmatchs->template_alternate_row_color(&$this->t); + $this->t->set_var('elder_name',$elder_name[$i]); + for ($j=0; $j < count($sunday_list); $j++) { + $sql = "SELECT * FROM eq_attendance WHERE date='" + . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i]; + $this->db->query($sql,__LINE__,__FILE__); + $value = $elder_id[$i] . "-" . $sunday_list[$j]['date']; + if($this->db->next_record()) { + $att_table .= '<td align=center><input type="checkbox" name="elders_attended[]" value="'.$value.'" checked></td>'; + } else { + $att_table .= '<td align=center><input type="checkbox" name="elders_attended[]" value="'.$value.'"></td>'; + } + } + $this->t->set_var('att_table',$att_table); + $this->t->fp('list3','elder_list',True); + } + + $this->t->set_var('lang_done', 'Cancel'); + $this->t->set_var('lang_reset','Clear Form'); + $this->t->set_var('lang_save','Save Changes'); + + $this->t->pfp('out','form'); + $this->t->pfp('addhandle','edit'); + + $this->save_sessiondata(); + } + +} + +?> diff --git a/inc/functions.inc.php b/inc/functions.inc.php new file mode 100644 index 0000000..525213b --- /dev/null +++ b/inc/functions.inc.php @@ -0,0 +1,14 @@ +<?php + /**************************************************************************\ + * phpGroupWare - eq * + * http://www.phpgroupware.org * + * ----------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + /* $Id: functions.inc.php,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ */ + + +?> diff --git a/inc/hook_add_def_pref.inc.php b/inc/hook_add_def_pref.inc.php new file mode 100644 index 0000000..e31a265 --- /dev/null +++ b/inc/hook_add_def_pref.inc.php @@ -0,0 +1,16 @@ +<?php + /**************************************************************************\ + * phpGroupWare - eq * + * http://www.phpgroupware.org * + * ----------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + /* $Id: hook_add_def_pref.inc.php,v 1.1 2001/06/09 02:43:01 skeeter Exp $ */ + + global $pref; + $pref->change('notes','notes_font','Verdana,Arial,Helvetica,sans-serif'); + $pref->change('notes','notes_font_size','3'); +?> diff --git a/inc/hook_admin.inc.php b/inc/hook_admin.inc.php new file mode 100644 index 0000000..1c8e3ba --- /dev/null +++ b/inc/hook_admin.inc.php @@ -0,0 +1,21 @@ +<?php + /**************************************************************************\ + * phpGroupWare - eq * + * http://www.phpgroupware.org * + * ----------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + + /* $Id: hook_admin.inc.php,v 1.3.4.1 2003/03/27 18:10:15 ralfbecker Exp $ */ +{ +// Only Modify the $file and $title variables..... + $file = Array( +// 'Administrate' => $GLOBALS['phpgw']->link('/eq/admin.php'), + ); +//Do not modify below this line + display_section($appname,$file); +} +?> diff --git a/inc/hook_manual.inc.php b/inc/hook_manual.inc.php new file mode 100644 index 0000000..50a6275 --- /dev/null +++ b/inc/hook_manual.inc.php @@ -0,0 +1,18 @@ +<?php + /**************************************************************************\ + * phpGroupWare - Manual * + * http://www.phpgroupware.org * + * Written by Mark Peters <skeeter@phpgroupware.org> * + * -------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + /* $Id: hook_manual.inc.php,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ */ + + // Only Modify the $file variable..... + $file = Array(); +//Do not modify below this line + display_manual_section($appname,$file); +?> diff --git a/inc/hook_preferences.inc.php b/inc/hook_preferences.inc.php new file mode 100644 index 0000000..09305d4 --- /dev/null +++ b/inc/hook_preferences.inc.php @@ -0,0 +1,22 @@ +<?php + /**************************************************************************\ + * phpGroupWare - eq * + * http://www.phpgroupware.org * + * ----------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + +{ +// Only Modify the $file and $title variables..... + $file = Array( +// 'Preferences' => $GLOBALS['phpgw']->link('/eq/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') + ); +//Do not modify below this line + display_section($appname,$file); +} +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..cd7662c --- /dev/null +++ b/index.php @@ -0,0 +1,79 @@ +<?php + /**************************************************************************\ + * phpGroupWare - Notes * + * http://www.phpgroupware.org * + * Written by Bettina Gille [ceb@phpgroupware.org] * + * ----------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + /* $Id: index.php,v 1.48.4.1 2003/11/04 15:06:35 ceb Exp $ */ + + $GLOBALS['phpgw_info']['flags'] = array + ( + 'currentapp' => 'eq', + 'noheader' => True, + 'nonavbar' => True + ); + include('../header.inc.php'); + + if (@isset($_GET['menuaction'])) + { + list($app,$class,$method) = explode('.',$_GET['menuaction']); + if (! $app || ! $class || ! $method) + { + $invalid_data = True; + } + } + else + { + $app = 'eq'; + $class = 'eq'; + $invalid_data = True; + } + + $GLOBALS['obj'] = CreateObject(sprintf('%s.%s',$app,$class)); + $GLOBALS[$class] = $GLOBALS['obj']; + if ((is_array($GLOBALS[$class]->public_functions) && $GLOBALS[$class]->public_functions[$method]) && ! $invalid_data) + { + execmethod($_GET['menuaction']); + unset($app); + unset($obj); + unset($class); + unset($method); + unset($invalid_data); + unset($api_requested); + } + else + { + if (! $app || ! $class || ! $method) + { + $GLOBALS['phpgw']->log->message(array( + 'text' => 'W-BadmenuactionVariable, menuaction missing or corrupt: %1', + 'p1' => $menuaction, + 'line' => __LINE__, + 'file' => __FILE__ + )); + } + + if (! is_array($obj->public_functions) || ! $obj->public_functions[$method] && $method) + { + $GLOBALS['phpgw']->log->message(array( + 'text' => 'W-BadmenuactionVariable, attempted to access private method: %1', + 'p1' => $method, + 'line' => __LINE__, + 'file' => __FILE__ + )); + } + //$GLOBALS['phpgw']->log->commit(); + + //$GLOBALS['phpgw']->redirect_link('/eq/index.php?menuaction=eq.eq.ht_view'); + } + +//$obj = CreateObject('eq.eq'); +//$obj->ht_view(); +//$GLOBALS['phpgw']->common->phpgw_footer(); + +?> diff --git a/setup/phpgw_en.lang b/setup/phpgw_en.lang new file mode 100644 index 0000000..41a5875 --- /dev/null +++ b/setup/phpgw_en.lang @@ -0,0 +1 @@ +eq common en EQ diff --git a/setup/phpgw_fr.lang b/setup/phpgw_fr.lang new file mode 100644 index 0000000..7cc3ceb --- /dev/null +++ b/setup/phpgw_fr.lang @@ -0,0 +1 @@ +eq common fr EQ diff --git a/setup/phpgw_sv.lang b/setup/phpgw_sv.lang new file mode 100644 index 0000000..1b63b18 --- /dev/null +++ b/setup/phpgw_sv.lang @@ -0,0 +1 @@ +eq common sv EQ diff --git a/setup/setup.inc.php b/setup/setup.inc.php new file mode 100644 index 0000000..a144ba4 --- /dev/null +++ b/setup/setup.inc.php @@ -0,0 +1,46 @@ +<?php + /**************************************************************************\ + * phpGroupWare * + * http://www.phpgroupware.org * + * -------------------------------------------- * + * This program is free software; you can redistribute it and/or modify it * + * under the terms of the GNU General Public License as published by the * + * Free Software Foundation; either version 2 of the License, or (at your * + * option) any later version. * + \**************************************************************************/ + + /* $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']['version'] = '0.0.1.001'; + $setup_info['eq']['app_order'] = 8; + $setup_info['eq']['enable'] = 1; + + /* some info's for about.php and apps.phpgroupware.org */ + $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'; + $setup_info['eq']['note'] = + 'This was created for the Miramont Ward.'; + $setup_info['eq']['maintainer'] = 'Alan J. Pippin'; + $setup_info['eq']['maintainer_email'] = 'apippin@pippins.net'; + + /* The tables this app creates */ + /* $setup_info['eq']['tables'] = Array('eq'); */ + + /* The hooks this app includes, needed for hooks registration */ + $setup_info['eq']['hooks'] = Array( + 'preferences', + 'manual', + 'add_def_prefs' + ); + + /* Dependacies for this app to work */ + $setup_info['eq']['depends'][] = array( + 'appname' => 'phpgwapi', + 'versions' => Array('0.9.10', '0.9.11' , '0.9.12', '0.9.13', '0.9.14', '0.9.16') + ); +?> diff --git a/templates/default/act_list.tpl b/templates/default/act_list.tpl new file mode 100644 index 0000000..3b6eb21 --- /dev/null +++ b/templates/default/act_list.tpl @@ -0,0 +1,27 @@ +<hr> +<br> +<center> + <table border="0" cellspacing="2" cellpadding="2"> + <tr> + <td colspan="1" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_date}</b></font></td> + <td colspan="1" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_name}</b></font></td> + </tr> + +<!-- BEGIN act_list --> + + <tr bgcolor="{tr_color}"> + <td><font face="{font}">{date}</font></td> + <td width=60%><font face="{font}" size="{font_size}"> + <a href="{view}">{name}</a></font></td> + <td align="center"><font face="{font}"><a href="{view}">{lang_view}</a></font></td> + <td align="center"><font face="{font}"><a href="{edit}">{lang_edit}</a></font></td> + </tr> + +<!-- END act_list --> + + <tr valign="bottom"> + <td colspan="5"><font face="{font}">{add}</font></td> + </tr> + </table> +</center> + diff --git a/templates/default/act_update.tpl b/templates/default/act_update.tpl new file mode 100644 index 0000000..96b4ed7 --- /dev/null +++ b/templates/default/act_update.tpl @@ -0,0 +1,64 @@ +<!-- BEGIN form --> + +{app_header} + +<center> + <form action="{actionurl}" method="POST"> + <table border="0" width="60%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}: {name}</b></font></td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Name:</b> <input type=text size="30" name="name" value="{name}"</input></td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Date:</b> {cal_date}</td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Notes:</b></font></td> + </tr> + <tr> + <td align="left"><font face="{font}" size="{font_size}"><textarea cols="60" rows="10" name="notes" wrap="virtual">{notes}</textarea></font></td> + </tr> + </table> + + <table border="0" width="70%" cellspacing="2" cellpadding="2"> + <tr bgcolor="#c9c9c9" align=center><td colspan=3><font face="{font}"><b>Elders Attending</b></font></td></tr> + <tr> +<!-- BEGIN elder_list --> + <td width=25% bgcolor={tr_color}><font face="{font}"><input type="checkbox" name="elder_name[]" value="{elder}" {checked}>{elder_name}</font>{table_sep} +<!-- END elder_list --> + </tr> + </table> + +<!-- BEGIN add --> + <table width="70%" border="0" cellspacing="2" cellpadding="2" align=left> + <tr valign="bottom"> + <td height="50" align="right"> + <font face="{font}"><input type="submit" name="addnote" value="{lang_save}"></font></td> + <td height="50" align="center"> + <font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td> + <td height="50" align="center"> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td> + </tr> + </table> +</center> +<!-- END add --> + +<!-- BEGIN edit --> + <table width="50%" border="0" cellspacing="2" cellpadding="2" align=left> + <tr valign="bottom" align="left"> + <td height="50" align="right" valign="middle"> + <font face="{font}"><input type="submit" name="editnote" value="{lang_save}"></font> + </form></td> + <td height="50" align="center" valign="middle"> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td> + </tr> + </table> +</center> + +<!-- END edit --> + +<!-- END form --> diff --git a/templates/default/act_view.tpl b/templates/default/act_view.tpl new file mode 100644 index 0000000..fe91407 --- /dev/null +++ b/templates/default/act_view.tpl @@ -0,0 +1,53 @@ + +<!-- BEGIN view --> + +{app_header} + +<center> + <table border="0" width="70%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}: {name}</b></font></td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td><b>{lang_name}:</b> {name}</font></td> + </tr> + <tr> + <td><b>{lang_date}:</b> {cal_date}</font></td> + </tr> + <tr> + <td><b>{lang_notes}:</b></font></td> + </tr> + <tr> + <td bgcolor="{tr_color}"><font face="{font}" size="{font_size}">{notes}</font></td> + </tr> + </table> + + <table border="0" width="70%" cellspacing="2" cellpadding="2"> + <tr bgcolor="#c9c9c9" align=center><td colspan=3><font face="{font}"><b>Elders Attending</b></font></td></tr> + <tr> +<!-- BEGIN part_list --> + <td width=25% bgcolor={tr_color}><font face="{font}">{elder_name}</font>{table_sep} +<!-- END part_list --> + </tr> + </table> + + <table border="0" width="70%" cellspacing="2" cellpadding="2"> + <tr> + <td height="50" valign="bottom" width=20%> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font> + </form> + </td> + <td height="50" valign="bottom"> + <a href={edit}>Edit</a> + </td> + </tr> + </table> +</center> + +<!-- END view --> + + diff --git a/templates/default/att_update.tpl b/templates/default/att_update.tpl new file mode 100644 index 0000000..8f98998 --- /dev/null +++ b/templates/default/att_update.tpl @@ -0,0 +1,46 @@ +<center> + <form action="{actionurl}" method="POST"> + <input type=hidden name=year value={year}> + <input type=hidden name=month value={month}> + <input type=hidden name=day value={day}> + + <table border="0" width="80%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>Elder Attendance Table</b></font></td> + </tr> + </table> + <br><br> + <table border="0" width="{total_width}" cellspacing="2" cellpadding="2"> + <tr bgcolor="#c9c9c9"> + <th> </th> +<!-- BEGIN month_list --> + <th colspan={span}><font size=-3>{month} {year}</font></th> +<!-- END month_list --> + </tr> + <tr bgcolor="#c9c9c9"> + <th width={elder_width}>Elder</th> +<!-- BEGIN header_list --> + <th width={act_width}><font size=-3><a href="{update_day}">{day}</a></font></th> +<!-- END header_list --> + </tr> + +<!-- BEGIN elder_list --> + <tr bgcolor="{tr_color}"><td>{elder_name}</td>{att_table}</tr> +<!-- END elder_list --> + + </table> + +<!-- BEGIN edit --> + <table width="50%" border="0" cellspacing="2" cellpadding="2" align=center> + <tr valign="bottom" align="left"> + <td height="50" align="center" valign="middle"> + <font face="{font}"><input type="submit" name="editnote" value="{lang_save}"></font> + </form></td> + <td height="50" align="left" valign="middle"> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td> + </tr> + </table> +<!-- END edit --> + +</center> diff --git a/templates/default/att_view.tpl b/templates/default/att_view.tpl new file mode 100644 index 0000000..7912c7f --- /dev/null +++ b/templates/default/att_view.tpl @@ -0,0 +1,44 @@ +<center> + <form action="{actionurl}" method="POST"> + <table border="0" width="80%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>Elder Attendance Table</b></font></td> + </tr> + </table> + <br> + + <form action="{filterurl}" method="POST"> + <table width="70%" border="0" cellspacing="2" cellpadding="2" align=center> + <tr> + <td align=center> + Showing <input type=text size="2" name="num_months" value="{num_months}"> + {lang_num_months} + </td> + <td align=center> + <font face="{font}"><input type="submit" name="filter" value="{lang_filter}"></font> + </td> + </tr> + </table> + </form> + + <table border="0" width="{total_width}" cellspacing="2" cellpadding="2"> + <tr bgcolor="#c9c9c9"> + <th> </th> +<!-- BEGIN month_list --> + <th colspan={span}><font size=-3> + <a href="{update_month}">{month} {year}</a></font></th> +<!-- END month_list --> + </tr> + <tr bgcolor="#c9c9c9"> + <th width={elder_width}>Elder</th> +<!-- BEGIN header_list --> + <th width={act_width}><font size=-3><a href="{update_day}">{day}</a></font></th> +<!-- END header_list --> + </tr> + +<!-- BEGIN elder_list --> + <tr bgcolor="{tr_color}"><td>{elder_name}</td>{att_table}</tr> +<!-- END elder_list --> + + </table> +</center> diff --git a/templates/default/header.tpl b/templates/default/header.tpl new file mode 100644 index 0000000..ca6d7cd --- /dev/null +++ b/templates/default/header.tpl @@ -0,0 +1,28 @@ +<!-- $Id: header.tpl,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ --> + +<p> + <center> + <table border="0" width=70% cellpadding="2" cellspacing="2"> + <tr> + <td width=100% align="center" bgcolor="{bg_color}"><font face="{font}"><b> + <a href="{link_hometeaching}">{lang_hometeaching}</a> + + + <a href="{link_activity}">{lang_activity}</a> + + + <a href="{link_participation}">{lang_participation}</a> + + + <a href="{link_ppi}">{lang_ppi}</a> + + + <a href="{link_visit}">{lang_visit}</a> + + + <a href="{link_attendance}">{lang_attendance}</a> + </b></font></td> + + </tr> + </table> + </center> diff --git a/templates/default/ht_update.tpl b/templates/default/ht_update.tpl new file mode 100644 index 0000000..91db64a --- /dev/null +++ b/templates/default/ht_update.tpl @@ -0,0 +1,41 @@ +<center> + <form action="{actionurl}" method="POST"> + <input type=hidden name=district value={district_number}> + <input type=hidden name=date value={date}> + + <table border="0" width="{table_width}" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title}</b></font></td> + </tr> + </table> + +<!-- BEGIN district_list --> + <br><br> + <table border="0" width="{table_width}" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9" colspan=20> + <font face="{font}"><b>District {district_number}: {district_name}</b></font> + </td> + </tr> + <tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr> + {table_data} + {stat_data} + </table> +<!-- END district_list --> + +<!-- BEGIN save --> + <table width="70%" border="0" cellspacing="2" cellpadding="2" align=center> + <tr valign="bottom"> + <td height="50" align="right"> + <font face="{font}"><input type="submit" name="save" value="{lang_save}"></font></td> + <td height="50" align="center"> + <font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td> + <td height="50" align="left"> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td> + </tr> + </table> +</center> +<!-- END save --> + +</center> diff --git a/templates/default/ht_view.tpl b/templates/default/ht_view.tpl new file mode 100644 index 0000000..56b34ee --- /dev/null +++ b/templates/default/ht_view.tpl @@ -0,0 +1,48 @@ +<center> + + <table border="0" width="{table_width}" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title}</b></font></td> + </tr> + </table> + <br> + + <form action="{linkurl}" method="POST"> + <table width="70%" border="0" cellspacing="2" cellpadding="2" align=center> + <tr> + <td align=center> + Showing <input type=text size="2" name="num_months" value="{num_months}"> + {lang_num_months} + </td> + <td align=center> + <font face="{font}"><input type="submit" name="filter" value="{lang_filter}"></font> + </td> + </tr> + </table> + </form> + + <form action="{actionurl}" method="POST"> + +<!-- BEGIN district_list --> + <table border="0" width="{table_width}" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9" colspan=20> + <font face="{font}"><b>District {district_number}: {district_name}</b></font> + </td> + </tr> + <tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr> + {table_data} + {stat_data} + </table> + <br><br> +<!-- END district_list --> + <table border="0" width="{table_width}" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9" colspan=20> + <font face="{font}"><b>Total Visits</b></font> + </td> + </tr> + <tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr> + {totals} + </table> +</center> diff --git a/templates/default/images/navbar.gif b/templates/default/images/navbar.gif new file mode 100644 index 0000000000000000000000000000000000000000..2042bea6da19b9de83983decaae0cb6230ad6d65 GIT binary patch literal 2064 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 literal 0 HcmV?d00001 diff --git a/templates/default/images/navbar.gif.old b/templates/default/images/navbar.gif.old new file mode 100644 index 0000000000000000000000000000000000000000..8f380ab8a7032f955d9849a29072619e275f68a8 GIT binary patch literal 1161 zcmb``i&N4E0KoB|kEP;VsJO1CrCHN?+*#&Y-rUZmJuKf_wJlw@wNoprjj5QXA}UBe zKv6_PrvuS2r=%WeOUWmZuPZadN`Jfx@In55!0)G`YyZPOf5P|fdm{Y!k)WUV0DFKp z0I<2axv{aazP@g;SYQ}dDwWgI(^FHE&u3;p5L{hd-Q2Vwh*_afNczOJ)l^#HA0<>m z3FWsc2I*m+a85q`?wz5gn$cXB^=g~}tGFgj<GXnlI7J`0mr+-l-Yf20TwJtRHdHE= zprx^`DPKLqF=@L|!#HY?qKiV4hO_*VKG|Qusmi(ED>9o+5=nn6@0L!^Hfg(%)j8Cp zSu<%-=mny0H>s<Z=8A{9vx*7`AUMCgyxb%1yx&2Az-nY^0EHE(QH8=vWL0j~i_ID~ zq@c^C*_7<~kzomfAbP#NNA&lghzcuekrmmR@eOKJBap(p^3<s9Hfe6dN+vjwQ(uwP z*4hL?(9+V9s9V_EUI>9T$nq#^)S%Ey(~=Z^D>SNaLki~nSawZGLZ?u$wY6n58vFbE z@A9bH*-B)wA2ljbNP(`%j9L+-5kN}z%Inf6lJxA<XzAzxilS?4YaMrMM|<+k`hQS( z-fVbo(up8-lL6%D<z?Vx-aT$&-p%BNh1X`YxmP3*@`)z>1G8ZU)(@?!_$#kjnwio$ z8A;YdC??0Z@aqi*gIcX>=CSISmtRb9)$)$zd9Gew@#=BjU>AX3n@G($Us+x_JNukQ z&7~J-3ESBG`dqOfb@D-ms5yz6eYU6|wT{Dn_H6p%#S7_azq42jK99pF$;>7GNWA_n zwcy6^(11>-yM8@IAZV_ssiM&eh{V*WsPN1iX^$RBV`F2^o%^n`lHStN#AMPF6EB`V z9e(ZF)wsAACX>PC{z;=1W@Zu-65^ASlRQ0l$HhgH$+>Jci%3j6b?RhnY?On8y_=h> zzd!!Ul`GNFQ7$gqaX4o$uiar`M?E}tIXYtAcm98Qp|(~SU<<$l@BQ}#V801$Ik=zf zXn2@!@9GyX?PwgNV!e;s0-huifZOk4dw>*TWn+ik7ek6wT5of54<=#18L-8;;ceNz z63GW2?hH&>n0h#9hxOVPf;&hKb8z*E;l&8a#~gR~+XET)-jtG^ftP2+dEV4AkKjxM zt25X!JdaYapZ%h;uh@5rb>Nah1-kmi@**1JhGlN}AG%V&C&Q1YDHkLK&W9+Nnt;TK zhH!48(<jzf-Ft7?_>^&iQgyRE`9AdeuWqgd!_0;44I$)h&VIkX#r_p`>*Mk?X-hfx z1Y>V_ZP=ZPrqk>IkMx#HuFX;PU*}==U&h^u<8R=J8JIJEXIj5c>LwU5XYoFB9<thF zt*o~5VuDuQl;GX|Q(umi<EJU?9nQNfp%Dj1-18#>WO&zwkg-7J*rBN~?{TtCWN75) tGx7P6hjAF*_~Dnhr=?$bd;~ik0gFN-Xx61%ry%@@ud*c21&0N`{1=PD!5aVo literal 0 HcmV?d00001 diff --git a/templates/default/images/navbar.png b/templates/default/images/navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..72ff1a8c12d855bca77bbc2790ae23c9607e8a3e GIT binary patch literal 1963 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 A8vp<R literal 0 HcmV?d00001 diff --git a/templates/default/images/navbar.png.old b/templates/default/images/navbar.png.old new file mode 100644 index 0000000000000000000000000000000000000000..01e5d13117bf8af41aaa691f070de6c8fd70435e GIT binary patch literal 1226 zcmb_a{ZrBh9A;Ou7uQ}YtMg{FuC;F0^5(i;R=2I@OIAZgQ}d<T+@Ny#ilUHGh9F@{ zf`Ei}9*Q27ie{izzF<mf*%pzZsl1jVNPPLep~&ce*mL*!JonsvKF<%&J<KR<_?p%J zt1%eNnusGII4^(oVOB2l?j4zCUkqj$ChB->sK?`3TwGjOSa7@DPN&mgFsRk)=g&u9 zX*4>W&f#z@Ex8c{*6Z~>j}$^agISVO#>g(CXI8Q=^*)k~Yt`@H+pGBOhHA>2r);ND z44G@+Pw{lm%llgMtGRidinh7AIk$V!Xf#S2Ywy-yF=<55Ogn0SirQ7^oD4FHY!l_9 z-84~UQCFuNhM}IG?%Q=&XSD)o<{si0M<KHdnn8irh@}}aRa(bc{q2-eTDDF%WwY5j z6m4BCbU?>PtbM3ckAg<jX+RuW*rI^V0zhA`RTa_;lLsF6AP8cySUTiQN;$)+7b5dR zF7Pc1nh-z_&%Xd?+9C5zr-7q;R#a0#xO=-E0067iDsPu{HkSapD#SL3f@Tz$fUGL# zI~i!Y3FtXfBZXCEDQz;TH%1TyySuyZ)G=npxX4^L3K~#AkIoN)GjhNz1q_1u$!q`i z<P{PlRfByfin?5`mOH}1jw`U`0qUHB?XRF&Ibf={>qHjqb=~OYRx$qa#k14XlQ0Z- z%B3<139>wd?HZ@0-(i%@Px8!~YvV(ghB~rY#mSA58oS+YG8r4{c-5Tqub+uc+7{cC z*rKg?GkjTjFIytSGm4V9H%i9FUNITeau!8)S0JgODx}2Ghxzgb0;4dllt!!;30}Tb zr>36H%gy5P*pfOCyNpaFC6Y2?7_@@N{e82uvl$tGOQj7}Rh3L8jYJ}1u@U5g+$T>| z(a}-y@v&TPd1GTehf|Knrye^Nk)D15hl}EH*kbW5CbNW0CZ(h#pFK+m4BU*vMHUxR z1p*$4lza5(k?3gbs#Pof{MH2p?MzEci;TpsUHjSk^<Qk+vN<H=a6o{+ukVLG|BqN& zT1wcrtk~=L5fO)t!Te$#!+XUBVrT*}CIe3-{hs|7hHwraoS9At4BoYSSFre0_@~~B z<%EbZf|plcJZX*beuqVb9E#1?rk>f9IPIZ^Z6EM>vYrIDwY17|GPA$`<3#UM<?vuo z;EruOw|+ZN8oGDgO$Duvd#~({=t1$;ALtJ%TCYllopcHB{`IDspM2?lKJ>7G?Gn6s z120aq=YHNMpRoh`e%#-s=<J~6lM5CQSMBh^ise2ZGidaZ@Q|?3!Ty2Tq|a}$1>7$y zDule68&#Fn$_m!@Tl~{e39-qz#JE$@Cr_lru+obH2!+3<#^fAJOQM7m;`d5cP{<3e zZ;p$07YwP-y&#PAf6{ld?d?eQUTSY&D2u-{C64iRDZe?P<2)#Aw`elP-Z8%O*>hpC zHFq2eI6$&CDg6&oAlo=~db(Dbbu>W?tNuwHj1(Qr^^e!@%Yi0P-;F`K;|KZ8$q)0~ z1HXwJ^7N_wWO#Fpn&jzKhKJi#KR*KhWScf(%x_6tj*6A(O%@XoiVbNxe5Uw6_QI%c literal 0 HcmV?d00001 diff --git a/templates/default/par_update.tpl b/templates/default/par_update.tpl new file mode 100644 index 0000000..e69de29 diff --git a/templates/default/par_view.tpl b/templates/default/par_view.tpl new file mode 100644 index 0000000..53d7b46 --- /dev/null +++ b/templates/default/par_view.tpl @@ -0,0 +1,23 @@ +<center> + <form action="{actionurl}" method="POST"> + <table border="0" width="80%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>Elder Participation Table</b></font></td> + </tr> + </table> + <br><br> + <table border="0" width="{total_width}" cellspacing="2" cellpadding="2"> + <tr bgcolor="#c9c9c9"> + <th width={elder_width}>Elder</th> +<!-- BEGIN header_list --> + <th width={act_width}><font size=-3>{activity_name}<br>{activity_date}</font></th> +<!-- END header_list --> + <th width={part_width}><font size=-3>Participated</font></th> + </tr> + +<!-- BEGIN elder_list --> + <tr bgcolor="{tr_color}"><td>{elder_name}</td>{part_table}</tr> +<!-- END elder_list --> + + </table> +</center> diff --git a/templates/default/ppi_update.tpl b/templates/default/ppi_update.tpl new file mode 100644 index 0000000..66c08a6 --- /dev/null +++ b/templates/default/ppi_update.tpl @@ -0,0 +1,71 @@ +{app_header} + +<center> + <form action="{actionurl}" method="POST"> + <input type=hidden name=interviewer value={interviewer}> + <input type=hidden name=elder value={elder}> + <input type=hidden name=companionship value={companionship}> + <input type=hidden name=eqpresppi value={eqpresppi}> + <table border="0" width="60%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}: {name}</b></font></td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Name:</b> + <input type=text size="30" name="name" value="{name}" READONLY></td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Interviewer:</b> + <select name="interviewer" disabled> +<!-- BEGIN interviewer_list --> + <option value={interviewer}>{interviewer_name}</option> +<!-- END interviewer_list --> + </select> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Date:</b> + {cal_date} + </td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Notes:</b></font></td> + </tr> + <tr> + <td align="left"><font face="{font}" size="{font_size}"> + <textarea cols="60" rows="10" name="notes" wrap="virtual" {readonly}>{notes}</textarea></font></td> + </tr> + </table> + +<!-- BEGIN add --> + <table width="70%" border="0" cellspacing="2" cellpadding="2" align=left> + <tr valign="bottom"> + <td height="50" align="right"> + <font face="{font}"><input type="submit" name="addnote" value="{lang_save}"></font></td> + <td height="50" align="center"> + <font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td> + <td height="50" align="center"> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td> + </tr> + </table> +</center> +<!-- END add --> + +<!-- BEGIN edit --> + <table width="50%" border="0" cellspacing="2" cellpadding="2" align=left> + <tr valign="bottom" align="left"> + <td height="50" align="right" valign="middle"> + <font face="{font}"><input type="submit" name="editnote" value="{lang_save}"></font> + </form></td> + <td height="50" align="center" valign="middle"> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td> + </tr> + </table> +</center> + +<!-- END edit --> + +<!-- END form --> + + diff --git a/templates/default/ppi_view.tpl b/templates/default/ppi_view.tpl new file mode 100644 index 0000000..0a1c64a --- /dev/null +++ b/templates/default/ppi_view.tpl @@ -0,0 +1,49 @@ +<center> + + <table border="0" width="{table_width}" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title}</b></font></td> + </tr> + </table> + + <a href="{eqpres_ppi_link}">{ppi_link_title}</a><br> + + <form action="{filterurl}" method="POST"> + <table width="70%" border="0" cellspacing="2" cellpadding="2" align=center> + <tr> + <td align=center> + Showing <input type=text size="2" name="num_months" value="{num_months}"> + {lang_num_months} + </td> + <td align=center> + <font face="{font}"><input type="submit" name="filter" value="{lang_filter}"></font> + </td> + </tr> + </table> + </form> + + <form action="{actionurl}" method="POST"> + +<!-- BEGIN district_list --> + <table border="0" width="{table_width}" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9" colspan=20> + <font face="{font}"><b>District {district_number}: {district_name}</b></font> + </td> + </tr> + <tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr> + {table_data} + {stat_data} + </table> + <br><br> +<!-- END district_list --> + <table border="0" width="{table_width}" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9" colspan=20> + <font face="{font}"><b>Total PPIs</b></font> + </td> + </tr> + <tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr> + {totals} + </table> +</center> diff --git a/templates/default/skel/delete.tpl b/templates/default/skel/delete.tpl new file mode 100644 index 0000000..ff650a0 --- /dev/null +++ b/templates/default/skel/delete.tpl @@ -0,0 +1,24 @@ +<!-- $Id: delete.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ --> + +<br /><br /><br /> + +<center> + <table border="0" width="50%" cellpadding="2" cellspacing="2"> + <form method="post" action="{action_url}"> + <tr> + <td align="center"><font face="{font}">{deleteheader}</font></td> + </tr> + <tr> + <td> + <table border="0" width="30%" align="center"> + <tr> + <td align="center"> + {hidden_vars} + <input type="submit" name="confirm" value="{lang_yes}"></form></td> + <td align="center"><a href="{nolink}">{lang_no}</a></td> + </tr> + </table> + </td> + </tr> + </table> +</center> \ No newline at end of file diff --git a/templates/default/skel/form.tpl b/templates/default/skel/form.tpl new file mode 100644 index 0000000..28582b5 --- /dev/null +++ b/templates/default/skel/form.tpl @@ -0,0 +1,64 @@ +<!-- $Id: form.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ --> + +<!-- BEGIN form --> + +<center> + <form action="{actionurl}" method="post"> + {hidden_vars} + <table border="0" width="60%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}: {name}</b></font></td> + </tr> + <tr> + <td align="center"><font face="{font}">{message}</font></td> + </tr> + <tr> + <td align="center"><font face="{font}"><select name="new_cat"><option value="">{lang_choose}</option>{main_cat_list}</select></font></td> + </tr> + <tr> + <td align="center"><font face="{font}" size="{font_size}"><textarea cols="60" rows="10" name="note">{note}</textarea></font></td> + </tr> + <tr> + <td align="center"><font face="{font}">{lang_access}:</font> {access}</td> + </tr> + </table> + +<!-- BEGIN add --> + + <table width="40%" border="0" cellspacing="2" cellpadding="2"> + <tr valign="bottom"> + <td height="50" align="center"> + {hidden_vars} + <font face="{font}"><input type="submit" name="addnote" value="{lang_add}"></font></td> + <td height="50" align="center"> + <font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td> + <td height="50" align="center" valign="middle"> + {hidden_vars} + <font face="{font}"><a href="{done_action}">{lang_done}</a></font></td> + </tr> + </table> +</center> + +<!-- END add --> + +<!-- BEGIN edit --> + + <table width="40%" border="0" cellspacing="2" cellpadding="2"> + <tr valign="bottom"> + <td height="50" align="center"> + {hidden_vars} + <font face="{font}"><input type="submit" name="editnote" value="{lang_edit}"></font> + </form></td> + <td height="50" align="center"> + {hidden_vars} + <font face="{font}">{delete}</font></td> + <td height="50" align="center" valign="middle"> + {hidden_vars} + <font face="{font}"><a href="{done_action}">{lang_done}</a></font></td> + </tr> + </table> +</center> + +<!-- END edit --> + +<!-- END form --> diff --git a/templates/default/skel/header.tpl b/templates/default/skel/header.tpl new file mode 100644 index 0000000..ca6d7cd --- /dev/null +++ b/templates/default/skel/header.tpl @@ -0,0 +1,28 @@ +<!-- $Id: header.tpl,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ --> + +<p> + <center> + <table border="0" width=70% cellpadding="2" cellspacing="2"> + <tr> + <td width=100% align="center" bgcolor="{bg_color}"><font face="{font}"><b> + <a href="{link_hometeaching}">{lang_hometeaching}</a> + + + <a href="{link_activity}">{lang_activity}</a> + + + <a href="{link_participation}">{lang_participation}</a> + + + <a href="{link_ppi}">{lang_ppi}</a> + + + <a href="{link_visit}">{lang_visit}</a> + + + <a href="{link_attendance}">{lang_attendance}</a> + </b></font></td> + + </tr> + </table> + </center> diff --git a/templates/default/skel/list.tpl b/templates/default/skel/list.tpl new file mode 100644 index 0000000..dd42a16 --- /dev/null +++ b/templates/default/skel/list.tpl @@ -0,0 +1,50 @@ +<!-- $Id: list.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ --> + +<center> + <table border="0" cellspacing="2" cellpadding="2"> + <tr> + <td colspan="5" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title_notes}: {name}<b/></font></td> + </tr> + <tr> + <td colspan="5" align=left> + <table border="0" width="100%"> + <tr> + {left} + <td align="center"><font face="{font}">{search_message}</font></td> + {right} + </tr> + </table> + </td> + </tr> + <tr> + <td><font face="{font}"> + <form action="{cat_action}" name="form" method="post"> + {lang_category} <select name="cat_id" onchange="this.form.submit();"><option value="">{lang_all}</option>{category_list}</select> + <noscript> <input type="submit" name="submit" value="{lang_submit}"></noscript></form></font> + </td> + <td colspan="5" align=right> + <form method="post" action={actionurl}><font face="{font}"> + {hidden_vars} + <input type="text" name="search" /> <input type="submit" name="submit" value="{lang_search}" /> + </font></form></td> + </tr> + +<!-- BEGIN notes_list --> + + <tr bgcolor="{tr_color}"> + <td><font face="{font}">{new_date}</font></td> + <td><font face="{font}" size="{font_size}">{first}</font></td> + <td align="center"><font face="{font}"><a href="{view}">{lang_view}</a></font></td> + <td align="center"><font face="{font}"><a href="{edit}">{lang_edit}</a></font></td> + <td align="center"><font face="{font}"><a href="{delete}">{lang_delete}</a></font></td> + </tr> + +<!-- END notes_list --> + + <tr valign="bottom"> + <td colspan="5"><form method="post" action="{addurl}"><font face="{font}"> + {hidden_vars} + <input type="submit" name="add" value="{lang_add}" /></font></form></td> + </tr> + </table> +</center> \ No newline at end of file diff --git a/templates/default/skel/preference_acl.tpl b/templates/default/skel/preference_acl.tpl new file mode 100644 index 0000000..d005033 --- /dev/null +++ b/templates/default/skel/preference_acl.tpl @@ -0,0 +1,25 @@ +{errors} +{title} +<table border="0" align="center" width="70%"> + <tr> + {nml} + <td width="40%"> + <div align="center"> + <form method="post" action="{action_url}"> + {common_hidden_vars} + <input type="text" name="query" value="{search_value}" /> + <input type="submit" name="search" value="{search}" /> + </form> + </div> + </td> + {nmr} + </tr> +</table> +<form method="post" action="{action_url}"> +<table border="0" align="center" width="50%"> + {row} +</table> +{common_hidden_vars_form} +<input type="hidden" name="processed" value="{processed}" /> +<center><input type="submit" name="submit" value="{submit_lang}" /></center> +</form> diff --git a/templates/default/skel/preference_acl_row.tpl b/templates/default/skel/preference_acl_row.tpl new file mode 100644 index 0000000..be03ce5 --- /dev/null +++ b/templates/default/skel/preference_acl_row.tpl @@ -0,0 +1,9 @@ +<!-- $Id: preference_acl_row.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ --> + <tr bgcolor="{row_color}"> + <td>{user}</td> + <td align="center"><input type="checkbox" name="{read}" value="Y"{read_selected} /></td> + <td align="center"><input type="checkbox" name="{add}" value="Y"{add_selected} /></td> + <td align="center"><input type="checkbox" name="{edit}" value="Y"{edit_selected} /></td> + <td align="center"><input type="checkbox" name="{delete}" value="Y"{delete_selected} /></td> + <td align="center"><input type="checkbox" name="{private}" value="Y"{private_selected} /></td> + </tr> diff --git a/templates/default/skel/preference_colspan.tpl b/templates/default/skel/preference_colspan.tpl new file mode 100644 index 0000000..b22fba6 --- /dev/null +++ b/templates/default/skel/preference_colspan.tpl @@ -0,0 +1,8 @@ +<tr bgcolor="{bg_color}"> + <td>{string}</td> + <td align="center">{read_lang}</td> + <td align="center">{add_lang}</td> + <td align="center">{edit_lang}</td> + <td align="center">{delete_lang}</td> + <td align="center">{private_lang}</td> +</tr> diff --git a/templates/default/skel/preferences.tpl b/templates/default/skel/preferences.tpl new file mode 100644 index 0000000..8bb144a --- /dev/null +++ b/templates/default/skel/preferences.tpl @@ -0,0 +1,24 @@ +<!-- $Id: preferences.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ --> +<br /><br /> +<center> + <form method="post" name="prefs_form" action="{actionurl}"> + <table width="70%" border="0" cellspacing="2" cellpadding="2"> + <tr> + <td colspan="2" bgcolor="#c0c0c0" align="center"><font face="{font}"><b>{lang_action}</b></font></td> + </tr> + <tr> + <td align="right"><font face="{font}">{lang_select_font}:</font></td> + <td><font face="{font}" size="{font_size}"><select name="notes_font">{notes_font}</select></font></td> + </tr> + <tr> + <td align="right"><font face="{font}">{lang_select_size}:</font></td> + <td><font face="{font}" size="{font_size}"><select name="notes_font_size">{notes_font_size}</select></font></td> + </tr> + <tr valign="bottom"> + <td height="50"><font face="{font}"> + <input type="submit" name="submit" value="{lang_edit}" /></font> + </form></td> + <td> </td> + </tr> + </table> +</center> \ No newline at end of file diff --git a/templates/default/skel/view.tpl b/templates/default/skel/view.tpl new file mode 100644 index 0000000..aedd820 --- /dev/null +++ b/templates/default/skel/view.tpl @@ -0,0 +1,27 @@ +<!-- $Id: view.tpl,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ --> + +<!-- BEGIN view --> + +<center> + <table border="0" width="70%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}: {name}</b></font></td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td><font face="{font}"><b>{lang_time}:</b> {new_date}</font></td> + </tr> + <tr> + <td bgcolor="{tr_color}"><font face="{font}" size="{font_size}">{fnote}</font></td> + </tr> + <tr> + <td height="50" valign="bottom"> + {hidden_vars} + <font face="{font}"><a href="{done_action}">{lang_done}</a></font></td> + </tr> + </table> +</center> + +<!-- END view --> \ No newline at end of file diff --git a/templates/default/vis_update.tpl b/templates/default/vis_update.tpl new file mode 100644 index 0000000..1d39257 --- /dev/null +++ b/templates/default/vis_update.tpl @@ -0,0 +1,67 @@ +{app_header} + +<center> + <form action="{actionurl}" method="POST"> + <input type=hidden name=family value={family}> + <input type=hidden name=name value={name}> + + <table border="0" width="60%" cellspacing="2" cellpadding="2"> + <tr> + <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}: {name} Family</b></font></td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Family Name:</b> + <input type=text size="30" name="name" value="{name}" READONLY></td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Companionship: </b> + <input type=text size="30" name="companionship" value="EQ Presidency" READONLY></td> + + </tr> + <tr> + <td align="left"><font face="{font}"><b>Date:</b> + {cal_date} + </td> + </tr> + <tr> + <td align="left"><font face="{font}"><b>Notes:</b></font></td> + </tr> + <tr> + <td align="left"><font face="{font}" size="{font_size}"> + <textarea cols="60" rows="10" name="notes" wrap="virtual" {readonly}>{notes}</textarea></font></td> + </tr> + </table> + +<!-- BEGIN add --> + <table width="70%" border="0" cellspacing="2" cellpadding="2" align=left> + <tr valign="bottom"> + <td height="50" align="right"> + <font face="{font}"><input type="submit" name="addnote" value="{lang_save}"></font></td> + <td height="50" align="center"> + <font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td> + <td height="50" align="center"> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td> + </tr> + </table> +</center> +<!-- END add --> + +<!-- BEGIN edit --> + <table width="50%" border="0" cellspacing="2" cellpadding="2" align=left> + <tr valign="bottom" align="left"> + <td height="50" align="right" valign="middle"> + <font face="{font}"><input type="submit" name="editnote" value="{lang_save}"></font> + </form></td> + <td height="50" align="center" valign="middle"> + <form action="{done_action}" method="POST"> + <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td> + </tr> + </table> +</center> + +<!-- END edit --> + +<!-- END form --> + + diff --git a/templates/default/vis_view.tpl b/templates/default/vis_view.tpl new file mode 100644 index 0000000..4cffa74 --- /dev/null +++ b/templates/default/vis_view.tpl @@ -0,0 +1,37 @@ +<hr> + +<center> + <h3>Presidency Visits</h3> + <table border="0" cellspacing="2" cellpadding="2"> + <tr> + <td colspan="1" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_name}</b></font></td> + <td colspan="1" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_date}</b></font></td> + </tr> + +<!-- BEGIN visit_list --> + + <tr bgcolor="{tr_color}"> + <td width=60%><font face="{font}" size="{font_size}"> + <a href="{view}">{family_name} Family</a></font></td> + <td><font face="{font}">{date}</font></td> + <td align="center"><font face="{font}"><a href="{view}">{lang_view}</a></font></td> + <td align="center"><font face="{font}"><a href="{edit}">{lang_edit}</a></font></td> + </tr> + +<!-- END visit_list --> + + </table> + + <br><br> + + <table border="0" width="70%" cellspacing="2" cellpadding="2"> + <tr bgcolor="#c9c9c9" align=center><td colspan=3><font face="{font}"> + <b>Ward Families Available to Visit</b></font></td></tr> + <tr> +<!-- BEGIN family_list --> + <td width=25% bgcolor={tr_color}><font face="{font}"><a href="{add}">{name} Family</a></font>{table_sep} +<!-- END family_list --> + </tr> + </table> +</center> + diff --git a/templates/idots/images/navbar.gif b/templates/idots/images/navbar.gif new file mode 100644 index 0000000000000000000000000000000000000000..2042bea6da19b9de83983decaae0cb6230ad6d65 GIT binary patch literal 2064 zcmV+r2=DhtNk%w1VMhQj0OkMyI}{SVtu?G!FvGTWc4;fUxxA*Ad(Nw8Q8`$WgL!#0 zD6g!Wx~3@e^T)uooLEXTsh4hofl0uugtMBbq>oy}ysU^;P0Y;9Tq7T+noq{Hl6YGk zlXNV+qj0^gj(bo_y{Lbxq>!|%#p#@AwynDL-LJx|dth20nv_qwueZ6Zi|E?HnVFfg zmRYryW^+zY&8~9Ky?Mo?WVftzwWWf1M?%51#<FZrrJaV8bY*5UGlf(@kBLH293Oyw zKDeu_$fAq&_4Rv4Ic!Z$w5N?|ML)!-aj2%C+KODfo?^AHrS|miuAP3owyNo(UdF0z z>ce)_zmDjRRBb^qi;$JIt((TZ(TQAIj)*dPNh)4rGrzab<m2A5qp07^rmm$`h*31e zyn@rOi=B#4Pa7Q0t!vN6;pU}o^YiAso>=kis<W0-(~)a+ayzY-TwW?5xTjs2l7ge4 zoO@JMqmYfIgehh}OU1q0#-pU&n0l?5m94C(#;tVG!GUB=TTV3}A^8La6aZxaEC2ui z07n2X000O7fMtS%goTEL2Z;xVjE#<ukd2BkijkI=n1zZ5QI(mWpp289iJ_*aiW*)r zo~N#siZT@|tfjBFkOwj{1+=WVz>ZJ5Hoi~6$c0bCNmeUKNz2K%FxA$}NiKI>E*%|D z*5NSIkm7vj=SCea+Gy+@M(FbB;^bxF^YY#hO?OKW5WJZfNYF$+KH-p6n^%xv2M9#& zSXpub0uve_GG=TzP+r1U3(*zSsF8^QB`H!YSz^Edjh7^27Nlp*6%3IBW4?UJ1cwMZ z6ILv#VgLsXB1n_&BsudVsGA}+s+g)GDG?lTNN7carU?!lA;MZ6OJpNKn&Un}H9?Xr zk+4|*No*0Zgi9Q-Ve{$@L4>M=zkdy$a~f%3&Wu%&?hU~rjtv_kg4hi!r?TbB3o?7y z>;bTZvxBQ$x=9eQ1`mt#I({rUj+_NYE?1eIxi)9NpF7ekOq!sE-@hF=n0=&pSQ~e? z1i8TCh?3{Ul{BeP!9nfJ!Z~;Tn=h>+YbHzs7fyb5l@Lm-SfRV5`E=^kr8j9}{>TFI z+5sc1*C?EC;N}TuUKK3Jv4s^jth5IUd%#ECeDgsU9eECL7RH5w?dP2#;Dz_sZv$5G zTxOQZ6<H80H22(l6*RHOi+dDT+-&%5mz!>U^jFP5e|Z3671u3bSpi*iK|&W?1R)3i z70n&7$9x4u31f^hDna3IfPr=nBOP)k;B1yPSAZN{++l_pR%j(g9v-Av+>=rM0Hch~ zSxMe$foaJl3_MD(nQ%hNk>VaHOfZ2JX3%j(4k?&17YRV*afTR5y!m2fdsr6TbJ=+? z)r}b*vZIGnkr#p-1*9N{TzA}Y#T!$^IsuyMZIMDAQb<ui6N0AbYl?E%mzh-;y#$XD zMr=4pZ%2)Ffeou}A?+O#=rG3|e%O(N8LcL_#T_=}QNkG`0HFsJ=%(vy2w#2GQcFyD zgRBvv^1;?id11A{4=JTULJBq{Fohok`;mhUQ6?PaN_lv3h7>n^@PQpe)KEkJ5g20} z>&8=1ATP4Y-eWHaG<*d?9C7TS=oCV<EW{NS7i>onS6Cp#4mj^1L<0=~pnwZvh=GIv zWB||u21qCU#~(>!Kta6mY+1-n8JQGE8(8FEM-OvMQG>)E%u&M&ZA37HA4AOX!4zss zT!b24kU_>979@a&!vef<GzLBN@IV_U$SpTO@SwvXA0Svw0Re4nV22%72w}nG7Qj4& z77X}6@D*xb;knvs0P)5f3e16X4n%mt1_pA2fx#bIv@tr;OvKxP;f0)&xE^$9K>*`z zJRtV9#Mdyy-#)aFcITc;48;VbE8w{WI$HqL9B-^Z2LTUgfkG5Oh(Uw@0p8$F$T=Mt zkV6|<@Zi1{!q-52*fnUOg%1(5;YZt^bAAOIU3fzc*hV?(2|*8CSOFTmK!7^%AO>j2 zgA-^FklRV^e0)e>4*rIMGVtI5@gv>~UNE*DL?C}{P@DYbaD@+ejt)A|K@ncCg96%Y z3Ti;Z2n3LUFQ}me96-Ss2sbYdsRJMn7(xVY@HlJD@LEH7K@t4$0Ur3^18E!KwOaT> z9ROemL-+voD2GKgG+=07kU;}RumK)WfQZO4;zPy|Lkna<Zq{PkwInu$A|T)fek=mm zh{wV!7@%licmvoZhO-)|K@CW_0TPf<0w}b>2WiM8G>&nICp_f;0{{TP0F4&PP?F(s zcF+L=5O9T6qH=U#0D}O)u!9_gvIqc(VG&|!0gI_Y016NQFrlCZAD|!&D1ZYTqQMAH zc3=!vd;%P>K!6jRU<24B05+|80v>F@n!j7x(&}&nI^ZD(Ip6>`*QrhpZ~zKYaAyXv z@Pz}QAOk!=0R`Y718Eon8*V^>`+Pu9_gOJ{ZAd8lP=G>$8WRqEfLjb=fQ5=;fd>r8 zoI?qkIfLf&o*4*f3wE)HP9~uPeMo6aFC>NwxpV+9jp+bl5QZpt;ig`|ClA8#1r+$S zhj5s|48qU{m%20xNR2`mV!Df87$OleNJ0k2K-Do&;Hp<`b%RzR01a<=L#SX4t5|2? znZJaU9a>GRT9Z%<Q9u<MaLoog=8D#|w&1RKovT{+%2%zjqXm1tD_dKkiC8rCu!v2p uVi(KUsKynpO(pD8H$mCTTK2M-&1`0Kq1n!Q_Oq5f1ZYP~+R{=s5CA*S{gF%n literal 0 HcmV?d00001 diff --git a/templates/idots/images/navbar.old.png b/templates/idots/images/navbar.old.png new file mode 100644 index 0000000000000000000000000000000000000000..0746cdc4c64e17b1df8568392d9bdea649ee7da6 GIT binary patch literal 1953 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 literal 0 HcmV?d00001 diff --git a/templates/idots/images/navbar.png b/templates/idots/images/navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fd5ec989b2b9f576f99560548bfbf110bf54b632 GIT binary patch literal 4206 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 literal 0 HcmV?d00001 diff --git a/templates/idots/images/unit.jpg b/templates/idots/images/unit.jpg new file mode 100755 index 0000000000000000000000000000000000000000..cf2adca0932cf645f02b48f522c6e5a7e014244c GIT binary patch literal 7350 zcmY*;1yoegxBeYc8itbY9036d>5%RkVhBNy7={$2OF|lf0TGa9=#ma;N$GM>kd#(H zx*q=C|GoA8-(BnMbM|-6-rqiV-L>vo`)=XxCqSyMtfmZrFaW^z{sHdx0J3LZFW|la z2*3gWK;zzZ01(UDy4u(Qwq5rg(A^>s4q#&Z!~KYfjfshgjg5tgiG_`W{SP<~aB%N| z^WXs<K0ZF)1H%7+_#a6B7a&Y5EF2sh!Uqos!Ni2bV2XbX1=)Xivi~-u|IhsIng4Hc z*9DM00CIqOOb{7>K?cGk1Ksrj754&hK_Jk*`5%BV{wc$KfCmCF@0tHg{trb8fbNUH zz{14B#lih|_8$R|VY7g71aal{Sjny5J#Y^dqR6XN(6?cu?Dk0R5ia;M8D`)~h4=72 zI|c|7bYC|XHuis#g2*s1S-@C=@_N?f*zWK0SSkL5)^<-StO)6|9oi%dQ`Su>8sOZa z0YXgBy>v`6Ko+<xlEZWgh#C$du#tTgP&$ZdbH9iNPEmsarGO}EP#35<$^}_($YBf} z<zmzYL_EfRx6TciGAiD?29KC{0V<WG3tiB@PEz6jZtWco!Hz-#1SIz?qv3s+`|wV# z69yo|5DI`Bh%UxZF9Di#K?k{@wlz77)er(N41&PN1c3n2Upd^*Avl-7<5szcMwldC zz(cV@&;*bRlEYq;!<EAb0c$;`)8FojOx-WbRR~<s1|FY~V)Uk$hK5KG-Qvv1;TSyw z!pdyOTi;`P0aTX&;|3|ln^ZXhV#6*1f+9=`3L;DjB4$ce(0wdyfJ6B`5uah7iu)oo z8eg@l(`k~`Ho^AV=`==()A&o;M6#lXn9qzvg6hIvjGbsxk_%Fnr6%}Ls`w5tb2L>9 z8+lwF6N)W|F$0KBU{JbiD%wHIN#%!`+1(+fp$QzXa&f_}X^|30!#I;Ck-SO&Qi^^u zWR)yyFjHWW*>HOIs5)@x8!P+Uru{WDcFnio3dems4w0vPh0O)|AiXP`hRi&D`!@e1 z!;dU)(^gJ~3<nH#K5R-<@0X5sw!AQ!q-*?suiJ-oRg0M(BdNE6na<6KnT@{^%*@~v z&c~VZa7Rn7zi<k)PMan;lQ|P-q1t<YmxSU7X!tW<uYC6Ez~OJKG%%L2h7LW#klhZr z?OWC=twgg)!wi<qW3_?jzeda|=&ZkXF7fcFUJVtOiYg}Kx~^ZDlO)h>5q?45tPk?u z0U{nRt(I!%F4^+>-y>Nh&Y}Fp9@>t70^po6>_yLK<Q2~F<yf33`jp+4>Yu&EcpnAk zHB}5T49Sxl06UqGFwam(5V1t5Vn}miNPek*R);xI=@e~?djK~af-I}eHE2f0{F+kQ zb*iJWV1aI1hzQ$D99a4@_rSVE7-Z9v!8_~e3OYs5#TV0N=qizDe&ok#>qX6%%JwdH zqQ4p^21d+F%GtBOme!!i-BFgvwau?L+ixW+b&zn*M4DuNp%lMuFY&^TSkcqDng$Kc zS{KzOv+kJ|2CzytUqKQLa6Vbj?%YZwP7x!I6T&E0Vn-aRYK>09S1klZkk;TPekn>- zRVxL(iX_{XBeRl*Kht1tt8|EFZH}E)&5b+`bS%fm-{#wb`z=JqWDxCIh}5R2Wchb| z`9yx<o`}r2DA`i=lYlnhoRYu7nD`r(vUWDx&{?gBqBGKO&92@)5Y?iW6y$ZDvSImK zpXOpXjbLG1D?_&>8xpn7M~_u5s`)U?da0@Z77#2-^qT4Yap6|vPuGvEyUk3LG|q!H z&m31;Xq4>gYl#kW<;!Cf=8o1$Iqp-0Xq``^d8ne(4+|XB1fzbNwx(q~E&2{6qKfJ+ z<<>0)DTELb@NV`LrAmEBqE>x=|9aSN?u%o6WblqqoJVyqk%&79Qb+_btD}W5YBx+( z*iQDf)ntEfN1d5C_?*X{2R8hOzAl=3zQd5F(}Z@O8p~V`2(DYGh9GZOCR$mSDS8YZ zl8Tf-g&b-W5YUQeB$!2JHQ^<5F@1t{`H*Kr7*JPZ_LTfq7l<TP27=)Swr9OVbhL#X z_TWz=)d8?0A*heiNlB60i<f=s;XX5HTaI*DVm9BD^5uK7@4BTJbh}i!_}j!paI>Uu z=BwRC?Ynt2qQ28fo5h>Q9xrtsl}^+x;5CEzvU5SF_$MW&b719|y4NzjDwaB-FWtwR zNrwx0xVf1k_nA|wEyLO^VVT){3QEO-n<J8>m0fh$X7h~R74PC(Qxy7zu(4+!VB1s* z;&Gm+C6Ut3WrnNS!5jx;sTdm+d4%AuBobfq3w>n57d=8ghuw1K<*z59yGtD$!x^00 zniN!<WvD7L@_4Wq`~r9gy>CCr(YESh@!))^1j~DQmyzN9+E>R=zW^iF4Bzo(j42Jf zWqGio?CnLcL+}WEt;L!S5>N+~<@zFl#Ii&FSDdEiL3oL05%G1Np@`~+dJ_HeSE#)F z-X+gxT*B8EV0)ecMqQ6>RRp&T3)SbGrH)r~a~8!lZDijh#g?39vHLW8j(mQLr++_t zCnNzbw*X;7)XZF`dpFGKKUkpkQ(iX?!Lf4~561C*f3Zr7cbjlMe;*-4k-4Q1KQKD~ zp{3dBbloNKdRRu9sB*hK%3@)v^$vjKL>YKdbI`uPOCg()8SbChbs~^w!pMyITTZ2) zRWR7vU~a0&M6$g0jGXn&d_IO!lz=L`iNzBZNAKBu+hjVw_tEjPhoyF$M!!7y<$Q}I zA|ge!PY(>$s5>=4D|59i4Sv+`rNZiTn<N9fQn^#nr&B-UNq!W`T?+DgD1r?mVvA%7 zQ-8>juXs+?)|Lraw=>8=cmGbrI}#!*tL5;G73F9uJ{mcXD(4Zh@4KtOmcOLb3n6Va zroe^2)mjbt9~|N|q;SSn^KNDZ$Ml)Eug@qe=o@`95|=wtcY&MDF6KRUXVh3uP|1YE z_Ofu%(7$m`UF6%qoM;?mbG=b+-3{wURKuUHEnGZ(8pV>GdZ2CA+QAdFIem>MlX}zB zN(DaS?@fF?-EQha&heR}S0C;1yXjykYe!+4vLLrkJ3<+4RpjAugnnmsVxQO7tFddJ zFRm@y+|fH=hokFpomnT)qV$b%{Y5ZF&p~|a?Y<kY{p5jtVD-RT^yek6k}I+A_L7NV zUcREbU-Ze;ZLj2t(v#Zuz1sd_h2gt6t04WF1vUjJe5K;N3MPleTwi3GsY<H*Ig7F# zFfw^Lro_YM9;H}v_cHpw@Kl~=Q=*Au3ms)tTHs|Y*l*1ZtA49?^L&16<F5*IKWr?q z?bH5m>Aj%3Dx@!kvBgcNtNW+!v&`(S<UY;sPqYzGon|^7vnn}U|DcbBP6p-#$k8<m zeuWFh%!0q7ohUb73h!=*x_Rf@;!7sKbB#~ya!8iJh={b_1JQi+@GGMjdDbs$dKMHX zAB8_vW~nqE*ZJY{=$Vz88NZl8+kEmF?Ztrd8hD_MmFjA0&lXY3mJP!CJ5JM5Qq3MO z++R%}KGHApWkOo6kv(trW514<?s4$V-M&dVdU6(n7gzK{n)iZMj2M*kl)Y|w-TKzH z)KM{7moXJAM#o+F>il|F%w~$$?R)EW=r#G(d$OB)PMI$CKrw*Z%6l!BIdDlN<#X{^ zaTQ#<GWQsQ*FxP<e|S`CH<KCf#jD_5LIB1Oa8l<Bei@3Fl$(~SgT#C)CbKEN$INN{ zxsQ7v*PzKVO{6<VC_l~Hrf<*M{SMHRGNahmd#X6tx3;FNIQTxlD6Bm5dx&2`80yVe z6sHk=x2eyS;ipmQi_4Myv&W+acwKJxe5^FQp29rZ$_k5&+0lHLZ(F9$wk<36^&8H* zeVVI+?3ogqR}O=Ug^!xb?*Q#c3~0S$a(Y!i#hd9bvx#$7bvaaiR`LndV>g4T<1;TE z2a?g}anIiPm)LG>TL<&P)9tTh9*u9+_WiEEA{)JE;>#Yrz#5%NljTN3)5!3^^nvwQ zMCuxithcguP%-$%$9LZz8TXs}EPax}cK#lujO8%Jr3@n+QAbj$1FjF4!2(s0t+gKR zmZz1EGOLeOUIhLk=$X<Q6^5g4w>Fw>)pSS6)2yd*MwEkIREW^WmMVd2yo^r%RJi)< zqf2wBFBqQmRT~z|teMZxR9O#!*%D|du8675f(?;7H8^)b)SCI}hRD6<<t<0@j;nWU zcfb@)YFI(94T0tSkecj9#ckEdsenK2&&k`f1C@%~ILRE$)EB;0#v+l4k>U;&;-zsz zUK`@kO3y_#Ld=F;HN1XU%8H5XzjJKTK3kGJTx~G&6y4WoKJ*VZZJ#}G{22OuPculf zhf5Wa)&6`*mbv$VTOQA?J|;g_=yQss;F#w9u%@cr(qQtP$I~{JutegL-N&E4!<z;5 z?tmhXr%9ZJqL&X{6q|>lPjE2|F&f1M^3YoLiP0&P$l52@d<9qUtx_~l=EKx}v-F=@ zO>)ZkC26HTa*TO?Yd%~I80WJs65-AXgsYtrG#O<w`>AbDb(k|2QG1Pu1aWcP$WoSz zua0!Hg-M@)mX$5sGqToXMuub>vxl`5rdP_;yD1M`0}aH}sR^cJFjYD`Hle8OUoy)( z$3%C)kK%ospmf4lmaCQoZ4B4z$H>@j&qsTune<*{DH$0ZT?;MhV2fExH3oQM%5X8h z>)>j6Q!_k1sxSaQL;Co)1Ov>~(|pHVjl}^9b>LxBc);&PRcTbD?$J^7SyX_;-MZ&$ z?Z?XtZ6^CiqY|i>y~ND6g*hJMg$U+qSiDFT;m(NZ!~j2``=ozj8@&NiV|`)br-N7n zj4BqR4fDJnk7=dq60LWX`Fv`1=`>Ye*TpDrOX)VqNL915`J10@MwS22s(ZUeT~T`^ zX_Ctt$_ckG2S1bUMS=4n_3NwgFUK@#?h_osNq!19NPfDFuW#I19w_{7CNCOn`BP0j z3(=OPoky5`bttCZ@yqf`o;OmPrI*d(keVzylxhzbrH3HnlIy8@H4skPXUPK3mBV+d zvf)R>vL#24UtVSzA-JJs+m5$6gO{$T3+sY$lPNZjtnkM_Ump$eAqxz_NYJZ~;j}mN ziLcX%5X5yU3A6iBMiz~JgQsNcytG<X>RDn}P%V2+Z4Nq@J==8&!c=y40&FHG-pZPO zA!s+`UFsthb?JFd0kpinL3`)~rK36hn9}3t9o64Qe;Xr88Q%^*XZ1XwzAz70q927) z?FAN=`kOA0h8>3#!rgE}cCEtPq>W`!p0DTbfJKB$4r8Z)@daa}GXbYK+(evHV)S#N zR9Hk<<sfSxDNsv!!{uMT-(X!_FGWuovpeI@SUk(`$aEIp+4EslZMSrB;=@i7ofWDp z2fySkt-;J+<LQ|@VEA-A^NS<4%lOcr!LLu^4H3y63SXnbbSJr1EVZ2lxOih1?myA9 zAf=^6LCM#U0O<1Qp`{j5GHV^&frK255Bix^-o|LGR1P1}&EcZqC{C`HveO`3RLr)K zMzjPcu|aT}0)@P)W2aIGb9lU~vZfVl>X;wwS7Y%nydRcUA?Q@qTNEh)C*cuFLFEts zisM!M%c9E0i*(Of@UH0(=xp0u$i}s2!p$>L))z~`c!M8YJ#?>?i~B`&F^*uaOA4;V zg+%aA(Qjy{qN|BZ#>K=qMA}7`CvQ3;1Z+M>Nrn!$P2<MACZ~n1zRP$A5&7_T3&uEQ zW=5k<^+;jnC<)MI6shK0rlflb$<Q!D_?=N6%X~n2k9-gV^DFpYm<W^>_*h5OE5!Ow z;2)G{>-)iU;p;d4GlHw#jRsKNJK)JxJUsb=o_G87O|IQ-ChP0rXJSXY!3nm9gPOP; zEX`xp%)4W$bwyY_Vy4W6M0n>P&X;fDGXhbN0T{%lEdz1=!O<jm=90me$IEo_^cM3P zvIQXtJBWnP`+h)v=u?kP3MLSR2&NXQm@zGMy6=m{f{L3cFD-*CD9yZQx4+H*7GE53 z(hR7szl8M|FhX<`orAP^=rq)Ic^xtVirfdlO$U5tAYb(&Alr6+b+3g=Bcdxayi_hB z{A3r#hT|x92XNj2BocLmBz`_68|^kw7T6R!iyB0!Dl@UagiX7+c7)XHu#!r~#*=?} zqs{$8da5;2+g2Q!?Y++<hEGL1pScs1Vfpe23Vz*|2#Xy#`rg24+{Q54AE%i`sG9I8 zDQ(nFHEHup@(BN4k}i^SV1`0qWv+c(`)`HMOy{C2k=eBI%7R}@i!^dyg=%do=J+W# z2P`>l0>mKKseVQKWqRxf_-A8RM<?U#TUx74El-=blOJpmGU0W{VG8Q6CjK^`L#rAr zik%j76tL(sLUt1?SsbpXQp*#K3sbhG<)?dEtmvp-?Ycf>_*CIi^~6HE=d)avEP3Fx z;KMC_@Alz`u#X4wmFf$K-eA32vBva<Dflt<HeE|hEaMdiI>qFw+OF`5GZ0lhI9#4s z!8JY5wK*l^^F6_0`+X!sB2E9Jq81$*;-#LeEN072t=?GvM@Gf)a#Q|>s^L4J@DTE9 zqwplKz-L}(lY=p&wE$%SREic!WL~7qQn`c`Q=ig7^~=#tMW=MP*uoGdj)+i7xTfRN zcGe}wx?GAvRW#n>i+pHxM07!1*>Tl*aA+d$oC$)FDSFenzUQMA3D&4p@a1Bju%Wpx zKcB0HJDoH{wP7L|glhpeso+{_IE$LG;37dOo%v*r(v6FTQvQL#<ncWEEFf|~?#UtT z91ZUeDwH;)V_YjhBjnN?8fCUIEBqQEK_bF$uEeW}`y=6YDtk|&F--+ICEq|$ZNjqC zs`i`dHsEWDY-4gtvhUC^GAo5qvF^J-DMGZ58XQ)Xtgf$CBjJRwWGZzWRJRkk46^6C z6?2G8zZsxCcxj(}<XV=1fUpT^Zk-R<Dh?<SORPS8W}Fr-G-cGxxgu7lO3hWYyBTPl zX#U-#y{S!mVegDdC0_siVPW!x@e(>CxOD0B$3Y#;b)h$sb>iQ%PzCIbxeYjZQAukE zaj_DP-sjHF<>=-cv1zI3p@!lQyFZA=6KZj!%ICg8Om*iz-zK|V2a9h6WOka$z%mCL zi;HU-Cq<fF8W~RCXt7`nvEcs=L1LC(!MA*yOl^ixe6O|-MS5W`$_jK-KQ`>Q(U@xG zZA0`-iGG_}3|9ax9fAEe5<?fa+9=1K0dy*I`E~TMNUI9u37u@Z(?l4jKkcSE?E=C{ zo~_KN{(8$%sO;zQFX798?5s0W0uYMA$fMFr7UY-qH(COodfXW-dvTNW>zG=ADb*{@ zh)NhgZc)uF=7Svj0k3kAaRqPfWQ)5%t9DLVn;yX*sqW#=v6ACm_EPNxB&u&4-#`NA z&}Y&-H7qRsuViU^1tf`O(j)dHcL!fv38@GrqAhP%!cCld+v~A&Moa3^jZHyeUw-NE z!6W=S!PPelS2<gVmc@&5j>DfF{dQeV;@3?|@jWyqQ+GfgwpZ}TAKBAt&l_Sd_#L33 z<k`-aC5lcyqt7Bfsp?1WP-wMc{xXi5JvZ{)G#nRhNQRm531?}fl;edbje&h(U!^}w zn0PMQ<}1dBNbJb9T)~|#QN-!quPa~$LJhDoHEH~IE2j0Y5;T^yp6VPbvkZNx-+BN^ zHsmsg_%uhT#x>CkPPz`i6mVY{Y++*RxBZG(ZPH`=fhdeU2dgpQDq04)8m`S9nj`1Y zV>@P5okB0u<5ue~MkB>&(z@&fxj#bt(r3_?WNAsxMW)RAdbGxw!zXd&l$9zP^?%DI z8-DM2+f?Ct@fDQ01+fi39JL<mSJNOn`orjF@HH)ot>$KKV;=EHz;c{AuoCu7IZBp| zUqr=leZ~EXYxJi_mKFQgK5xnQ1B(HDBuWN49MQbNj=Di>Zbpg4t-mu96S1M1nPz&+ ze|CJ&2A7~a_3q0H#x_1A9@aXeqj18NL{5z<n*qhI+~4|<CPb%)HPv*tD)H()t?-3$ zov)RhnWe=&hX=~{zgx%6Eemtm9FQ~{@nZykU;OPiF2tS~{_474KNVMiJ6vG#G5SeS z?Lm}-#h;<tnwBWLjwo}QN5km4AManoLnRmzuu`pt*DYJEO03l@J2w+%R{iJCk+8MK zb@VhEwcuA?<I8B!_c=@0=a!AHB%t^5Q;OiBeFr1Y16FbuY&>;!RrK)nnemwY=IZ!} z<F;9|YiDuE*4jL!UyD{iki&VsyXF((O<OzdVS6EscPU8jwv?o4NZdD1xdvu-4qW*e zuU(TW7lL)e{FnjX-!Io+REZFY(f*ZOo;GL+V)$<CtMeG*0nS^`&*LlA=7R?yoJpTh zGiZ6wOEc_JP3qk6F$sU&FyLVAu#@!^34k>$M7G2Rgg@g68>V=F9xhSYmX;c3h!V5X z3rc6Ce8}B+;kSRD;UTTIY%+7gg&Ddh@1Ulj-|+}6aEY+82<7kHa5<5{@(!tGl=bp! zc$y)5ih!!tfp#^qcp_(K^h4;(AMRpNoD}XvacZQw(YqibIPBCq?f~NDeaeBHL|CO> zCI4iPZ}4+L;?|-(ox<H6HPt(SFW|t1$YATWv9KUml87une<rH`;6Zck4dpMZ@V59g z{W4?QiP+TE?JKz|4YzOkqxMG~Wl1y8mD01B5p1PGY*O-OBwgTU?NGv%{+=aH%%-IZ z$VCuOpI#RiR<UbN+@xHZ=j?7yu8yA)=43NHsZUWvk^~rQ)1M5?Wp-5FDmeLTP%UVR zj`##T(+v9EXZCXawtCvK>?8}Rr|DIilWsZ1>V7=S*WwYgd^(qo$)1{<ni*=1ig1(F z-$3uowYgosvchPD;(MPn^1Z9g@>f;*{RypA{c8elY1jT`qtP*s<1-IsTX>JF6?n?^ z*M>>EcVLA_6bY^Ee!XsX@lSTxEw%vfj}>nBQU1*lNBhOOt9N-f%rP2-ByN$-nF&%z zN&)*=Zz|cqY73G41CCF|p(}z``nqdQ%qLj!!Ajn%z0gb9;6H*5xw~1fBNXgXlh6?j zJ0!c5`>Sg&cA1!ddMvVuJtStL`NkI>QQY^c>AHNnf1n^xhD*9?Y$&ozC6)#cU$2G% zVI`kPsV}~7v(minY(h8xj3xm=(Io-=Ym3AvM8q>gHdhKXu=tpl>KdO6L%BKJN)EvK z*dB{<@l*<RDwr<I;k4a{8m9R4)h=jXoI&a;*dh57Q$kVWh6oJ~zWIzGyw+j;7IYKn z4p48&!I~bUldjgK=F`7qK2}C9zDlT^xp{a!iQB|;Gb|G)H8Fswo@~9JO!l32z_;eN zP=Dn&lOOJrk1@c?EkE}EqN<e?DdE*}wbEw!C1PSZE*eJJI9Ih7l!GHW>YVF+LKdR7 z1(`&F2`v>>;?~@MCMhWG*1b2<%r5Luz#zA_;Gu~r{@1+u*Z9D{uhI}uS1^2}#Ek)& zNcy?0yYrM;GE(6h!WGxi=jDEyxQ8DVP2x6nzWXc)r2i*!m9AY6nYmZuLk8>PdiyE3 z+u-k(Sn~T-y#YgLY(hl)$9bB!iQg#8x}ulVl<|2b*aOP03;B9W`X9f^cWSTa;b>qW ziUm2<hd;G8WZnXF|F076e@l#9P!T}DnS`a_08}Ij-gmT)DS*7j_x~DA|1J1G+dy(m Hci;XCbwZe9 literal 0 HcmV?d00001 diff --git a/templates/idsociety/images/navbar-over.gif b/templates/idsociety/images/navbar-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..c11d1f9d69f85a3450a31bac813417445f405271 GIT binary patch literal 452 zcmV;#0XzOjNk%w1VVVFI0E7SlQc_YbE-spynq_5W|NsBb&(Fxn$f&5OzrVkqpP$Xm z%>V!ZR8&-#mzScVqHb<(78Vv$Q&YUWyq%q$l$4aTw6vI*n30i@wY9ZYR#sP6S9o}M zkdTo7|NsC0|NsC0EC2ui0Ga?6000I4pd^fBX`X1Ru59bRaLgV>Z4}C&?|kq7z@TtQ zEE<o<A#G7GFerhjbV{vSuh^`1%k6r<*$2&5NC3|0w0g~MyWjA*d`_>w1vRqS&hPvG zfPrcPOHB-Wf{BWYjB^4G29c475NDN*n3<Y%5fx)iWoQ8i0Hd3ysHhDEg-(d3rm3>C zf*d%XH?O3zw7tG^6EzCBp=Yq9Yy`>#0L*93%gt)h%gWEz($BxW8LPsrhoZa4)8*OD z+GyzN?AqAt+o&6Pw|TkZrR3A^*v;>0(b{E`#;jnxSsJ|6(}Ry!8-wQnN;EeRV!wl_ zg5iL)AW}GE<B|nL2hCcwYa~hm{!52Z)`f+j5CK4@ucggd7FgLUcC%-^2pGW0^huN! up`AmEDm`_S;nJr}!HJMTwW`&tShJoW1_g}QuVBN99ZTf_BuNHB0028MC+02y literal 0 HcmV?d00001 diff --git a/templates/idsociety/images/navbar-over.png b/templates/idsociety/images/navbar-over.png new file mode 100644 index 0000000000000000000000000000000000000000..7ad9961c7c7bc57077f9b8ff2ca215f610fc5daa GIT binary patch literal 399 zcmV;A0dW3_P)<h;3K|Lk000e1NJLTq005c*000&U000009p>6-0000MbVXQnQ*UN; zcVTj60B31tGH`BZATlmAE;6HDM-Bi00W?WOK~#9!&6lxC#6T29PeRBPf?&63Cqf#V zEP|;PMX|Ab-;vI4>wG~v8^2&Gv0BRoBNl1hMl1aSn^{3ECRws<?6UA~kz6JNbMh{4 zG6^2vP^aAloQd{c^r2ml))djxvpTXfs9_rI9H~P)P5=l|s0Aq$D$$m%a@>RfbC~M^ z3-)7U3?>8^<&1JQXqN{l4Rn(IG##pq?0Vd~O*9LL6|jPBEZzb5L7E9eD?0aNX-%<# zwp!0hXKgEVf!3Z4sl&|Qdjk~<0v4gYvgTIvw!!vZW&9tgFN!aVbVqyMVQ_uV;xQ~; zR`mtia)=dQK?{xRmUT;PJbX=vO^urdclSVEl9yU~^y+kxfb&}}C8!}|_NjHt<@dvP tsLIbfdJjcD&_MCO!RxKQ1Neyp+#g>(U8iV(=MMk?002ovPDHLkV1nVarHTLm literal 0 HcmV?d00001 diff --git a/templates/idsociety/images/navbar.gif b/templates/idsociety/images/navbar.gif new file mode 100644 index 0000000000000000000000000000000000000000..d51c4a813a218977ab57fdd16e622afae90a3ad7 GIT binary patch literal 444 zcmZ?wbhEHboW&r<(89p5cJ12K)YOX?FaH1kf7!BS=g*%%apHu7gTsmyD;6wR@aom8 zkdP1t28Kn87EPQu@$1*GXV0E}`SRtHCr@HyV}V)-0v(`c29RA0tp6S;_oQUb%UHE8 z=k>mVJysrx(yStHYTo}pu%N(0N2>pX%En_F5@JG4C0-r@%dcgJ?!KC~K0Zt0w5<2p z*n-NpsjF|dc)kr2IQj0!p1SkqmN_L{49zXAZS5VMUEMvsef<+Ab~F0;aW_qxIcxTu zx%1i>dD#{(o-u#<ij}MSr!-hB6KvkNddt>r6W99sFJoe7*t`AUp~Gt%TMisJeCqUy zqkgP=_ML2JzRJvSz4_*~8*O*4UA^`2?yWP=I(JUHxPRZ3drzNy_|$Uq<Mqd1pZ{Vw zxBmF0w<{h>xAVp;=6w;Gwp%>^{?57!|28HcnGmzD``wdJl@}LcG?;nZVkcR=RX9|2 z+v!lFaQmevX05We=PI|YOF1)}KmC{T6+MM>^G{!T%jC61*(KO@GTT+jz?H#CQ`_w3 ZW^pg#Q;pc1b@$ZP*ZhG?c!05G4FIst`NseN literal 0 HcmV?d00001 diff --git a/templates/idsociety/images/navbar.png b/templates/idsociety/images/navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..9b430eea4ebc885b0d07b54625e371e5d2708189 GIT binary patch literal 367 zcmV-#0g(QQP)<h;3K|Lk000e1NJLTq005c*000&U000009p>6-0000MbVXQnQ*UN; zcVTj60B31tGH`BZATlmAE;6HDM-Bi00Tf9@K~#9!&6c5#!axv)zmlfasJ;M6#i=?3 z4vCxhAeeL2eFDrq#n?j<Ft{~{6SzYV&?gpkVoS56*pm50JKb)wU;mlTZt{1+nzls= zK2LwX%%M?GIhy3W3y=5A%>8>2TpNFwGwoIakQ%JDV^LO)W`sfA{lW8@T13lo@c9T} z1~Xf56>UN<Yc6Y3Xbx(VwHDN`H33u<M3FWmL;zuscEVr@bu>M+ZavXxZBb&Nr*}go zw1=hw3WD;u@)ULR^z8`^rUY9w9)0l*gY~uP;Z;H(94Z<d6lkN^)*;!l+~Mowx`)YX zIaw{u{F<A2*|ppg7~4rJXp-yRTtkapvniu!-5zRB4(jxGWAVHO_<u*-aO9rnmGuAs N002ovPDHLkV1kcEooxUB literal 0 HcmV?d00001 diff --git a/x.gif b/x.gif new file mode 100755 index 0000000000000000000000000000000000000000..12ed1d5f8fb8e1d40366594fc0f71ee225ec532c GIT binary patch literal 856 zcmcJOKTFqf5XawvLxF-&gM$P=Qu-O<a%n}2OKQ;C5G}gg*mDRWBnWi8u`RIgs%<`j zdjd}3qY$U_b)V<pXFKlh{qMft{f~QZ-yJP#QMXd{%c`jIDyvdgnUzuLl~$>4Mpi_H zS6GF5*0Vgyz1+&xtCnR^=4DnUkV;vKl9#MR0XEQJvCOoZr(a}xre&&WsUk8w!!pz= zXnLf3x}~c{F>8_LX_h85vYLvNrz{04ssTeZDv?DGVz7Y*i)FQ;u6Z6|5o&+XQn`m) zxY{l%Xqtyvm~f9MW<wsb5cbFenQRjW{t<ygR0D=+R5FSVh`|OLEOm0-rskQuI!OFM zOJ(LJa>XtxXu8ZrjwDS0=wh6paZ8lsflRiE15FslA*umGG@Hmm2gG0ltv*pt)28N$ zixDLLprtbP$I-ctdv|l3uwx!q>Ddu<r#`al)e%P@VK{80A-ZoebTsgQ=5ydmgoh`n z;?35ywl=M=pU+=T^ZDOb8|ORQe44Z#^v&)T9!dYT*)07}>^|Ps)sxkO)5DA7>wmM? vC(FMtzc0<6Z?2r(?EJi5*jhcAzV7{cdiD9)pXp}*$BPf&K7Bbo+|~Pgfp=$7 literal 0 HcmV?d00001 diff --git a/x.psd b/x.psd new file mode 100755 index 0000000000000000000000000000000000000000..8353958008332fe4ec27a6285ed9e21616c82cb1 GIT binary patch literal 8958 zcmeGhYj6|Cc~6pM*_MrsaUisz0%Qa<k}TQsLxZDW^RPQsaItv|9ZK{#$%<v2ayrE} zVM>zb^{3N@l(sM>KyXS6$i_SZL!0mvv`v#VkO1Y80HJ}HfB_qfLDu!#J;}C$8BkmD zOY7O)@BMxI-M6>rRdHE$4Wf|HBrwTImm#r0`o6xntkNvWC0M3F8yE>siSgl+rkI+% z7F#{dDXg^9<tbHl{&}}b;j)*i<{8X+W^XxN=c-uD(lv{ps<kbyx0TpcrYBOTm@Ib2 zN~@bJUbVyJ=4jTZpnbN|apkkeVRn-dI1MysQ8YEUJw9Vosfs8V0mfvlN<l=p`cl<= zbG3qF7<avkQ|L9t8ofF{|8a$bwKUL;3|p_zX$&eb$=V&p+0$l33<6fFs^d7XQLAli zY}7R7YZ%t4)s>W#X!G=1y<QCxYG1R5voxtazVYCX1mc?CujcV-NK6_V)1Y<D*XlHR zT5y!AAg-pta#)v_b1@!;#me}(QkCEDvKtMB4r_rezgVr$qit%P&Tdg#Ef&4HxX5lP z$+sCw9CV2)RS{jc#cMVX?GX}0TsAaduL{K!Aeha@X^hR^Kzq2#X-^0lvokhu>#bur z##hI9jdnwcwW!dh!vPfBBY-K|yNtoIv^a%>)&*-7XpmM&u(to9;cy;)OE`%u$BA?$ z(iK+*;u20&S0Y_;Wgsr$M0F+76;}r05>8ZCB3*H1ATHrVbtTdjR|et|PE=PSU2$a~ zF5&;Sy5N2%dMiYG;3}vQ?tBowH4<MYw@8_&0%i*SA~U&Bnm~9NWF&*>1te%)A!xe1 zmbG|%UJFZmY|Vrt$swFEFs7qg#3BpwARqF=%pw|K8)}Z&=p>S0o#zRJkew22JVtPQ z3nt*{{rDIX*Q2qxxQpN^WP~ANC6(ZCr-pS@!kt-a{~a4eR)2%YR3NRx0US4s(ukHo zS-WCoKSfVWFMu&BV;~gu0EO7R1vr8g!@7oQ;)|F)6o=>k7aqwBHjR)7k=02=1RKbs zjNmvEkQLFBLXYGaKQV*`WJhCETm*x#T8u_-C9!@JVA1<Z!io%oX~G@mVD3GXA|YW( zkKgTv35PC)TRM;3H_Q5r4X}ve*)~oG7zwnN@haSm#|b!TRkVW}jF)jtLj=d6pxMs4 zC?DfepW9`leRJJaKES9LKS_iK<l)eh2~s(2knLnA%lN%9Bq_tX;KG&m_!~e+KD`E8 zpG9bZr(66SGn4kvtc9cPKtQ$4UOFP2DhOi==2SK~6)-*Q^^5(iyLS5gT5uIfE>3<d z#q4v^F%+rA&DC0*F|-UD4SIAFSLv&$HCI{T?iU-BMaeP3DRm6Hc&gjwjAm+>u=t87 z88nmaw8P?ea{#71N3+}z;&Y?qSn)Kgvz&1=?4aak3HHlo_A@{QJ;iu%u2VS1JIl}c z=xAYJUaA`k=`O0=%5YFnchS?}5!ZcNob1LdYz$G6_t6M~;lh;>E-6XTK`a3sW4J2; z-3;}=0gXZwf1E#qGJiCqat5MA_}vU|XZ|vhPsMlji^|PN#9u)f1Vi>0K%3%EqL-0e zCX=Pe<S8lgthCg$tejzT`LLW(+1WYS*`u=Lq(vqH`SwVqr=_K5q-SPiWRA$l$QXf# zj1huL)`J+}_n<5pEJrS;#vxG_CC;Mw)39eL{s3iyD3d7CAYk0YusBJQG+CCCng&Nu zER#Yaag>>fC<!GNNkmD>QdyE%o)63{v1IIUUDDJaTe8PJ`=VYt;*GWKW#g4Ov-eu_ z3)q)FDNoK_R&(|2HJi`y$lF_fK4IFMwf5=z)^UX+56?MAU*G!j{v-Y`yJo0<-SWz| z<p(}J-~G<^;Aj87G1u|jtH1ffy9bYcb+c&ZJZIx;zg@rM(6I|WSx6*;XeA`3WNDIt zgfLb&Tmlh1J1#p(|Kb}Xa0Gj2e{wZnX+6unw5+@)$L1@zmMg^pBu_BxI}Aar8)=_D zr;wx1^@nip2vh?h@F#Fm@v^g!37x#OaNZyL=3gqATX<yoFF$>B*M@JFtUP7vSa7K1 zr0G|ieirO7b<I20*TSQBJMTE#I!3)7b{;*wyLZvG4aKXwn47z6`Zjj-y=}U@Waj$O zw|}sTN55NIuyN^|rl*&l=sdof2_JgLbdyKNclX%BkCh+&=-3(_r5yR^!F6TU@uyam zA1(cpcX88uQ?&fQNJWn&k8=);Q1b{4LsO9*F~|xBzXDaGI)FLoJ_5l3iL&n_p+H4Q zgYvLJ;Y(l~fQXu4HlxV^$WSshocuzDzg!SC8YK}?gsjx}`r&7&i4hq%R45%eTJT<E zDSbcu>T51?q~NfB5B;yuVXu*$NoKOg6xGomZ4^bCJfzRdGZ^zqjCsWhz1~<*U^Eni z3KFlO1b_IuW{s%du6&Jn0LFsQq?9-k8=SHO@l%fs#7~VG96!7T@EZiLc7kZYHZcZ6 zOw4df!a*ac=EK0jza!$+VQtVO-(13Pi?IC&A0N45{2V<D+rXoVfTD|dfCdQGxPMQs zvNY4ILWk|R{T>(S;#?=AD)<6yhC*PG0>J@J_#Ph%Jc--V%o4oW1@Q_IV%+Aox-pK! z!??@iz+WAB1q846)H8!|x6kW{!EJ7AUk05tY{SvS;=;>}kcOIsH?feRWkkSFGW0yD zmL=HA{~<%<_uPACNPpi9Nx%CHjYQ}zgkFblG|0;M1wSFVS+r22+kU+pJ{Re$x4uxL z&-pvML}L3@{z@qtelv86t!Te>2euTo{<mqu0OQjJ1?2Z-m3WEo3)~YA=TQTT5^) zrsl5b3We?jYv5CU)UHcc{;{Xy)|qTn^>L_oYr)v%z2R>0)4}e`97s;-?f5Aw@IYNc z(K@Pf;0ei4DoTN`)f9lFkv|Oc;Xo(|J;1j}4y@P|2%umnK<)cQ9{@ejsbI_PfM{bd z$OqA;+W{WtUKj<YFopuC?M@&Z5O3Vw(gFyW>kESZV5h0XB_0K*N^q(SDZy#5XtGiX zPL<TIvOWNMpi@EpZKbFXJLPjjN|6dfy-MO1*jO4(#KJHe?kK}b@x;~O8VF$}xK_rv zPP?~j&7_Fy9fkqd8gOmE4k_h>`BuFZ;~R30tFPL^!K1*9?>={q{6}-<?A6X-dwUPh zUtHa~;~Kv+(7HbyKD;Hc<r05wbL-9%7Z0|zeh8v}+q!wjuJ&y~tkw15=0KqB@7)*< zpWg=Xu`qz4u8-PVTU+;>5Al4@{;gZy+q<o8M=yWjFRg9C&hC%f0`1{5d)nK<ap;@2 zZD;u_r>+wVpI^AepWV`qVIE9<X4k5}hIq>JOvm{rm8wO3;q5wQ{s;V5kE_a7?R8F8 zHG^Ak{trzvwM86OI`h0bH+K?CR@AqnI9EA&IfTI9{9=hlrBcn^39IW^WXP{xSUB0# z$-i$_O`?x}xpY#lIuw|zE;<5|A51E2<qxktjje^&zkhkCc#PWqcs7%G&OelR3Wtj4 Mfp)LzyW7400VVIe(EtDd literal 0 HcmV?d00001 -- 2.34.1