Added new "Yearly PPI" checkbox to PPI or interview entry/edit form.
[eq/.git] / inc / class.eq.inc.php
index 3dac97e0e4e3ce2ecc1c5e4665740e756a2bd9d1..ed9b2c4b9e8d5e9d458c237c6cc925505dc00b66 100644 (file)
@@ -80,6 +80,7 @@ class eq
       $this->default_vis_num_years = 1;
       $this->max_num_districts = 4;
       $this->time_drop_down_lists = 1;
+      $this->monthly_hometeaching_interviews = 0;
       $this->time_drop_down_list_inc = 15;
       $this->default_visit_appt_duration = 45;
       $this->default_ppi_appt_duration = 30;
@@ -1908,19 +1909,19 @@ class eq
              }
              
              // If this companionship has had a hometeaching interview this quarter, don't show them on the schedule list
-             $sql = "SELECT * FROM eq_interview WHERE date >= '$quarter_start' AND date < '$quarter_end' ".
+             $sql = "SELECT * FROM eq_ppi WHERE date >= '$quarter_start' AND date < '$quarter_end' ".
                 "AND elder=" . $id;
              $this->db2->query($sql,__LINE__,__FILE__);
              
              if(!$this->db2->next_record()) {
-               $sql = "SELECT * FROM eq_interview WHERE elder=" . $id . " ORDER BY date DESC";
+               $sql = "SELECT * FROM eq_ppi WHERE elder=" . $id . " ORDER BY date DESC";
                $this->db3->query($sql,__LINE__,__FILE__);
                if($this->db3->next_record()) { $date = $this->db3->f('date'); } else { $date = ""; }
                $link_data['menuaction'] = 'eq.eq.int_update';
                $link_data['elder'] = $id;
                $link_data['aaronic'] = 0;
                $link_data['name'] = $name;
-               $link_data['interview'] = '';
+               $link_data['ppi'] = '';
                $link_data['action'] = 'add';
                $link_data['interviewer'] = $districts[$d]['supervisor'];
                $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
@@ -1952,7 +1953,7 @@ class eq
                $link_data['elder'] = $this->db2->f('elder');
                $link_data['aaronic'] = $this->db2->f('aaronic');
                $link_data['name'] = $name;
-               $link_data['interview'] = $this->db2->f('int');
+               $link_data['ppi'] = $this->db2->f('ppi');
                $link_data['action'] = 'view';
                $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);    
                $comps_with_quarterly_int++;
@@ -2385,7 +2386,7 @@ class eq
          $year = date('Y') - $m;
          $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01";
          $sql = "SELECT * FROM eq_ppi WHERE date > '$year_start' AND date < '$year_end' ".
-            "AND elder=" . $id;
+            "AND elder=" . $id . " AND eqpresppi=1";
          $this->db2->query($sql,__LINE__,__FILE__);
                  
          if(!$total_ppis[$m]) { $total_ppis[$m] = 0; }
@@ -2455,6 +2456,7 @@ class eq
       $interviewer_name = $this->db2->f('name');
       $this->t->set_var('interviewer',$interviewer . ' selected');
       $this->t->set_var('interviewer_name',$interviewer_name);
+      $this->t->set_var('eqpresppi_checked','');
       $this->t->fp('int_list','interviewer_list',True);
     
       if($action == 'save')
@@ -2464,6 +2466,7 @@ class eq
                           "   ppi='" . $ppi . "'" .
                    ", interviewer='" . $interviewer . "'" .
                          ", elder='" . $elder . "'" .
+                       ", aaronic='" . $aaronic . "'" .
                           ", date='" . $date . "'" .
                          ", notes='" . $notes . "'" .
                      ", eqpresppi='" . $eqpresppi . "'" .
@@ -2475,8 +2478,8 @@ class eq
       if($action == 'insert')
        {
          $notes = get_var('notes',array('POST'));
-         $this->db->query("INSERT INTO eq_ppi (interviewer,elder,date,notes,eqpresppi) "
-                          . "VALUES ('" . $interviewer . "','" . $elder . "','"
+         $this->db->query("INSERT INTO eq_ppi (interviewer,elder,aaronic,date,notes,eqpresppi) "
+                          . "VALUES ('" . $interviewer . "','" . $elder . "','" . $aaronic . "','"
                           . $date . "','" . $notes . "','" . $eqpresppi  ."')",__LINE__,__FILE__);
          $this->ppi_view();
          return false;
@@ -2492,6 +2495,7 @@ class eq
          $this->t->set_var('date','');
          $this->t->set_var('notes','');
          $this->t->set_var('eqpresppi',$eqpresppi);
+         $this->t->set_var('eqpresppi_checked','checked');
          $this->t->set_var('lang_done','Cancel');
          $this->t->set_var('lang_action','Adding New PPI');
          $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_update&ppi='
@@ -2510,6 +2514,7 @@ class eq
          $this->t->set_var('date',$this->db->f('date'));
          $this->t->set_var('notes',$this->db->f('notes'));
          $this->t->set_var('eqpresppi',$this->db->f('eqpresppi'));
+         if($this->db->f('eqpresppi') == 1) { $this->t->set_var('eqpresppi_checked','checked'); }
        }
       
       if($action == 'edit')
@@ -2663,7 +2668,7 @@ class eq
              $link_data['elder'] = $elder_id;
              $link_data['aaronic'] = $aaronic_id;
              $link_data['name'] = $name;
-             $link_data['interview'] = '';
+             $link_data['ppi'] = '';
              $link_data['action'] = 'add';
              $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
              $table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td title=\"$phone\"><a href=$link>$name</a></td>";
@@ -2678,7 +2683,7 @@ class eq
                $month_start = "$year"."-"."$month"."-"."01";
                $month_end = "$year"."-"."$month"."-"."31";
                $month = "$month"."/"."$year";
-               $sql = "SELECT * FROM eq_interview WHERE date >= '$month_start' AND date <= '$month_end' ".
+               $sql = "SELECT * FROM eq_ppi WHERE date >= '$month_start' AND date <= '$month_end' ".
                   "AND elder=" . $elder_id . " AND aaronic=" . $aaronic_id;
                $this->db2->query($sql,__LINE__,__FILE__);
                $header_row .= "<th width=$int_width><font size=-2>$month</th>";
@@ -2694,7 +2699,7 @@ class eq
                  $link_data['elder'] = $elder_id;
                  $link_data['aaronic'] = $aaronic_id;
                  $link_data['name'] = $name;
-                 $link_data['interview'] = $this->db2->f('interview');
+                 $link_data['ppi'] = $this->db2->f('ppi');
                  $link_data['action'] = 'view';
                  $date = $this->db2->f('date');
                  $date_array = explode("-",$date);
@@ -2713,15 +2718,25 @@ class eq
        $total_companionships += $num_companionships;
        $stat_data = "<tr><td><b><font size=-2>$num_companionships Companionships<br>Interview Quarterly Totals:</font></b></td>";
 
-       for($m=$num_months; $m >=0; $m--) {
-         $month = $current_month - $m;
-         if(($month % 3) == 1) { $quarter_total = $ints[$m]; }
-         else { $quarter_total += $ints[$m]; }
-         $percent = ceil(($quarter_total / $num_companionships)*100);
-         $stat_data .= "<td align=center><font size=-2><b>$quarter_total<br>$percent%</font></b></td>";
+       // Print the hometeaching interview stats
+       if($this->monthly_hometeaching_interviews == 0) { //Quarterly
+         for($m=$num_months; $m >=0; $m--) {
+           $month = $current_month - $m;
+           if(($month % 3) == 1) { $quarter_total = $ints[$m]; }
+           else { $quarter_total += $ints[$m]; }
+           $percent = ceil(($quarter_total / $num_companionships)*100);
+           $stat_data .= "<td align=center><font size=-2><b>$quarter_total<br>$percent%</font></b></td>";
+         }
+         $stat_data .= "</tr>";
        }
-       $stat_data .= "</tr>";
-
+       else { // Monthly
+         for($m=$num_months; $m >=0; $m--) {
+           $percent = ceil(($ints[$m] / $num_companionships)*100);
+           $stat_data .= "<td align=center><font size=-2><b>$ints[$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);
@@ -2729,17 +2744,27 @@ class eq
        $this->t->fp('list','district_list',True);
       }
 
-      // Display the totals, cummulative per quarter
-      $quarter_total = 0;
-      $totals = "<tr><td><b><font size=-2>$total_companionships Total Comps<br>Interview Quarterly Totals:</font></b></td>";
-      for($m=$num_months; $m >=0; $m--) {
-       $month = $current_month - $m;
-       if(($month % 3) == 1) { $quarter_total = $total_ints[$m]; }
-       else { $quarter_total += $total_ints[$m]; }
-       $percent = ceil(($quarter_total / $total_companionships)*100);
-       $totals .= "<td align=center><font size=-2><b>$quarter_total<br>$percent%</font></b></td>";
+      // Display the totals
+      if($this->monthly_hometeaching_interviews == 0) { //Quarterly
+       $quarter_total = 0;
+       $totals = "<tr><td><b><font size=-2>$total_companionships Total Comps<br>Interview Quarterly Totals:</font></b></td>";
+       for($m=$num_months; $m >=0; $m--) {
+         $month = $current_month - $m;
+         if(($month % 3) == 1) { $quarter_total = $total_ints[$m]; }
+         else { $quarter_total += $total_ints[$m]; }
+         $percent = ceil(($quarter_total / $total_companionships)*100);
+         $totals .= "<td align=center><font size=-2><b>$quarter_total<br>$percent%</font></b></td>";
+       }
+       $totals .= "</tr>";
+      }
+      else { //Monthly
+       $totals = "<tr><td><b><font size=-2>$total_companionships Total Comps<br>Interview Monthly Totals:</font></b></td>";
+       for($m=$num_months; $m >=0; $m--) {
+         $percent = ceil(($total_ints[$m] / $total_companionships)*100);
+         $totals .= "<td align=center><font size=-2><b>$total_ints[$m]<br>$percent%</font></b></td>";
+       }
+       $totals .= "</tr>";
       }
-      $totals .= "</tr>";
       
       $this->t->set_var('totals',$totals);
       $this->t->pfp('out','int_view_t');
@@ -2756,16 +2781,18 @@ class eq
       $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_view'));
       $this->t->set_var('readonly','');
       $this->t->set_var('disabled','');
+      $this->t->set_var('eqpresppi_checked','');
       
       $action = get_var('action',array('GET','POST'));
       $companionship = get_var('companionship',array('GET','POST'));
       $interviewer = get_var('interviewer',array('GET','POST'));      
       $name = get_var('name',array('GET','POST'));
-      $interview = get_var('interview',array('GET','POST'));
+      $ppi = get_var('ppi',array('GET','POST'));
       $elder = get_var('elder',array('GET','POST'));
       $aaronic = get_var('aaronic',array('GET','POST'));
       $date = get_var('date',array('GET','POST'));
       $notes = get_var('notes',array('GET','POST'));
+      $eqpresppi = get_var('eqpresppi',array('GET','POST'));
       
       $sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC";
       $this->db->query($sql,__LINE__,__FILE__);
@@ -2789,14 +2816,15 @@ class eq
       if($action == 'save')
        {
          $notes = get_var('notes',array('POST'));
-         $this->db->query("UPDATE eq_interview set " .
-                    "   interview='" . $interview . "'" .
+         $this->db->query("UPDATE eq_ppi set " .
+                          "   ppi='" . $ppi . "'" .
                    ", interviewer='" . $interviewer . "'" .
                          ", elder='" . $elder . "'" .
                        ", aaronic='" . $aaronic . "'" .
                           ", date='" . $date . "'" .
                          ", notes='" . $notes . "'" .
-                          " WHERE interview=" . $interview,__LINE__,__FILE__);
+                     ", eqpresppi='" . $eqpresppi . "'" .
+                          " WHERE ppi=" . $ppi,__LINE__,__FILE__);
          $this->int_view();
          return false;
        }
@@ -2804,9 +2832,9 @@ class eq
       if($action == 'insert')
        {
          $notes = get_var('notes',array('POST'));
-         $this->db->query("INSERT INTO eq_interview (interviewer,elder,aaronic,date,notes) "
+         $this->db->query("INSERT INTO eq_ppi (interviewer,elder,aaronic,date,notes,eqpresppi) "
                           . "VALUES ('" . $interviewer . "','" . $elder . "','" . $aaronic . "','"
-                          . $date . "','" . $notes ."')",__LINE__,__FILE__);
+                          . $date . "','" . $notes ."','" . $eqpresppi . "')",__LINE__,__FILE__);
          $this->int_view();
          return false;
        }
@@ -2814,7 +2842,7 @@ class eq
       if($action == 'add')
        {
          $this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options));
-         $this->t->set_var('interview', '');
+         $this->t->set_var('ppi', '');
          $this->t->set_var('interviewer', $interviewer);
          $this->t->set_var('name',$name);
          $this->t->set_var('elder',$elder);
@@ -2823,22 +2851,23 @@ class eq
          $this->t->set_var('notes','');
          $this->t->set_var('lang_done','Cancel');
          $this->t->set_var('lang_action','Adding New Interview');
-         $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&interview='
-                                                               . $interview . '&action=' . 'insert'));
+         $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&ppi='
+                                                               . $ppi . '&action=' . 'insert'));
        }
 
       if($action == 'edit' || $action == 'view')
        {
-         $sql = "SELECT * FROM eq_interview WHERE interview=".$interview;
+         $sql = "SELECT * FROM eq_ppi WHERE ppi=".$ppi;
          $this->db->query($sql,__LINE__,__FILE__);
          $this->db->next_record();
-         $this->t->set_var('interview',$interview);
+         $this->t->set_var('ppi',$ppi);
          $this->t->set_var('name',$name);
          $this->t->set_var('interviewer', $this->db->f('interviewer'));
          $this->t->set_var('elder',$this->db->f('elder'));
          $this->t->set_var('aaronic',$this->db->f('aaronic'));
          $this->t->set_var('date',$this->db->f('date'));
          $this->t->set_var('notes',$this->db->f('notes'));
+         if($this->db->f('eqpresppi') == 1) { $this->t->set_var('eqpresppi_checked','checked'); }
        }
       
       if($action == 'edit')
@@ -2846,8 +2875,8 @@ class eq
          $this->t->set_var('cal_date',$this->jscal->input('date',$date,'','','','','',$this->cal_options));
          $this->t->set_var('lang_done','Cancel');
          $this->t->set_var('lang_action','Editing Interview');
-         $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&interview='
-                                                               . $interview . '&action=' . 'save'));
+         $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&ppi='
+                                                               . $ppi . '&action=' . 'save'));
        }
 
       if($action == 'view')
@@ -2858,8 +2887,8 @@ class eq
          $this->t->set_var('disabled','DISABLED');
          $this->t->set_var('lang_done','Done');
          $this->t->set_var('lang_action','Viewing Interview');
-         $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&interview='
-                                                               . $interview . '&action=' . 'edit'));
+         $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_update&ppi='
+                                                               . $ppi . '&action=' . 'edit'));
        }
       
       $this->t->set_var('lang_reset','Clear Form');