X-Git-Url: http://git.pippins.net/embedvideo/.git/static/gitweb.js?a=blobdiff_plain;f=inc%2Fclass.tc.inc.php;h=9684e8e114691f1970584e306b2a62e9cd3db97d;hb=67b802629eb336cdec0eb8212a9ca2474377fe8f;hp=53a5ca978bd166ad0dc96574a1512b13e1ad3296;hpb=66e81b0594549626041e4701102b4b6d0eea64d9;p=eq%2F.git diff --git a/inc/class.tc.inc.php b/inc/class.tc.inc.php index 53a5ca9..9684e8e 100644 --- a/inc/class.tc.inc.php +++ b/inc/class.tc.inc.php @@ -410,24 +410,172 @@ class tc $this->t->set_block('ht_sandbox_t','district_table_list','dt_list'); $this->t->set_block('ht_sandbox_t','companionship_table_list','ct_list'); - $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox')); + $this->t->set_var('submit_action',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox&action=add')); + + $action = get_var('action',array('GET','POST')); - $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox')); $this->t->set_var('title','Hometeaching Sandbox'); + if ($_POST['add']) { + #$this->t->set_var('debug_list',$_POST['add']); + $companionship = get_var('companionship',array('POST')); + $district = get_var('district',array('POST')); + $assignedHT_list = get_var('assignedHT',array('POST')); + $unassignedHT_list = get_var('unassignedHT',array('POST')); + $assigned_family_list = get_var('assignedFamiles',array('POST')); + $unassigned_family_list = get_var('unassignedFamilies',array('POST')); + + if ($assignedHT_list || $unassignedHT_list) { + $sql = "INSERT INTO tc_companionship_sandbox (district) VALUES (\"$district\")"; + $this->db2->query($sql,__LINE__,__FILE__); + $companionship_sandbox = mysql_insert_id(); + + foreach ($assignedHT_list as $individual) { + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($unassignedHT_list as $individual) { + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($assigned_family_list as $family) { + $sql = "UPDATE tc_family_sandbox SET companionship=$companionship_sandbox WHERE family=$family"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($unassigned_family_list as $family) { + $sql = "UPDATE tc_family_sandbox SET companionship=$companionship_sandbox WHERE family=$family"; + $this->db->query($sql,__LINE__,__FILE__); + } + } else { + $this->t->set_var('debug_list','You must select at least one companion!'); + } + } else if ($_POST['delete']) { + #$this->t->set_var('debug_list',$_POST['delete']); + $companionship = get_var('companionship',array('POST')); + #$this->t->set_var('debug_list',$companionship); + + if ($companionship > 0) { + # unassign families + $sql = "UPDATE tc_family_sandbox SET companionship=NULL WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + + # remove companions + $sql = "DELETE FROM tc_companion_sandbox WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + + # remove companionship + $sql = "DELETE FROM tc_companionship_sandbox WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + } else { + $this->t->set_var('debug_list','You must select a companionship to delete!'); + } + } else if ($_POST['update']) { + #$this->t->set_var('debug_list',$_POST['update']); + $companionship = get_var('companionship',array('POST')); + $district = get_var('district',array('POST')); + $assignedHT_list = get_var('assignedHT',array('POST')); + $unassignedHT_list = get_var('unassignedHT',array('POST')); + $assigned_family_list = get_var('assignedFamiles',array('POST')); + $unassigned_family_list = get_var('unassignedFamilies',array('POST')); + #$this->t->set_var('debug_list',$district); + + if ($companionship > 0) { + if ($assignedHT_list || $unassignedHT_list) { + # clear out existing info about companionship + $sql = "UPDATE tc_family_sandbox SET companionship=NULL WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + $sql = "DELETE FROM tc_companion_sandbox WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + + # set new info about companionship + $sql = "UPDATE tc_companionship_sandbox SET district=$district WHERE companionship=$companionship"; + $this->db->query($sql,__LINE__,__FILE__); + foreach ($assignedHT_list as $individual) { + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship\")"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($unassignedHT_list as $individual) { + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship\")"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($assigned_family_list as $family) { + $sql = "UPDATE tc_family_sandbox SET companionship=$companionship WHERE family=$family"; + $this->db->query($sql,__LINE__,__FILE__); + } + foreach ($unassigned_family_list as $family) { + $sql = "UPDATE tc_family_sandbox SET companionship=$companionship WHERE family=$family"; + $this->db->query($sql,__LINE__,__FILE__); + } + } else { + $this->t->set_var('debug_list','You must select at least one companion!'); + } + } else { + $this->t->set_var('debug_list','You must select a companionship to update!'); + } + } else if ($_POST['reset']) { + #$this->t->set_var('debug_list',$_POST['reset']); + + $sql = "TRUNCATE TABLE tc_district_sandbox"; + $this->db->query($sql,__LINE__,__FILE__); + $sql = "TRUNCATE TABLE tc_family_sandbox"; + $this->db->query($sql,__LINE__,__FILE__); + $sql = "TRUNCATE TABLE tc_companion_sandbox"; + $this->db->query($sql,__LINE__,__FILE__); + $sql = "TRUNCATE TABLE tc_companionship_sandbox"; + $this->db->query($sql,__LINE__,__FILE__); + + # populate tc_district_sandbox + $sql = "SELECT * FROM tc_district WHERE valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $district = $this->db->f('district'); + $supervisor = $this->db->f('supervisor'); + $sql = "INSERT INTO tc_district_sandbox (district,supervisor) VALUES (\"$district\",\"$supervisor\")"; + $this->db2->query($sql,__LINE__,__FILE__); + } + + # populate family, companion, and companionship tables + $sql = "SELECT * FROM tc_companionship WHERE valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $companionship = $this->db->f('companionship'); + $district = $this->db->f('district'); + $sql = "INSERT INTO tc_companionship_sandbox (district) VALUES (\"$district\")"; + $this->db2->query($sql,__LINE__,__FILE__); + $companionship_sandbox = mysql_insert_id(); + + $sql = "SELECT * FROM tc_companion WHERE companionship=$companionship AND valid=1"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + $individual = $this->db2->f('individual'); + $sql = "INSERT INTO tc_companion_sandbox (individual,companionship) VALUES (\"$individual\",\"$companionship_sandbox\")"; + $this->db3->query($sql,__LINE__,__FILE__); + } + + $sql = "SELECT * FROM tc_family WHERE companionship=$companionship AND valid=1"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + $individual = $this->db2->f('individual'); + $family = $this->db2->f('family'); + $sql = "INSERT INTO tc_family_sandbox (tc_family,individual,companionship) VALUES (\"$family\",\"$individual\",\"$companionship_sandbox\")"; + $this->db3->query($sql,__LINE__,__FILE__); + } + } + } + // get list of companionships - $sql = "SELECT DISTINCT companionship FROM tc_companionship where valid=1"; + $sql = "SELECT DISTINCT companionship FROM tc_companionship_sandbox ORDER BY companionship ASC"; $this->db->query($sql,__LINE__,__FILE__); $unique_companionships = ''; $unique_companionships[0]['companionship'] = 0; - $this->t->set_var('companionship_list',''); - $this->t->fp('list','comp_list',True); + $this->t->set_var('companionship_list',''); + $this->t->fp('c_list','comp_list',True); $j=1; while ($this->db->next_record()) { $companionship = $this->db->f('companionship'); $unique_companionships[$j]['companionship'] = $companionship; $combined_companionship = ""; - $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND companionship=$companionship AND tc.valid=1"; + $sql = "SELECT * FROM tc_companion_sandbox AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND tc.companionship=$companionship ORDER BY ti.name ASC"; $this->db2->query($sql,__LINE__,__FILE__); while ($this->db2->next_record()) { if ($combined_companionship == "") { @@ -436,19 +584,19 @@ class tc $combined_companionship .= " / " . $this->db2->f('name'); } } - $this->t->set_var('companionship_list',''); + $this->t->set_var('companionship_list',''); $this->t->fp('c_list','comp_list',True); $j++; } # get list of districts - $sql = "SELECT DISTINCT district FROM tc_district WHERE valid=1 ORDER BY district ASC"; + $sql = "SELECT DISTINCT district FROM tc_district_sandbox ORDER BY district ASC"; $this->db->query($sql,__LINE__,__FILE__); $districts = ''; $num_districts=0; while ($this->db->next_record()) { $districts[$num_districts] = $this->db->f('district'); - $this->t->set_var('district',''); + $this->t->set_var('district',''); $this->t->fp('d_list','district_list',True); $num_districts++; } @@ -456,67 +604,116 @@ class tc # get list of individuals who are and are not home teachers $sql = "SELECT * FROM tc_individual WHERE steward='$this->default_stewardship' AND valid=1 ORDER BY name ASC"; $this->db->query($sql,__LINE__,__FILE__); - $unassigned_ht = ''; - $assigned_ht = ''; - $num_ht_assigned=0; $num_ht_unassigned=0; while ($this->db->next_record()) { $individual = $this->db->f('individual'); $name = $this->db->f('name'); - $sql = "SELECT DISTINCT * FROM tc_companion WHERE individual=$individual AND valid=1"; + $sql = "SELECT DISTINCT * FROM tc_companion_sandbox WHERE individual=$individual"; $this->db2->query($sql,__LINE__,__FILE__); if ($this->db2->next_record()) { - $assigned_ht[$num_ht_assigned]['individual'] = $individual; - $assigned_ht[$num_ht_assigned]['name'] = $name; - $this->t->set_var('assigned_ht',''); + $this->t->set_var('assigned_ht',''); $this->t->fp('aht_list','assigned_ht_list',True); - $num_ht_assigned++; } else { - $unassigned_ht[$num_ht_unassigned]['individual'] = $individual; - $unassigned_ht[$num_ht_unassigned]['name'] = $name; - $this->t->set_var('unassigned_ht',''); + $this->t->set_var('unassigned_ht',''); $this->t->fp('uht_list','unassigned_ht_list',True); - $num_ht_unassigned++; } } # get list of families who are and are not assigned home teachers - $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.valid=1 ORDER BY ti.name ASC"; + $sql = "SELECT * FROM tc_family_sandbox AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual ORDER BY ti.name ASC"; $this->db->query($sql,__LINE__,__FILE__); - $unassigned_families = ''; - $assigned_families = ''; - $num_families_assigned=0; $num_families_unassigned=0; while ($this->db->next_record()) { $individual = $this->db->f('individual'); $family = $this->db->f('family'); $name = $this->db->f('name'); if ($this->db->f('companionship') != 0) { - $assigned_families[$num_families_assigned]['family'] = $family; - $assigned_families[$num_families_assigned]['name'] = $name; - $this->t->set_var('assigned_family',''); + $this->t->set_var('assigned_family',''); $this->t->fp('af_list','assigned_family_list',True); - $num_families_assigned++; } else { - $unassigned_families[$num_families_unassigned]['family'] = $family; - $unassigned_families[$num_families_unassigned]['name'] = $name; - $this->t->set_var('unassigned_family',''); + $this->t->set_var('unassigned_family',''); $this->t->fp('uf_list','unassigned_family_list',True); - $num_families_unassigned++; } } # populate ht districts table + $sandbox_table_data = ""; + + # set up column headers + $sandbox_table_data .= ""; for ($d = 0; $d < $num_districts; $d++) { - $this->t->set_var('district_number',$districts[$d]); - - $sql = "SELECT * FROM tc_companionship AS tcp JOIN (tc_family AS tf, tc_individual AS ti) WHERE tcp.companionship=tf.companionship AND tf.individual=ti.individual AND tcp.valid=1"; + $sandbox_table_data .= ""; + } + + # get each companionship in each district + $sandbox_table_data .= ""; + for ($d = 0; $d < $num_districts; $d++) { + $sandbox_table_data .= ""; } + $sandbox_table_data .= ""; + + $sandbox_table_data .= "
District " . $districts[$d] . "
"; + $sandbox_table_data .= ""; + $sql = "SELECT DISTINCT companionship FROM tc_companionship_sandbox WHERE district=$districts[$d] ORDER BY companionship ASC"; $this->db->query($sql,__LINE__,__FILE__); while ($this->db->next_record()) { - $name = $this->db->f('name'); - $this->t->set_var('name',$name); + $sandbox_table_data .= ""; } - $this->t->fp('dt_list','district_table_list',True); + $sandbox_table_data .= "
"; + $companionship = $this->db->f('companionship'); + # get names of companions in this companionship + $sql = "SELECT * FROM tc_companion_sandbox AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND companionship=$companionship ORDER BY ti.name ASC"; + $this->db2->query($sql,__LINE__,__FILE__); + $companion_names = ""; + while ($this->db2->next_record()) { + if ($companion_names == "") { + $companion_names .= $this->db2->f('name'); + } else { + $companion_names .= " / " . $this->db2->f('name'); + } + } + $sandbox_table_data .= ""; + $sandbox_table_data .= ""; + $sandbox_table_data .= "
$companion_names
"; + + # get families they visit + $sql = "SELECT * FROM tc_companionship_sandbox AS tcp JOIN (tc_family_sandbox AS tf, tc_individual AS ti) WHERE tcp.companionship=$companionship AND tcp.companionship=tf.companionship AND tf.individual=ti.individual"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + $family_name = $this->db2->f('name') . " Family"; + $family_id = $this->db2->f('tc_family'); + $sandbox_table_data .= ""; + $sandbox_table_data .= ""; + + # get 12 months visit data for given family + for($m=12; $m >= 0; $m--) { + $month = $this->current_month - $m; + $year = $this->current_year; + if($month <= 0) { $remainder = $month; $month = 12 + $remainder; $year=$year-1; } + if($month < 10) { $month = "0"."$month"; } + $month_start = "$year"."-"."$month"."-"."01"; + $month_end = "$year"."-"."$month"."-"."31"; + $month = "$month"."/"."$year"; + + $sql = "SELECT * FROM tc_visit WHERE date >= '$month_start' AND date <= '$month_end' AND companionship!=0 AND family=". $family_id; + $query_id = $this->db3->query($sql,__LINE__,__FILE__); + + if($this->db3->next_record()) { + if($this->db3->f('visited') == 'y') { + $sandbox_table_data .= ""; + } else if($this->db3->f('visited') == 'n') { + $sandbox_table_data .= ""; + } else { + $sandbox_table_data .= ""; + } + } else { + $sandbox_table_data .= ""; + } + } + $sandbox_table_data .= ""; + } + $sandbox_table_data .= "
$family_name  
"; + $sandbox_table_data .= "
"; + $this->t->set_var('district_table',$sandbox_table_data); $this->t->pfp('out','ht_sandbox_t'); $this->save_sessiondata();