--- loncom/interface/loncommon.pm	2001/11/29 23:16:29	1.10
+++ loncom/interface/loncommon.pm	2001/12/11 13:51:38	1.13
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common routines
 #
-# $Id: loncommon.pm,v 1.10 2001/11/29 23:16:29 albertel Exp $
+# $Id: loncommon.pm,v 1.13 2001/12/11 13:51:38 harris41 Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -25,7 +25,9 @@
 #
 # http://www.lon-capa.org/
 #
-# 2/13 Guy Albertelli
+# YEAR=2001
+# 2/13-12/7 Guy Albertelli
+# 12/11 Scott Harrison
 
 # Makes a table out of the previous attempts
 # Inputs result_from_symbread, user, domain, course_id
@@ -37,6 +39,49 @@ use POSIX qw(strftime);
 use Apache::Constants qw(:common);
 use Apache::lonmsg();
 
+my %language;
+my %cprtag;
+my %fe; my %fd;
+
+# ----------------------------------------------------------------------- BEGIN
+sub BEGIN {
+# ------------------------------------------------------------------- languages
+    {
+	my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}.
+				 '/language.tab');
+	while (<$fh>) {
+	    next if /^\#/;
+	    chomp;
+	    my ($key,$val)=(split(/\s+/,$_,2));
+	    $language{$key}=$val;
+	}
+    }
+# ------------------------------------------------------------------ copyrights
+    {
+	my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}.
+				 '/copyright.tab');
+	while (<$fh>) {
+	    next if /^\#/;
+	    chomp;
+	    my ($key,$val)=(split(/\s+/,$_,2));
+	    $cprtag{$key}=$val;
+	}
+    }
+# ------------------------------------------------------------------ file types
+    {
+	my $fh=Apache::File->new("$perlvar{'lonTabDir'}/filetypes.tab");
+	while (<$fh>) {
+	    next if (/^\#/);
+	    chomp;
+	    my ($ending,$emb,$descr)=split(/\s+/,$_,3);
+	    if ($descr ne '') { 
+		$fe{$ending}=lc($emb);
+		$fd{$ending}=join(' ',@descr);
+	    }
+	}
+    }
+}
+
 sub get_previous_attempt {
   my ($symb,$username,$domain,$course)=@_;
   my $prevattempts='';
@@ -98,6 +143,32 @@ sub get_student_view {
   &Apache::lonnet::appenv(%moreenv);
   my $userview=&Apache::lonnet::ssi('/res/'.$feedurl);
   &Apache::lonnet::delenv('form.grade_');
+  foreach my $element (@elements) {
+    $ENV{'form.grade_'.$element}=$old{$element};
+  }
+  $userview=~s/\<body[^\>]*\>//gi;
+  $userview=~s/\<\/body\>//gi;
+  $userview=~s/\<html\>//gi;
+  $userview=~s/\<\/html\>//gi;
+  $userview=~s/\<head\>//gi;
+  $userview=~s/\<\/head\>//gi;
+  $userview=~s/action\s*\=/would_be_action\=/gi;
+  return $userview;
+}
+
+sub get_student_answers {
+  my ($symb,$username,$domain,$courseid) = @_;
+  my ($map,$id,$feedurl) = split(/___/,$symb);
+  my (%old,%moreenv);
+  my @elements=('symb','courseid','domain','username');
+  foreach my $element (@elements) {
+    $old{$element}=$ENV{'form.grade_'.$element};
+    $moreenv{'form.grade_'.$element}=eval '$'.$element #'
+  }
+  $moreenv{'form.grade_target'}='answer';
+  &Apache::lonnet::appenv(%moreenv);
+  my $userview=&Apache::lonnet::ssi('/res/'.$feedurl);
+  &Apache::lonnet::delenv('form.grade_');
   foreach my $element (@elements) {
     $ENV{'form.grade_'.$element}=$old{$element};
   }