removed name field from tc_presidency, updated tc.jpg
[eq/.git] / inc / class.tc.inc.php
index 07c0b0e06e97ea6d00a60d641be19ebe2df4867c..06a11e10bbca0918c68625279147f63f6ff01400 100644 (file)
@@ -15,6 +15,7 @@ class tc
 {
        var $db;
        var $db2;
+       var $db3;
        var $t;
        var $nextmatchs;
        var $grants;
@@ -108,6 +109,18 @@ class tc
                echo parse_navbar();
                $this->display_app_header();    
        }
+       
+       function logToFile($func, $msg)
+       {
+               // open file
+               $fd = fopen($this->upload_target_path . "/tc_trace.log", "a");
+               // append date/time to message
+               $str = "[" . date("Y/m/d h:i:s", mktime()) . "] [" . $func . "] " . $msg;
+               // write string
+               fwrite($fd, $str . "\n");
+               // close file
+               fclose($fd);
+       }
   
        function save_sessiondata()
        {
@@ -258,7 +271,7 @@ class tc
                                $table_data.= "<tr bgcolor=#d3dce3><td colspan=20><table><tr>$companion_table_entry</tr></table><hr></td></tr>";
 
                                // Get the names of the families assigned this home teaching companionship
-                               $sql = "SELECT * from tc_family where valid=1 AND companionship=".$unique_companionships[$j]['companionship'];
+                               $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.valid=1 AND tf.companionship=".$unique_companionships[$j]['companionship'];
                                $sql = $sql . " ORDER BY name ASC";
                                $this->db->query($sql,__LINE__,__FILE__);
                                $k=0;
@@ -474,8 +487,8 @@ class tc
                        $table_data.= "<tr bgcolor=#d3dce3><td colspan=20><table><tr>$companion_table_entry</tr></table><hr></td></tr>";
 
                        // Get the names of the families assigned this home teaching companionship
-                       $sql = "SELECT * from tc_family where valid=1 AND companionship=".$unique_companionships[$j]['companionship'];
-                       $sql = $sql . " ORDER BY name ASC";
+                       $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.valid=1 AND tf.companionship=".$unique_companionships[$j]['companionship'];
+                       $sql = $sql . " ORDER BY ti.name ASC";
                        $this->db->query($sql,__LINE__,__FILE__);
                        while ($this->db->next_record()) {
                                $family_name = $this->db->f('name');
@@ -1353,7 +1366,7 @@ class tc
                $year = date('Y');
 
                // Get the President
-               $sql = "SELECT * FROM tc_presidency where president=1 and valid=1";
+               $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti where tp.individual=ti.individual AND tp.president=1 AND tp.valid=1";
                $this->db->query($sql,__LINE__,__FILE__);
                if($this->db->next_record()) {
                        $president_name = $this->db->f('name');
@@ -1364,16 +1377,7 @@ class tc
                        $interviewer = $this->db->f('individual');
                        $district_number = '*';
                        $district_name = $president_name;
-                       $sql = "SELECT * FROM tc_individual where individual='$president_id'";
-                       $this->db2->query($sql,__LINE__,__FILE__);
-                       if($this->db2->next_record()) {
-                               $mls_id = $this->db2->f('mls_id');
-                       }
-                       $sql = "SELECT * FROM tc_individual where mls_id='$mls_id'";
-                       $this->db2->query($sql,__LINE__,__FILE__);
-                       if($this->db2->next_record()) {
-                               $president_address = $this->db2->f('address');
-                       }
+                       $president_address = $this->db->f('address');
                } else {
                        print "<hr><font color=red><h3>-E- Unable to locate President in tc_presidency table</h3></font></hr>";
                        return;
@@ -1417,17 +1421,9 @@ class tc
                                $this->db->query($sql,__LINE__,__FILE__);
                                if ($this->db->next_record()) {
                                        $scheduling_priority = $this->db->f('scheduling_priority');
-                                       $this->db2->query("UPDATE tc_scheduling_priority SET priority='$priority' AND notes=\"$notes\" WHERE scheduling_priority='$scheduling_priority'", __LINE__, __FILE__);
+                                       //$this->logToFile("ppi_sched", "UPDATE tc_scheduling_priority SET priority='$priority', notes=\"$notes\" WHERE scheduling_priority='$scheduling_priority'");
+                                       $this->db2->query("UPDATE tc_scheduling_priority SET priority='$priority', notes=\"$notes\" WHERE scheduling_priority='$scheduling_priority'", __LINE__, __FILE__);
                                }
-
-/*
-                               $this->db->query("UPDATE tc_individual set " .
-                                                " notes='" . $notes . "'" .
-                                                ",priority='" . $priority . "'" .
-                                                " WHERE individual=" . $individual,__LINE__,__FILE__);
-*/
-
-
                        }
 
                        $take_me_to_url = $GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ppi_sched');
@@ -1518,7 +1514,7 @@ class tc
 
                // PPI SCHEDULING TABLE
                // TODO:  changed this so it picks the quorum dynamically
-               $sql = "SELECT * FROM tc_individual as ti JOIN tc_scheduling_priority as tsp where ti.scheduling_priority=tsp.scheduling_priority and steward='Elder' and valid=1 ORDER by tsp.priority ASC, ti.name ASC";
+               $sql = "SELECT * FROM tc_individual AS ti JOIN tc_scheduling_priority AS tsp WHERE ti.scheduling_priority=tsp.scheduling_priority AND steward='Elder' AND valid=1 ORDER BY tsp.priority ASC, ti.name ASC";
                $this->db->query($sql,__LINE__,__FILE__);
 
                $i=0; 
@@ -1769,14 +1765,9 @@ class tc
                                $this->db->query("SELECT * FROM tc_companionship WHERE individual=$individual and valid=1",__LINE__,__FILE__);
                                if ($this->db->next_record()) {
                                        $scheduling_priority = $this->db->f('scheduling_priority');
-                                       $this->db2->query("UPDATE tc_scheduling_priority SET priority='$hti_pri' and notes=\"hti_notes\" where scheduling_priority=$scheduling_priority",__LINE__,__FILE__);
+                                       //$this->logToFile("int_sched", "UPDATE tc_scheduling_priority SET priority='$hti_pri', notes=\"$hti_notes\" WHERE scheduling_priority='$scheduling_priority'");
+                                       $this->db2->query("UPDATE tc_scheduling_priority SET priority='$hti_pri', notes=\"$hti_notes\" WHERE scheduling_priority='$scheduling_priority'",__LINE__,__FILE__);
                                }
-/*
-                               $this->db->query("UPDATE tc_individual set " .
-                                                " hti_notes='" . $hti_notes . "'" .
-                                                ",hti_pri='" . $hti_pri . "'" .
-                                                " WHERE individual=" . $individual,__LINE__,__FILE__);
-*/
                        }
 
                        $take_me_to_url = $GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.int_sched');
@@ -1784,7 +1775,7 @@ class tc
                }
 
                // Get the Districts
-               $sql = "SELECT * FROM tc_district where valid=1 ORDER BY district ASC";
+               $sql = "SELECT * FROM tc_district AS td JOIN tc_presidency AS tp WHERE td.district=tp.district AND td.valid=1 ORDER BY td.district ASC";
                $this->db->query($sql,__LINE__,__FILE__);
                $i=0;
                while ($this->db->next_record()) {
@@ -1792,11 +1783,7 @@ class tc
                        $districts[$i]['district'] = $this->db->f('district');
                        $districts[$i]['name'] = $this->db->f('name');
                        $districts[$i]['supervisor'] = $this->db->f('supervisor');
-                       $sql = "SELECT * FROM tc_presidency where district=$district and valid=1";
-                       $this->db2->query($sql,__LINE__,__FILE__);
-                       if($this->db2->next_record()) {
-                               $districts[$i]['presidency'] = $this->db2->f('presidency');
-                       }
+                       $districts[$i]['presidency'] = $this->db->f('presidency');
                        $i++;
                }
 
@@ -2069,7 +2056,7 @@ class tc
                $year = date('Y');
 
                // create the family id -> family name mapping
-               $sql = "SELECT * FROM tc_family where valid=1 and individual != 0 and companionship != 0 ORDER BY name ASC";
+               $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.valid=1 AND tf.individual != 0 AND tf.companionship != 0 ORDER BY ti.name ASC";
                $this->db->query($sql,__LINE__,__FILE__);
                $i=0;
                $family_id = NULL;
@@ -2077,11 +2064,7 @@ class tc
                        $family_id[$i] = $this->db->f('family');
                        $family_name[$i] = $this->db->f('name');
                        $familyid2name[$family_id[$i]] = $family_name[$i];
-                       $sql = "SELECT * FROM tc_individual where family='$family_id[$i]'";
-                       $this->db2->query($sql,__LINE__,__FILE__);
-                       if($this->db2->next_record()) {
-                               $familyid2address[$family_id[$i]] = $this->db2->f('address');
-                       }
+                       $familyid2address[$family_id[$i]] = $this->db->f('address');
                        $i++;
                }
                array_multisort($family_name, $family_id);
@@ -2129,14 +2112,9 @@ class tc
                                $this->db->query("SELECT * FROM tc_family WHERE family='$family'",__LINE__,__FILE__);
                                if ($this->db->next_record()) {
                                        $scheduling_priority = $this->db->f('scheduling_priority');
-                                       $this->db2->query("UPDATE tc_scheduling_priority SET priority='$visit_pri' AND notes=\"$visit_notes\" WHERE scheduling_priority='$scheduling_priority'",__LINE__,__FILE__);
+                                       //$this->logToFile("vis_sched", "UPDATE tc_scheduling_priority SET priority='$visit_pri', notes=\"$visit_notes\" WHERE scheduling_priority='$scheduling_priority'");
+                                       $this->db2->query("UPDATE tc_scheduling_priority SET priority='$visit_pri', notes=\"$visit_notes\" WHERE scheduling_priority='$scheduling_priority'", __LINE__, __FILE__);
                                }
-/*
-                               $this->db->query("UPDATE tc_family set " .
-                                                " visit_notes='" . $visit_notes . "'" .
-                                                ",visit_pri='" . $visit_pri . "'" .
-                                                " WHERE family=" . $family,__LINE__,__FILE__);
-*/
                        }
 
                        $take_me_to_url = $GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.vis_sched');
@@ -2153,7 +2131,7 @@ class tc
                $appt_table_data = ""; 
 
                // Find out what the President ID is
-               $sql = "SELECT * FROM tc_presidency where president=1 and valid=1";
+               $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.president=1 AND tp.valid=1";
                $this->db->query($sql,__LINE__,__FILE__);
                if($this->db->next_record()) {
                        $presidency_name = $this->db->f('name');
@@ -2218,43 +2196,18 @@ class tc
 
 
                // VISIT SCHEDULING TABLE
-               $sql = "SELECT * FROM tc_family AS tf JOIN tc_scheduling_priority AS tsp WHERE tf.scheduling_priority=tsp.scheduling_priority AND tf.valid=1 AND tf.individual != 0  AND tf.companionship != 0 ORDER BY tsp.priority ASC, tf.name ASC";
+               $sql = "SELECT * FROM tc_family AS tf JOIN (tc_scheduling_priority AS tsp, tc_individual as ti) WHERE tf.scheduling_priority=tsp.scheduling_priority AND tf.individual=ti.individual AND tf.valid=1 AND tf.individual != 0  AND tf.companionship != 0 ORDER BY tsp.priority ASC, ti.name ASC";
                $this->db->query($sql,__LINE__,__FILE__);
 
                $total_families=0; $families_with_yearly_visit=0;
 
-               $i=0; 
-               $family_id = NULL;
-               $family_name = NULL;
-               $family_phone = NULL;
-               $family_visit_pri = NULL;
-               $family_visit_notes = NULL;
-               while ($this->db->next_record()) {
-                       $family_id[$i] = $this->db->f('family');
-                       $family_name[$i] = $this->db->f('name');
-                       $family_phone[$family_id[$i]] = $family_id[$i] . " ERROR";
-                       $family_visit_pri[$family_id[$i]] = $this->db->f('visit_pri');
-                       $family_visit_notes[$family_id[$i]] = $this->db->f('visit_notes');
-                       $i++;
+               while ( $this->db->next_record()) {
                        $total_families++;
-               }
-
-               $sql = "SELECT * FROM tc_individual where valid=1";
-               $this->db->query($sql,__LINE__,__FILE__);
-               while ($this->db->next_record()) {
-                       $family = $this->db->f('family');
+                       $id = $this->db->f('family');
+                       $name = $this->db->f('name');
                        $phone = $this->db->f('phone');
-                       $family_phone[$family] = $phone;
-               }
-
-               $max = count($family_id);
-
-               for($i=0; $i < $max; $i++) {
-                       $id = $family_id[$i];
-                       $name = $family_name[$i];
-                       $phone = $family_phone[$id];
-                       $vis_pri = $family_visit_pri[$id];
-                       $vis_notes = $family_visit_notes[$id];
+                       $vis_pri = $this->db->f('priority');
+                       $vis_notes = $this->db->f('notes');
 
                        // If this family has had a yearly visit this year, don't show them on the schedule list
                        $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01";
@@ -2264,9 +2217,9 @@ class tc
 
                        if(!$this->db2->next_record()) {
                                $sql = "SELECT * FROM tc_visit WHERE family=" . $id . " AND companionship=0 ORDER BY date DESC";
-                               $this->db->query($sql,__LINE__,__FILE__);
-                               if($this->db->next_record()) { 
-                                       $date = $this->db->f('date'); 
+                               $this->db3->query($sql,__LINE__,__FILE__);
+                               if($this->db3->next_record()) { 
+                                       $date = $this->db3->f('date'); 
                                } else { 
                                        $date = ""; 
                                }
@@ -2391,7 +2344,7 @@ class tc
                        $this->t->set_var('lang_num_months','Years of History');
                }
 
-               $sql = "SELECT * FROM tc_presidency where president=1 and valid=1";
+               $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.president=1 AND tp.valid=1";
                $this->db->query($sql,__LINE__,__FILE__);
                if($this->db->next_record()) {
                        $president_name = $this->db->f('name');
@@ -2515,7 +2468,7 @@ class tc
                $notes = get_var('notes',array('GET','POST'));
                $interview_type = get_var('interview_type',array('GET','POST'));
 
-               $sql = "SELECT * FROM tc_presidency where valid=1 and (president=1 or counselor=1 or secretary=1)";
+               $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.valid=1 AND (tp.president=1 OR tp.counselor=1 OR tp.secretary=1)";
                $this->db2->query($sql,__LINE__,__FILE__);
                while ($this->db2->next_record()) {
                        $indiv = $this->db2->f('individual');
@@ -2838,7 +2791,7 @@ class tc
                $notes = get_var('notes',array('GET','POST'));
                $interview_type = get_var('interview_type',array('GET','POST'));
 
-               $sql = "SELECT * FROM tc_presidency where valid=1 and (president=1 or counselor=1 or secretary=1 or district!=0)";
+               $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.valid=1 AND (tp.president=1 OR tp.counselor=1 OR tp.secretary=1 OR tp.district!=0)";
                $this->db2->query($sql,__LINE__,__FILE__);
                while ($this->db2->next_record()) {
                        $indiv = $this->db2->f('individual');
@@ -2980,7 +2933,7 @@ class tc
                for ($i=0; $i < count($visit_list); $i++) {
                        $this->nextmatchs->template_alternate_row_color(&$this->t);
 
-                       $sql = "SELECT * FROM tc_family WHERE family=".$visit_list[$i]['family'];
+                       $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.family=".$visit_list[$i]['family'];
                        $this->db->query($sql,__LINE__,__FILE__);
                        $this->db->next_record();
 
@@ -3008,7 +2961,7 @@ class tc
                }
 
                // List the families that are available to record a visit against
-               $sql = "SELECT * FROM tc_family WHERE companionship != 0 and valid=1";
+               $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.companionship != 0 and tf.valid=1";
                $this->db->query($sql,__LINE__,__FILE__);
                $total_records = $this->db->num_rows();
 
@@ -3503,7 +3456,6 @@ class tc
                $this->db->query($sql,__LINE__,__FILE__);
                $i=0;
                while ($this->db->next_record()) {
-                       $calling[$i]['id'] = $this->db->f('individual');
                        $calling[$i]['name'] = $this->db->f('name');
                        $calling[$i]['position'] = $this->db->f('position');
                        $calling[$i]['sustained'] = $this->db->f('sustained');
@@ -3525,11 +3477,10 @@ class tc
                }
 
                # Display a list ordered by organization
-               $sql = "SELECT * FROM tc_calling ORDER BY sequence ASC";
+               $sql = "SELECT * FROM tc_calling ORDER BY organization ASC";
                $this->db->query($sql,__LINE__,__FILE__);
                $i=0;
                while ($this->db->next_record()) {
-                       $calling[$i]['id'] = $this->db->f('individual');
                        $calling[$i]['name'] = $this->db->f('name');
                        $calling[$i]['position'] = $this->db->f('position');
                        $calling[$i]['sustained'] = $this->db->f('sustained');
@@ -3585,7 +3536,7 @@ class tc
                $header_row.= "<th width=$location_width><font size=-2>Location</th>";
                $table_data = "";
 
-               $sql = "SELECT * FROM tc_presidency where valid=1 GROUP BY individual ORDER BY name ASC";
+               $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.valid=1 GROUP BY tp.individual ORDER BY ti.name ASC";
                $this->db->query($sql,__LINE__,__FILE__);
                $i=0;
                while ($this->db->next_record()) {
@@ -3597,18 +3548,14 @@ class tc
                        $i++;
                }
 
-               $sql = "SELECT * FROM tc_family where valid=1 and individual != 0 ORDER BY name ASC";
+               $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.valid=1 AND tf.individual != 0 ORDER BY ti.name ASC";
                $this->db->query($sql,__LINE__,__FILE__);
                $i=0;
                while ($this->db->next_record()) {
                        $family_id[$i] = $this->db->f('family');
                        $family_name[$i] = $this->db->f('name');
                        $familyid2name[$family_id[$i]] = $family_name[$i];
-                       $sql = "SELECT * FROM tc_individual where family='$family_id[$i]' and hh_position='Head of Household'";
-                       $this->db2->query($sql,__LINE__,__FILE__);
-                       if($this->db2->next_record()) {
-                               $familyid2address[$family_id[$i]] = $this->db2->f('address');
-                       }
+                       $familyid2address[$family_id[$i]] = $this->db->f('address');
                        $i++;
                }
                array_multisort($family_name, $family_id);
@@ -4096,7 +4043,6 @@ class tc
                                                $this->db2->query("UPDATE tc_presidency set" .
                                                                  " individual=" . $indiv . 
                                                                  " ,district=" . $district . 
-                                                                 " ,name='" . $name . "'" .
                                                                  " ,email='" . $email . "'" .
                                                                  " ,president='" . $president . "'" .
                                                                  " ,counselor='" . $counselor . "'" .
@@ -4104,10 +4050,10 @@ class tc
                                                                  " WHERE presidency=" . $id,__LINE__,__FILE__);
                                        } else {
                                                //print "Adding New Entry<br>";
-                                               $this->db2->query("INSERT INTO tc_presidency (presidency,individual,district,name," .
+                                               $this->db2->query("INSERT INTO tc_presidency (presidency,individual,district," .
                                                                  "email,president,counselor,secretary,valid) " .
                                                                  "VALUES (NULL,'" . $indiv . "','" . $district . "','" .
-                                                                 $name . "','" . $email . "','" . $president  . "','" .
+                                                                 $email . "','" . $president  . "','" .
                                                                  $counselor . "','" . $secretary . "','1'" .
                                                                  ")",__LINE__,__FILE__);
                                        }
@@ -4133,7 +4079,7 @@ class tc
                                          ")",__LINE__,__FILE__);
 
                        // Requery the tc_presidency table
-                       $sql = "SELECT * FROM tc_presidency where valid=1";
+                       $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.valid=1";
                        $this->db->query($sql,__LINE__,__FILE__);
                        while ($this->db->next_record()) {
                                // Extract the data for each presidency record
@@ -4141,7 +4087,6 @@ class tc
                                $indiv = $this->db->f('individual');
                                $name = $this->db->f('name');
                                $district = $this->db->f('district');
-                               $name = $this->db->f('name');
                                $valid = 1;
 
                                // If we have a valid district, add it to the district table
@@ -4164,7 +4109,7 @@ class tc
 
                // Now save off the data needed for a Presidency Table Update
 
-               $sql = "SELECT * FROM tc_presidency where valid=1";
+               $sql = "SELECT tp.*, ti.name FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.valid=1";
                $this->db->query($sql,__LINE__,__FILE__);
                $table_data = "";
                $header_row = "<th>Individual</th><th>Email</th><th>District</th><th>President</th><th>Counselor</th><th>Secretary</th>";
@@ -4334,7 +4279,7 @@ class tc
                        $dtstart = gmdate("Ymd"."\T"."His"."\Z", mktime($hour,$minute,$seconds,$month,$day,$year));
                        $dtstartstr = date("l, F d, o g:i A", mktime($hour,$minute,$seconds,$month,$day,$year));
 
-                       $sql = "SELECT * FROM tc_presidency where presidency='$presidency'";
+                       $sql = "SELECT * FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND tp.presidency='$presidency'";
                        $this->db2->query($sql,__LINE__,__FILE__);
                        if($this->db2->next_record()) {
                                $email = $this->db2->f('email');
@@ -4356,18 +4301,18 @@ class tc
                        }
 
                        if($family > 0) {
-                               $sql = "SELECT * FROM tc_family where family='$family'";
+                               $sql = "SELECT * FROM tc_family WHERE family='$family'";
                                $this->db2->query($sql,__LINE__,__FILE__);
                                if($this->db2->next_record()) {
-                                       $family_name = $this->db2->f('name');
-                                       $phone = $this->db2->f('phone');
                                        $individual = $this->db2->f('individual');
-                                       $appt_name = $family_name . " Family Visit";
                                        $sql = "SELECT * FROM tc_individual where individual='$individual'";
                                        $this->db3->query($sql,__LINE__,__FILE__);
                                        if($this->db3->next_record()) {
                                                $phone = $this->db3->f('phone');
+                                               $family_name = $this->db3->f('name');
+                                               $phone = $this->db3->f('phone');
                                        }
+                                       $appt_name = $family_name . " Family Visit";
                                        $duration = $this->default_visit_appt_duration * 60;
                                }
                        }