#!/usr/local/bin/perl 
#
# MODULE: hd-close.pl 
# AUTHOR: Ron Shalhoup (ron@captech.com)
# PURPOSE: Generate and/or process form for viewing 
#          and re-opening closed CallTracks.
#

require "./hd-lib.pl";

MAIN:
{
    # The CGI data
    &ReadParse(%in);

    $date = &GetDate;

    # If a CallTrack was selected, then we know to process form.
    if (defined($in{'CLOSED'})) {
        &process_closed_form;
    }

    # Generate HTML-code for form.
    print &PrintHeader;
    &Generate_HTML_Header("close");
    &Generate_Closed_Table;
    print "<INPUT TYPE=SUBMIT VALUE=REOPEN>\n";
    &Generate_HTML_Footer;
}

sub process_closed_form {

    $fname = $in{'CLOSED'};
    if (-e "$DATADIR/$fname") {
    ($subject,$user,$id,$closed_date,$assigned,$closed) = split(/\./, $fname);
        $submitter = $user;
        $submitter =~ s/__/./g;
        open(INFILE, "<$DATADIR/$fname") || die "Unable to open \
                                                 $DATADIR/$fname\n";
        while(<INFILE>) {
            if (/^<[^\/]/) {
                $header = $header . $_;
            } elsif (/^<[\/]/) {
                $footer = $footer . $_;
            } elsif (/^Closed By:/) {
                $message = $message . $_;
                $message = $message . "Date Reopened:    $date\n";
            } elsif (/^CC:\b/) {
                /^CC:\b(.*)/;
                $cclist = $1;
                $message = $message . $_;
            } else {
                $message = $message . $_;
            }
        }
        close(INFILE);
        $new_ctfile = "$DATADIR/$subject.$user.$id.$date.html";
        open(CTFILE, ">$new_ctfile");
        if (defined $in{'CCLIST'}) {
            open(MAILER, "|$MAILER -s 'CT#$id $subject' -c $in{'CCLIST'} 
                          $submitter $in{'ENGINEER'}");
        } else {
            open(MAILER, "|$MAILER -s 'CT#$id $subject' $submitter \
                          $in{'ENGINEER'}");
        }
        print CTFILE $header;
        print CTFILE $message;
        print CTFILE $footer;
        print MAILER $message;
        close(CTFILE);
        close(MAILER);
        unlink("$DATADIR/$fname");
    }
}

sub Generate_Closed_Table {

    print "<H2>Closed CallTracks:</H2>\n";
    print "<TABLE BORDER=4 CELLPADDING=4>\n";
    print "<TH ALIGN=LEFT>CT ID#<TH ALIGN=CENTER>Description
           <TH ALIGN=CENTER>Submitted By<TH ALIGN=CENTER>Assigned To
           <TH ALIGN=CENTER>Closed By<TH ALIGN=CENTER>Date Closed\n";
    @filelist = `/bin/ls $DATADIR`;
    foreach $i (@filelist) {
        chop($i);
        ($subject,$user,$id,$date,$assigned,$closed,$suffix) = split(/\./, $i);
        if (! defined $closed || $closed eq "html") {
            next;
        } 
        $ct_closed{$id} = \
          "$subject.$user.$id.$date.$assigned.$closed.html";
    }
    for (sort {$a <=> $b} keys %ct_closed) {
        ($subject,$user,$id,$date,$assigned,$closed,$suffix) = 
            split(/\./, $ct_closed{$_});
        $submitter = $user;
        $submitter =~ s/__/./g;
        $subject =~ tr/_/ /;
        print "<TR><TD ALIGN=LEFT><INPUT TYPE=RADIO NAME=CLOSED 
               VALUE=$ct_closed{$_ }>\t\t$id <TD ALIGN=CENTER>
               <A HREF=\"$APP_DATADIR/$ct_closed{$_}\">$subject </A>
               <TD ALIGN=CENTER>$submitter <TD ALIGN=CENTER>$assigned
               <TD ALIGN=CENTER>$closed<TD ALIGN=CENTER>$date";
    }
    print "</TABLE>\n";
    print "<P>\n";
}

# End of File


