X-Git-Url: http://git.pippins.net/embedvideo/.git/static/git-logo.png?a=blobdiff_plain;f=inc%2Fclass.tc.inc.php;h=630fe14ec1526a47f9d7aad2c2294454df6a10d7;hb=ea8cefec49ed49ffb2f9d08885368daca684abec;hp=883884f76abfc8aab0ca4e2d608ac592f5e28a1f;hpb=4c8106c717ade1fb6854922662ff87e7ff262c08;p=eq%2F.git diff --git a/inc/class.tc.inc.php b/inc/class.tc.inc.php index 883884f..630fe14 100644 --- a/inc/class.tc.inc.php +++ b/inc/class.tc.inc.php @@ -401,6 +401,7 @@ class tc function ht_sandbox() { $this->t->set_file(array('ht_sandbox_t' => 'ht_sandbox.tpl')); + $this->t->set_block('ht_sandbox_t','switch_case_list','sc_list'); $this->t->set_block('ht_sandbox_t','comp_list','c_list'); $this->t->set_block('ht_sandbox_t','district_list','d_list'); $this->t->set_block('ht_sandbox_t','unassigned_ht_list','uht_list'); @@ -411,7 +412,8 @@ class tc $this->t->set_block('ht_sandbox_t','companionship_table_list','ct_list'); $this->t->set_var('submit_action',$GLOBALS['phpgw']->link('/tc/index.php','menuaction=tc.tc.ht_sandbox&action=add')); - + $this->t->set_var('jquery_url',$GLOBALS['phpgw']->link('inc/jquery.js')); + $action = get_var('action',array('GET','POST')); $this->t->set_var('title','Hometeaching Sandbox'); @@ -561,6 +563,8 @@ class tc $this->db3->query($sql,__LINE__,__FILE__); } } + } else if ($_POST['changes']) { + $this->ht_sandbox_changes(); } // get list of companionships @@ -651,8 +655,16 @@ class tc $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()) { + $switch_case_list = ""; $sandbox_table_data .= ""; $companionship = $this->db->f('companionship'); + + $switch_case_list .= "case '". $companionship ."':\n"; + $switch_case_list .= " $(\"#district option:selected\").removeAttr(\"selected\");\n"; + $switch_case_list .= " $(\"#assignedHT option:selected\").removeAttr(\"selected\");\n"; + $switch_case_list .= " $(\"#assignedFamilies option:selected\").removeAttr(\"selected\");\n"; + $switch_case_list .= " $(\"#district option[value='".$districts[$d]."']\").attr(\"selected\",true);\n"; + # 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__); @@ -663,9 +675,13 @@ class tc } else { $companion_names .= " / " . $this->db2->f('name'); } + $individual = $this->db2->f('individual'); + $switch_case_list .= " $(\"#assignedHT option[value='".$individual."']\").attr(\"selected\",true);\n"; } - $sandbox_table_data .= ""; - $sandbox_table_data .= ""; + $switch_case_list .= "break;\n"; + $this->t->set_var('switch_case_list',$switch_case_list); + $this->t->fp('sc_list','switch_case_list',True); } - $sandbox_table_data .= "
$companion_names
"; + $this->nextmatchs->template_alternate_row_color(&$this->t); + $sandbox_table_data .= ""; + $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"; @@ -673,12 +689,15 @@ class tc while ($this->db2->next_record()) { $family_name = $this->db2->f('name') . " Family"; $family_id = $this->db2->f('tc_family'); + $family = $this->db2->f('family'); $tc_companionship = $this->db2->f('tc_companionship'); - $sandbox_table_data .= ""; + $this->nextmatchs->template_alternate_row_color(&$this->t); + $sandbox_table_data .= ""; $sandbox_table_data .= ""; - + $switch_case_list .= " $(\"#assignedFamilies option[value='".$family."']\").attr(\"selected\",true);\n"; + # get 12 months visit data for given family - for($m=$this->sandbox_stats_num_months; $m >= 0; $m--) { + for($m=$this->sandbox_stats_num_months; $m > 0; $m--) { $month = $this->current_month - $m; $year = $this->current_year; if($month <= 0) { $remainder = $month; $month = 12 + $remainder; $year=$year-1; } @@ -710,8 +729,10 @@ class tc } $sandbox_table_data .= "
$family_name
"; $sandbox_table_data .= ""; } @@ -723,7 +744,162 @@ class tc $this->t->pfp('out','ht_sandbox_t'); $this->save_sessiondata(); } - + + function ht_sandbox_changes() + { + $email_contents = "Please review the following changes to home teaching.\r\n\r\n"; + // list all companionships deleted + $email_contents .= "Removed Companionships\r\n\r\n"; + $sql = "SELECT * FROM tc_companionship WHERE companionship NOT IN (SELECT tc_companionship FROM tc_companionship_sandbox) AND valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $companionship = $this->db->f('companionship'); + $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.individual=ti.individual AND tc.companionship=$companionship"; + $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'); + } + } + $email_contents .= "\t$companion_names\r\n"; + } + $email_contents .= "\r\n"; + + // list all companionships added + $email_contents .= "New Companionships\r\n\r\n"; + $sql = "SELECT * FROM tc_companionship_sandbox WHERE tc_companionship=0"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $companionship = $this->db->f('companionship'); + $sql = "SELECT * FROM tc_companion_sandbox AS tcs JOIN tc_individual AS ti WHERE tcs.individual=ti.individual AND tcs.companionship=$companionship"; + $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'); + } + } + $email_contents .= "\t$companion_names\r\n"; + $sql = "SELECT * FROM tc_family_sandbox AS tfs JOIN tc_individual AS ti WHERE tfs.individual=ti.individual AND companionship=$companionship"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + $family_name = $this->db2->f('name') . " Family"; + $email_contents .= "\t\t$family_name\r\n"; + } + } + $email_contents .= "\r\n"; + + // list all companionships with changes + $email_contents .= "Modified Companionships\r\n\r\n"; + $sql = "SELECT tcps.* FROM tc_companionship AS tc JOIN tc_companionship_sandbox AS tcps WHERE tc.companionship=tcps.tc_companionship AND tc.valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $companionship = $this->db->f('companionship'); + $tc_companionship = $this->db->f('tc_companionship'); + $companionship_changed = 0; + + // get current companion list + $sql = "SELECT * FROM tc_companion_sandbox AS tc JOIN tc_individual AS ti WHERE tc.companionship=$companionship AND tc.individual=ti.individual"; + $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'); + } + } + + // list removed companions + $sql = "SELECT * FROM tc_companion AS tc JOIN tc_individual AS ti WHERE tc.companionship=$tc_companionship AND tc.individual=ti.individual AND tc.individual NOT IN (SELECT individual FROM tc_companion_sandbox WHERE companionship=$companionship)"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($companionship_changed == 0) { + $companionship_changed = 1; + $email_contents .= "\t$companion_names\r\n"; + } + $name = $this->db2->f('name'); + $email_contents .= "\t\tremoved $name as a companion\r\n"; + } + + // list added companions + $sql = "SELECT * FROM tc_companion_sandbox AS tcs JOIN tc_individual AS ti WHERE tcs.companionship=$companionship AND tcs.individual=ti.individual AND tcs.individual NOT IN (SELECT individual FROM tc_companion WHERE companionship=$tc_companionship)"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($companionship_changed == 0) { + $companionship_changed = 1; + $email_contents .= "\t$companion_names\r\n"; + } + $name = $this->db2->f('name'); + $email_contents .= "\t\tadded $name as a companion\r\n"; + } + + // list removed families + $sql = "SELECT * FROM tc_family AS tf JOIN tc_individual AS ti WHERE tf.individual=ti.individual AND tf.companionship=$tc_companionship AND tf.family NOT IN (SELECT tc_family FROM tc_family_sandbox WHERE companionship=$companionship)"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($companionship_changed == 0) { + $companionship_changed = 1; + $email_contents .= "\t$companion_names\r\n"; + } + $name = $this->db2->f('name'); + $email_contents .= "\t\tremoved $name Family\r\n"; + } + + // list added families + $sql = "SELECT * FROM tc_family_sandbox AS tfs JOIN tc_individual AS ti WHERE tfs.individual=ti.individual AND tfs.companionship=$companionship AND tfs.individual NOT IN (SELECT individual FROM tc_family WHERE companionship=$tc_companionship)"; + $this->db2->query($sql,__LINE__,__FILE__); + while ($this->db2->next_record()) { + if ($companionship_changed == 0) { + $companionship_changed = 1; + $email_contents .= "\t$companion_names\r\n"; + } + $name = $this->db2->f('name'); + $email_contents .= "\t\tadded $name Family\r\n"; + } + } + $email_contents .= "\r\n"; + + // email changes to presidency + $sql = "SELECT DISTINCT tp.email AS email1, ti.email AS email2 FROM tc_presidency AS tp JOIN tc_individual AS ti WHERE tp.individual=ti.individual AND (tp.president=1 OR tp.counselor=1 OR tp.secretary=1) AND tp.valid=1"; + $this->db->query($sql,__LINE__,__FILE__); + while ($this->db->next_record()) { + $email = ""; + if ($this->db->f('email1') != "") { + $email = $this->db->f('email1'); + } else { + $email = $this->db->f('email2'); + } + if ($to == "") { + $to .= $email; + } else { + $to .= ", $email"; + } + } + $sql = "SELECT DISTINCT tp.email AS email1, ti.email AS email2 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()) { + if ($this->db->f('email1') != "") { + $from = $this->db->f('email1'); + } else { + $from = $this->db->f('email2'); + } + } else { + $from = "president@3rdcounselor"; + } + $subject = "HomeTeaching Changes"; + $message .= "$email_contents"; + $headers = "From: $from\r\n" . + "Reply-To: $from\r\n" . + "X-Mailer: PHP/" . phpversion(); + + mail($to, $subject, $message, $headers); + } function ht_update() {