#!/usr/bin/perl
#  Copyright 2001-2026 Leslie Richardson

#  This file is part of Open Admin for Schools.

# View UFLI Placement Records


my %lex = ('Main' => 'Main',
	   'Error' => 'Error',
	   'Continue' => 'Continue',
	   'Start Date' => 'Start Date',
	   'End Date' => 'End Date',

	   );

use DBI;
use CGI;
use Cwd;

my $self = 'ufliView.pl';

my $editScript = './ufliEdit.pl';
my $deleteScript = './ufliDelete.pl';

my @fields = ('shortvowels','digraphs','vce','longerwords','endspellpat','rctrlvowels','longvowelteams',
	      'othervowels','dipsilent','suffixprefix','addaffix');

my %fieldtext = ('shortvowels' => 'Short Vowels','digraphs' => 'Digraphs','vce' => 'VCe',
		 'longerwords' => 'Longer Words','endspellpat' => 'Ending Spelling Patterns',
		 'rctrlvowels' => 'R-Controlled Vowels','longvowelteams' => 'Long Vowel Teams',
		 'othervowels' => 'Other Vowels','dipsilent' => 'Diphthongs &amp; Silent Letters',
		 'suffixprefix' => 'Suffixes &amp; Prefixes','addaffix' => 'Additional Affixes');


my $prepath = q{../..};
if ( getcwd() =~ /ecgi/ ) { # we are in ecgi
    $prepath = q{..};
}

eval require "$prepath/etc/admin.conf";
if ( $@ ) {
    print $lex{Error}. " $self: $@<br>\n";
    die $lex{Error}. "$self: $@\n";
}


# Get current dir so know what CSS to display and shift settings.
if ( getcwd() !~ /tcgi/ ) { # we are in cgi, not teacher tcgi. NOTE: negative match
    $tchcss = $css;
    $tchpage = $homepage;
}

if ( getcwd() =~ /ecgi/ ) {
    $tchcss = $eacss;
    $tchpage = $eapage;
}
    


my $q = new CGI;
print $q->header( -charset, $charset);
my %arr = $q->Vars;

my $userid = $ENV{'REMOTE_USER'};

my $dsn = "DBI:$dbtype:dbname=$dbase";
my $dbh = DBI->connect($dsn,$user,$password);


# Page Header
my $title = qq{View UFLI Placement Records};
print qq{$doctype\n<html><head><title>$title</title>\n}; 
print qq{<link rel="stylesheet" href="$tchcss" type="text/css">\n};

if ( not $arr{page} ) { # calendar popup.
    print qq{<link rel="stylesheet" type="text/css" media="all" };
    print qq{href="/js/calendar-blue.css" title="blue">\n};
    print qq{<script type="text/javascript" src="/js/calendar.js"></script>\n};
    print qq{<script type="text/javascript" src="/js/lang/calendar-en.js"></script>\n};
    print qq{<script type="text/javascript" src="/js/calendar-setup.js"></script>\n};
}


print qq{$chartype\n</head><body style="padding:1em 2em;">\n};

print qq{[ <a href="$tchpage">$lex{Main}</a> ]\n};
print qq{<h1>$title</h1>\n};


if ( not $arr{page} ) {
    showStartPage();

} elsif ( $arr{page} == 1 ) {
    delete $arr{page};
    showUfliRecords();
}


#----------
sub fmtDate {
#----------

    my ( $year, $mon, $day ) = split /-/, shift;
    return "$year-$s_month[$mon]-$day";
}



#----------------
sub showStartPage {
#----------------

    # foreach my $key ( sort keys %arr ) { print "K:$key V:$arr{$key}<br>\n"; }


    my $sth = $dbh->prepare("select distinct tgrade from fp_ufli_test where tgrade is not NULL and tgrade != ''
       order by tgrade");
    $sth->execute;
    
    my $sth1 = $dbh->prepare("select count(*) from fp_ufli_test where tgrade = ? ");

    my $first = 1;
    while ( my $grade = $sth->fetchrow ) {
#	print qq{<div>Grade:$grade</div>\n};

	if ( $first ) {
	    print qq{<table cellspacing="0" border="1" cellpadding="3">\n};
	    print qq{<tr><th>Test<br>Grade</th><th># Recs</th></tr>\n};
	    $first = 0;
	}
	
	# Count Records for each grade
	$sth1->execute($grade);
	if ($DBI::errstr){ print $DBI::errstr; die $DBI::errstr; }
	my $count = $sth1->fetchrow;
	
	print qq{<tr><td class="bla">};
	print qq{<form action="$self" method="post">\n};
	print qq{<input type="hidden" name="page" value="1">\n};
	print qq{<input type="hidden" name="grade" value="$grade">\n};
	
	print qq{<input type="submit" value="Grade $grade"></form>\n};
	print qq{</td><td class="bcn">$count</td></tr>\n};
    }

    if ( $first ) {
	print qq{<h3>No Records Found</h3>\n};
    } else { # close table
        print qq{</table>\n};
    }
    
    print qq{</body></html>\n};

    exit;

}


#---------------
sub showUfliRecords {
#---------------

    # foreach my $key ( sort keys %arr ) { print qq{K:$key V:$arr{$key}<br>\n}; }
    # just passed grade
    
    my $grade = $arr{grade};

    print qq{<h3>Grade $grade</h3>\n};
    
    my $sth = $dbh->prepare("select * from fp_ufli_test where tgrade = ? ");
    $sth->execute($grade);
    if ($DBI::errstr){ print $DBI::errstr; die $DBI::errstr; }

    my $sth1 = $dbh->prepare("select lastname, firstname from studentall3 where studnum = ?");
    
    while ( my $ref = $sth->fetchrow_hashref ) {
	my %r = %$ref;
	
#	foreach my $key ( sort keys %r ) {
#	    print qq{<div>K:$key VAL:$r{$key}</div>\n};
#	}

	
	$sth1->execute($r{studnum});
	if ($DBI::errstr){ print $DBI::errstr; die $DBI::errstr; }
	my ($ln,$fn) = $sth1->fetchrow;
	
	
	# Start Table
	print qq{<table cellpadding="4" cellspacing="0" border="1" };
	print qq{style="border:1px solid gray;float:left;margin:0.5em;">\n};

	print qq{<tr><th colspan="2">$fn $ln $r{tdate}</th></tr>\n};

	foreach my $field ( @fields ) {
	    print qq{<tr><td class="bra">$fieldtext{$field}</td><td style="padding:8px;">$r{$field}</td></tr>\n};
	}

	# Edit / Delete
	print qq{<tr><td colspan="2" class="cn">};
	
	print qq{<form action="$editScript" method="post" style="display:inline;" target="_blank">\n};
	print qq{<input type="hidden" name="id" value="$r{id}">\n};
	print qq{<input type="submit" value="Edit"></form>\n};

	print qq{<form action="$deleteScript" method="post" style="display:inline;" target="_blank">\n};
	print qq{<input type="hidden" name="id" value="$r{id}">\n};
	print qq{<input type="submit" value="Delete"></form>\n};
	
	print qq{ in New Tab</td></tr>\n};
	print qq{</table>\n\n};
    
    }

    
    print qq{<p style="clear:left;">[ <a href="$self">View Other Grades</a> ]\n};
    print qq{</body></html>\n};

    exit;

} # end of showUfliRecords
